Come evitare l'aggiornamento di un pacchetto (es. kernel)

Questo può essere molto comodo per evitare, ad esempio, l'aggiornamento accidentale del kernel o di altri pacchetti che non vogliamo sostituire, magari perchè modificati a nostro piacimento.
Supponiamo di avere i seguenti kernel installati da pacchetto ufficiale debian
dpkg -l | grep linux-image | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description ii linux-image-2.6-amd64 2.6.18+6etch3 Linux kernel 2.6 image on AMD64 ii linux-image-2.6.18-6-amd64 2.6.18.dfsg.1-18etch1 Linux 2.6.18 image on AMD64Facendo un :
apt-get dist-upgrade -u The following packages will be upgraded: apache2 apache2-mpm-prefork apache2-utils apache2.2-common cupsys cupsys-bsd cupsys-client cupsys-common debconf debconf-i18n grub initramfs-tools initscripts libcupsimage2 libcupsys2 libfreetype6 libgd-tools libgd2-xpm libkrb53 libqt3-mt libtiff4 libxml2 linux-image-2.6.18-6-amd64 locales openssh-client openssh-server phpmyadmin proftpd selinux-policy-refpolicy-targeted ssh sysv-rc sysvinit sysvinit-utils tzdata 34 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 40.1MB of archives. After unpacking 1122kB disk space will be freed. Do you want to continue [Y/n]?Come si può notare tra i pacchetti da aggiornare c'è proprio il kernel. Io preferisco sempre evitare aggiornamenti non necessari del kernel ed opto sempre per la regola: "se va, lascialo stare".
C'è anche da dire che aumentano sempre piu le occasioni in cui l'installazione di un nuovo kernel genera noie: vmware si arrabbia, i driver nvidia si arrabbiano etc.
Apt è molto ben documentato da debian. La guida ufficiale si trova qui.
Grazie al "pinning" apt può essere configurato per tralasciare gli aggiornamenti riguardanti uno o più pacchetti. In realtà ci si possono fare molte altre cose ma mi limito a questo.
Si edita il file /etc/apt/preferences. Se non esiste lo si crea:
vim /etc/apt/preferences Package: linux-image-2.6.18-6-amd64 Pin: version 2.6.18.dfsg.1-18etch1 Pin-Priority: 1001 Package: linux-image-2.6-amd64 Pin: version 2.6.18+6etch3 Pin-Priority: 1001rilanciando il comando:
apt-get dist-upgrade -u The following packages will be upgraded: apache2 apache2-mpm-prefork apache2-utils apache2.2-common cupsys cupsys-bsd cupsys-client cupsys-common debconf debconf-i18n grub initramfs-tools initscripts libcupsimage2 libcupsys2 libfreetype6 libgd-tools libgd2-xpm libkrb53 libqt3-mt libtiff4 libxml2 locales openssh-client openssh-server phpmyadmin proftpd selinux-policy-refpolicy-targeted ssh sysv-rc sysvinit sysvinit-utils tzdata 33 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 23.2MB of archives. After unpacking 1122kB disk space will be freed. Do you want to continue [Y/n]?ecco che il pacchetto linux-image-2.6.18-6-amd64 non risulta più aggiornabile e la versione 2.6.18.dfsg.1-18etch1 correntemente installata non verrà piu aggiornata fino a quando non verrà modificato il file preferences.
E' importante specificare Pin-Priority: 1001. Dal manuale infatti si legge:
-
La versione 0.4.99 di sylpheed non sarà mai sostituita da apt. Se disponibile apt installerà la versione 0.4.99 anche sostituendo una versione successiva del pacchetto già installata. Solo i pacchetti con priorità superiore a 1000 possono far retrocedere un pacchetto già installato.
1001
Già che si parla di gestione di apt, aggiungo una nota a parte:
se voglio posso vedere la cronologia delle installazioni avvenute sul sistema mediante apt-get:
ls -lart /var/lib/dpkg/info | awk {'print $6" "$7"\t"$8'}- Blog di dam
- Login o registrati per inviare commenti
- 2409 letture
Versione stampabile

















