Archive for the “linux” Category

Nella vita di un sistemista esiste un task piuttosto ripetitivo: ovvero quello di aggiornare i pacchetti (= gli applicativi) installati sul proprio sistema (vuoi perché le versioni recenti dello stesso software dovrebbero essere migliori, più performanti e al riparo dagli ultimi bug di security, etc.).

Nel caso di un sistemista alle prese con un sistema Ubuntu (o Debian), il task [da eseguire ripetutamente] si riduce a:
apt-get update
apt-get dist-upgrade

(o comunque equivalente se usate aptitude).

Ora, per evitare di ripetere il task, i sistemi Ubuntu/Debian mettono a disposizione unattended-upgrades: una volta installato il pacchetto, il sistema provvederà ad aggiornare e installare automaticamente tutte le applicazioni installate nel sistema. Vediamo come installare e configurare passo-passo unattended-upgrades:

  1. apriamo un terminale e installiamo il pacchetto unattended-upgrades: apt-get install unattended-upgrades update-notifier-common
  2. editiamo il file /etc/apt/apt.conf.d/50unattended-upgrades in questo modo:

    Automatically upgrade packages from these (origin, archive) pairs
    Unattended-Upgrade::Allowed-Origins {
    "Ubuntu hardy-security";
    "Ubuntu hardy-updates";
    };

  3. editiamo il file /etc/apt/apt.conf.d/10periodic in questo modo:

    APT::Periodic::Update-Package-Lists "1";
    APT::Periodic::Download-Upgradeable-Packages "1";
    APT::Periodic::AutocleanInterval "1";
    APT::Periodic::Unattended-Upgrade "1";

A questo punto i pacchetti installati nel sistema verranno aggiornati automaticamente.

Nota: è sempre opportuno controllare i log degli aggiornamenti per evitare eventuali problemi. I log degli aggiornamenti si possono trovare, ovviamente, in /var/log/unattended-upgrades

Popularity: 1%

  • Share/Bookmark
Tags: , , , ,

Comments 1 Comment »

A volte può capitare che su certe macchine Ubuntu (o Debian) alcuni pacchetti importanti non debbano essere aggiornati dal gestore di pacchetti (apt-get o aptitude). Le ragioni possono essere le più svariate: incompatibilità, volontà di tenere la versione corrente (!), aggiornamento manuale, etc.

Per fare in modo che un pacchetto non venga mai aggiornato (ovvero che il sistema continui a mantenere la stessa versione del pacchetto installato, bisogna ricorrere alla tecnica del apt pinning, che ci consente di specificare al sistema che un pacchetto (o un gruppo di pacchetti) non deve essere aggiornato e deve essere tenuto “in hold”.

Per fare in modo che un pacchetto non venga aggiornato basta aprire un terminale e digitare:

echo nomepacchetto hold | dpkg --set-selections

dove nomepacchetto è il nome del pacchetto di cui volete che non vengano scaricati aggiornamenti successivi rispetto alla versione installata correntemente.

Per rimuovere il “blocco”, aprite un terminale e digitate:

echo nomepacchetto hold | dpkg --set-selections

dove nomepacchetto è il nome del pacchetto di cui volete che vengano scaricati aggiornamenti successivi rispetto alla versione installata correntemente.

Popularity: 1%

  • Share/Bookmark
Tags: , , , , ,

Comments No Comments »

Per chi utilizza Gentoo Linux e vuole conoscere quali pacchetti (e quindi quali applicazioni) sono installate basta semplicemente installare gentoolkit (emerge app-portage/gentoolkit) e poi utilizzare equery list.

Popularity: 1%

  • Share/Bookmark
Tags: ,

Comments No Comments »

Per quanto riguarda i trasferimenti di files tra servers UNIX, scp è la soluzione ottimale: non richiede di aprire porte (ok, oltre a quella di ssh, ma chi non lo usa oggigiorno?), è sicuro e soprattutto è veloce.

Quando si parla di trasferimenti di grandi files, tuttavia, entra in gioco un fattore molto importante, ovvero il resume del trasferimento; ovvero, la possibilità di poter riprendere il trasferimento di un file dal punto in cui lo si era interrotto. scp non offre la possibilità di effettuare trasferimenti con resume. Per sopperire a questa mancanza, usiamo rsync in questo modo:


rsync -a -v -z --partial –progress --rsh=ssh file_locale username@macchina_remota:/home/username/

Il file_locale (che può essere anche una directory) verrà copiato sulla macchina remota, nella home dell’utente username. Le altre opzioni passate a rsync permettono di avere un output dettagliato e di abilitare la compressione durante il trasferimento.

Si può costruire un alias per questo comando in modo da avere scp in modalità resume, basta semplicemente aggiungere la seguente riga nel file .bashrc, presente nella propria home directory (se usate un’altra shell, come ad es. zsh, confido che sappiate quale file modificare):


alias scpresume='rsync –a –v –z --partial --progress --rsh=ssh'

A questo punto per trasferire un file si procede in questo modo:

  • scp filename username@macchina_remota:/home/username

SE si presenta un problema durante la copia, si usa scpresume:

  • scpresume filename username@macchina_remota:/home/username

Popularity: 1%

  • Share/Bookmark
Tags: , , ,

Comments No Comments »