* [EMAIL PROTECTED] [EMAIL PROTECTED] [2007-09-25 12:42:29+0400]
Перед $subj возникли 2 вопроса.
1) Есть ли возможность получить общий _размер_ всех пакетов (не просто
список),
которые будут/должны быть обновлены/установлены по aptitude dist-upgrade?
2) Возможно ли ограничить aptitude dist-upgrade на предмет трафика
(размера конечно, не скорости)
или может можно как-то задать/ограничить обновляемые категории, типа
admin, web, utils, devel, x11, ... ?
Писал энное время для себя скрипт. Возможно, Вам пригодится. Там дока в
POD (perldoc deb-update.pl)
Да, с тех пор я, конечно, сменил apt-get на aptitude :)
--
Roman I. Cheplyaka
http://ro-che.info/
#!/usr/bin/perl -w
use strict;
use Getopt::Std;
our $VERSION = '1.0';
our ($opt_y, $opt_q, $opt_f, $opt_c, $opt_d);
getopts('yqdf:c:');
print Getting;
print first $opt_c if $opt_c;
print packages;
print which match filter $opt_f if $opt_f;
print .\n;
# Getting list of packages
my $apt_get = $opt_d ? 'dist-upgrade' : 'upgrade';
open APT, apt-get -s $apt_get| or die Cannot access apt-get: $!\n;
my @packages;
while (APT)
{
next unless /^Inst (\S*)/;
my $cur_package = $1;
next if $opt_f ($cur_package !~ /$opt_f/oi);
push @packages, $cur_package;
last if $opt_c (@packages = $opt_c);
}
close APT;
# Printing info
unless (@packages)
{
print Sorry, no packages found.\n unless $opt_q;
exit;
}
unless ($opt_q)
{
print I've found . scalar @packages . packages:\n;
print join(\n, @packages), \n;
}
unless ($opt_q || $opt_y)
{
print Do you want to continue [Y/n]?\n;
my $answer = STDIN;
chomp $answer;
if ($answer ($answer !~ /^y/i))
{
exit;
}
}
exec apt-get, 'install', @packages;
=pod
=head1 NAME
Deb-Update -- partially update your Debian distro
=head1 SYNOPSIS
Bdeb-update.pl [Ioptions]
=head1 DESCRIPTION
I have no ability to keep my PC running for a days, so I'm afraid of Bapt-get upgrade command which suggests me to update thousand of packages. Bdeb-update is intended to make it easy to partially update the distro. You can specify regex filter for packages and maximum number of them to be updated.
=head1 OPTIONS
=over 5
=item B-f IFILTER
Select only packages that match Perl regex IFILTER.
=item B-c ICOUNT
Select only first ICOUNT packages.
=item B-y
Do not ask stupid questions.
=item B-q
Be quiet.
=item B-d
Use Bapt-get dist-upgrade instead of Bapt-get upgrade when looking for packages to upgrade.
=back
=head1 NOTE
Bdeb-update.pl invokes Bapt-get, so perhaps you'll want to run it as root.
=head1 LICENSE
Lperlartistic
=head1 AUTHOR
Roman Cheplyaka Elt[EMAIL PROTECTED]gt
=cut
signature.asc
Description: Digital signature