Apt Pinning sicuro con Debian Testing-Unstable-Experimental

 

Apt Pinning sicuro con Debian Testing-Unstable-Experimental

Apt Pinning sicuro con Debian Testing-Unstable-Experimental

Per avere una Debian sempre aggiornata con gli ultimi pacchetti, si può rimanere alla versione testing o per i più temerari addirittura in Sid/unstable. Se addirittura si volesse far convivere simultaneamente tutti e tre i repository, testing/unstable/experimental si può utilizzare il pinning:

Aggiornare il sistema:

# apt update; apt upgrade -y
# apt dist-upgrade -y

Aggiungere i repository:

# nano /etc/apt/sources.list

inserire:

## Debian Testing
deb http://httpredir.debian.org/debian/ testing main non-free contrib
deb-src http://httpredir.debian.org/debian/ testing main non-free contrib

## Debian Security
deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free

## Debian Sid/Unstable
deb http://ftp.it.debian.org/debian unstable main contrib non-free

## Debian experimental
deb http://ftp.it.debian.org/debian experimental main contrib non-free
# apt update

creazione dei due files che indicano quali sono le nostre preferenze per il pinning:

# nano /etc/apt/apt.conf.d/apt.conf

ed inserire:

APT::Default-Release "testing";
APT::Cache-Limit 65000000;
Apt::Get::Purge;
APT::Clean-Installed;
APT::Get::Fix-Broken;
APT::Get::Fix-Missing;
APT::Get::Show-Upgraded "true";
# nano /etc/apt/preferences

ed inserire:

Package: *
Pin: release a=testing
Pin-Priority: 750

Package: *
Pin: release n=sid
Pin-Priority: 700

Package: *
Pin: release a=experimental
Pin-Priority: 650
# apt update; apt upgrade

per installare un pacchetto dal ramo unstable:

# apt install -t unstable firefox

per conoscere da quale ramo è stato installato un pacchetto:

# apt install apt-show-versions
# apt-show-versions -b|awk 'BEGIN{FS="/"}$2=="testing"'
# apt-show-versions -b|awk 'BEGIN{FS="/"}$2=="unstable"'

Apt Pinning sicuro con Debian Testing-Unstable-Experimental

enjoy 😉

Eliminare le traduzioni dei repository in apt-get update

 

Questo trucchetto servirà, non servirà….bohhhhh???… comunque se si volesse "velocizzare" apt-get update e quindi rinunciare alle traduzioni dei repository, evitando stringhe come quelle sotto:

 

Trovato http://ftp.it.debian.org sid/main Translation-zh/DiffIndex            
Trovato http://ftp.it.debian.org sid/main Translation-eo/DiffIndex            
Trovato http://ftp.it.debian.org sid/main Translation-hr/DiffIndex            
Trovato http://ftp.it.debian.org sid/main Translation-km/DiffIndex            
Trovato http://ftp.it.debian.org sid/main Translation-nl/DiffIndex            
Trovato http://ftp.it.debian.org sid/main Translation-vi/DiffIndex
Trovato http://ftp.it.debian.org sid/main Translation-nb/DiffIndex            
Trovato http://ftp.it.debian.org sid/main Translation-eu/DiffIndex            
Trovato http://ftp.it.debian.org sid/main Translation-ca/DiffIndex            
Trovato http://ftp.it.debian.org sid/main Translation-ro/DiffIndex            
Trovato http://ftp.it.debian.org sid/main Translation-sr/DiffIndex

 

si possono eseguire questi semplici passi:

 

# touch /etc/apt/apt.conf.d/Notranslations

# echo 'Acquire::Languages "none";' >> /etc/apt/apt.conf.d/Notranslations

 

poi andare in /var/lib/apt/lists e cancellare tutto il contenuto, quindi:

 

# rm /var/lib/apt/lists/*_Translation-*
# apt-get update

 

 

enjoy 😉

Trovare un mirror veloce su Debian Gnu/Linux

 

netselect-apt – analizzatore della velocità per scegliere un mirror Debian veloce

 

# apt-get install netselect-apt

# netselect-apt

 

Risultato:

 

The fastest 10 servers seem to be:

    http://ftp.it.debian.org/debian/
    http://mi.mirror.garr.it/mirrors/debian/
    http://debian.fastbull.org/debian/
    http://mirror.units.it/debian/
    http://ftp.plusline.de/debian/
    http://mirror.i3d.net/pub/debian/
    http://giano.com.dist.unige.it/debian/
    http://ftp.proxad.net/mirrors/ftp.debian.org/
    http://debian.mirror.root.lu/debian/
   

