J'ai r�alis� un petit script pour sauvegarder mon r�pertoire:
/var/cache/apt/archives/
il est en perl. J'ai pens� que cela pouvait vous int�resser.
il s'agit de la version version 0.5.
Il est donc n�cessaire de modifier la ligne $rep_sauv.
Il s'agit du r�pertoire de sauvegarde.
et de la ligne my $nom
Il s'agit du non du CD une fois grav�.

Pour terminer, un petit 
apt-get autoclean
sauv_package

et il ne vous reste plus qu'a graver le r�pertoire de sauvegarde sur un
CD.

Voici le script, qu'il vous suffit de recopier et de copier dans
/usr/local/bin/sauv_package
******************************D�but Script*****************

#!/usr/bin/perl -w
# Cr�ation par Zuthos 2004
# [EMAIL PROTECTED]
# sauv_package
# version 0.5

use strict;
use Getopt::Long;       # module pour accepter les options
use File::Copy;         # module copie de fichier

my $rep="/var/cache/apt/archives/"; # repertoire contenant les packages
my $fichier;
my $rep_sauv="/home/USER/apt";  # repertoire de sauvegarde
my $fich_package="$rep_sauv/Packages";
my $fich_ovver="$rep_sauv/ovver.cache2";
my $fich_ovver_b="$rep_sauv/ovver.cache"; # utile pour cr�er le fichier
package
my $nom="Debian GNU/Linux 3.0 r0 \"Woody\" - UnOfficial i386 Binary-8 
(20040717)"; # nom du futur CD 

my $stat=0;
my @nouv="";

# Cr�ation de l'arborescence de sauvegarde
mkdir $rep_sauv,0777 ;
mkdir "$rep_sauv/.disk",0777;

# cr�ation du fichier info du CD avec le nom du CD
open(INFO,">$rep_sauv/.disk/info");
print INFO $nom ;
close (INFO);

# recuperation de la liste des package
opendir(AR,"$rep") || die "Impossible d'ouvrir $rep : $!";
my @fichiers=grep(/\.deb/i, readdir AR);
close (AR);

# copie de tous les fichiers vers le repertoire de destination
# et pr�paration du fichier de control Package
foreach $fichier (@fichiers) {
        copy("$rep$fichier" , "$rep_sauv/$fichier") || warn "Impossible de 
copier le fichier : $!";
        system("dpkg-deb -I $rep_sauv/$fichier | grep Package: >> $fich_ovver");
        system("dpkg-deb -I >> $rep_sauv/$fichier | grep Priority: >> 
$fich_ovver");
        system("dpkg-deb -I $rep_sauv/$fichier | grep Section: >> $fich_ovver");
        print "$fichier : copi�\n";
        }
##################Cr�ation du fichier Ovver
open(FICHOVVER,"$fich_ovver");
open(FICHOVVERB,">$fich_ovver_b");
while(<FICHOVVER>) {
        if(m/Package:/) {
                $_=substr($_,10,-1);
                print FICHOVVERB "$_ " ;
                }
        if(m/Priority:/) {
                $_=substr($_,11,-1);
                print FICHOVVERB "$_ " ;
                }
        if(m/Section:/) {
                $_=substr($_,10);
                print FICHOVVERB $_ ;
                }
        }

close(FICHOVVERB);
close(FICHOVVER);

#############Cr�ation du fichier Package
system("dpkg-scanpackages $rep_sauv/  $fich_ovver > $fich_package");
system("gzip -c $fich_package > $fich_package.gz");

******************************D�but Script*****************

Voila, en esp�rant que cela sera utile. Bien entendu, vous pouvez
modifier et am�liorer ce script. Pour info, j'ai pr�vu que la version
1.0 permettent de modifier par ligne de commande le non du CD ...

-- 
"Combattre pour la paix, c'est comme niquer pour la chastet�."
Slogan non violent.

Attachment: pgp2s3qbzFAcN.pgp
Description: PGP signature

Répondre à