Of the hosts tested we choose the fastest valid for HTTP:
        http://ftp.it.debian.org/debian/

Writing sources.list.
Done.

 

enjoy 😉

(Errore apt) Problem with MergeList /var/lib/apt/lists

 

Questo errore mi è capitato poco fa, dopo aver installato Debian GNU/kFreeBSD testing, ma può succedere con tutte le distro che usano apt. L'errore completo apparso nel terminale, è il seguente:

 

E: MMap dinamica esaurita. Aumentare la dimensione di APT::Cache-Limit. Il valore attuale è: 25165824 (man 5 apt.conf).
Lettura elenco dei pacchetti… Errore
E: MMap dinamica esaurita. Aumentare la dimensione di APT::Cache-Limit. Il valore attuale è: 25165824 (man 5 apt.conf).
E: Si è verificato un errore nell'elaborare grcm (NewFileDesc1)
E: Problem with MergeList /var/lib/apt/lists/debian.fastweb.it_debian_dists_wheezy_main_i18n_Translation-pt
E: L'elenco dei pacchetti o il file di stato non può essere letto o aperto.
 

 

si risolve con:

 

# rm /var/lib/apt/lists/* -vf

# apt-get update

 

 

enjoy 😉

Rimuovere dipendenze dopo apt-get buil-dep

 

Quando si ha bisogno di compilare un programma da sorgenti, si usa il comando apt-get buil-dep, che si occuperà d'installare le dipendenze necessarie. Una volta compilato ed installato il programma, abbiamo ancora tutte le dipendenze installate, se si volessero disinstallare, di seguito farò un esempio con il programma Pino:

 

 

root@Debianbox:/home/edmond# apt-get build-dep pino
Lettura elenco dei pacchetti… Fatto
Generazione albero delle dipendenze      
Lettura informazioni sullo stato… Fatto
I seguenti pacchetti NUOVI saranno installati:
  gir1.2-gtk-2.0 gir1.2-javascriptcoregtk-1.0 gir1.2-notify-0.7
  gir1.2-webkit-1.0 libdbus-glib-1-dev libdbusmenu-glib-dev libdbusmenu-glib3
  libenchant-dev libgee-dev libgtkspell-dev libgtkspell0 libindicate-dev
  libindicate5 libjavascriptcoregtk-1.0-dev libnotify-dev libunique-dev
  libvala-0.10-0 libwebkitgtk-dev valac-0.10
0 aggiornati, 19 installati, 0 da rimuovere e 1 non aggiornati.
È necessario scaricare 3380 kB/3811 kB di archivi.
Dopo quest'operazione, verranno occupati 15,8 MB di spazio su disco.
Continuare [S/n]?

 

sopra vengono mostrate le dipendenze necessarie per Pino.

 

root@Debianbox:/home/edmond# aptitude markauto $(apt-cache showsrc pino | grep Build-Depends | perl -p -e 's/(?:[\[(].+?[\])]|Build-Depends:|,|\|)//g')
I seguenti pacchetti saranno RIMOSSI:                
  cmake{u} cmake-data{u} gir1.2-gtk-2.0{u} gir1.2-javascriptcoregtk-1.0{u}
  gir1.2-notify-0.7{u} gir1.2-webkit-1.0{u} libdbus-glib-1-dev{u}
  libdbusmenu-glib-dev{u} libdbusmenu-glib3{u} libenchant-dev{u}
  libgee-dev{u} libgtkspell-dev{u} libgtkspell0{u} libindicate-dev{u}
  libindicate5{u} libjavascriptcoregtk-1.0-dev{u} libnotify-dev{u}
  libunique-dev{u} libvala-0.10-0{u} libwebkitgtk-dev{u}
  libxmlrpc-core-c3{u} valac-0.10{u}
0 pacchetti aggiornati, 0 installati, 22 da rimuovere e 1 non aggiornati.
È necessario prelevare 0 B di archivi. Dopo l'estrazione, verranno liberati 29,9 MB.

 

invece quà si vedono le dipendenze che non servono più e che quindi verranno disinstallate. Riepilogando quindi i comandi:

 

# apt-get build-dep pino

# aptitude markauto $(apt-cache showsrc pino | grep Build-Depends | perl -p -e 's/(?:[\[(].+?[\])]|Build-Depends:|,|\|)//g')

 

enjoy 😉