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:
apriamo un terminale e installiamo il pacchetto unattended-upgrades: apt-get install unattended-upgrades update-notifier-common
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";
};
editiamo il file /etc/apt/apt.conf.d/10periodic in questo modo:
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
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.
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.
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:
Da quando sono più su Ubuntu che su Windows (sulla mia macchina dual-boot) mi capita sempre più spesso di dover accedere alla partizione di Windows per accedere ai miei dati. Tuttavia, Ubuntu non monta automaticamente la partizione di Windows e quindi sono costretto a montarla ad ogni riavvio del sistema.
Per risolvere questa scomodità ho fatto in modo di montare automaticamente la partizione di Windows all’avvio del sistema. Ecco i passi per abilitare questa funzionalità:
Aprite un terminale, e scrivete il comando:
sudo apt-get install ntfs-config
Dopo aver terminato l’installazione del pacchetto , andate nel menù di Ubuntu –> System tools –> NTFS Configuration Tool
Selezionate la partizione Windows che volete auto-montare all’avvio e impostate un mount point opportuno (io ad esempio uso
/media/windows)
Cliccate su ‘Apply’ e abilitate entrambe le opzioni (“Enable write support for internal device” e (“Enable write support for external device”).
Ed ecco che finalmente, la nuova versione di Ubuntu 9.04 (il cui nome in codice è Jaunty Jackalope) è stata rilasciata. Un po’ come durante l’upgrade da Ubuntu da Hardy (8.04) a Intrepid Ibex (8.10), voglio utilizzare la linea di comando per aggiornare il sistema all’ultima release. Nota importante: per passare a Jaunty dovete obbligatoriamente avere Intrepid; date un lsb_release –a per scoprire che versione di Ubuntu state utilizzando, ad esempio:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 8.10
Release: 8.10 Codename: intrepid OK, questa macchina può essere aggiornata
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 8.04.2
Release: 8.04 Codename: hardy KO, questa macchina NON può essere aggiornata. Dovete prima fare l’upgrade da Ubuntu da Hardy (8.04) a Intrepid Ibex (8.10) e poi tornare a seguire questa guida.
Ora che abbiamo passato in rassegna i vari requisiti, passiamo alle istruzioni vere e proprie:
Installare (se non è già installato) update manager con: sudo apt-get install update-manager-core
lanciate il processo di aggiornamento con sudo do-release-upgrade
update-manager vi chiederà se volete effettivamente aggiornare e vi darà anche una stima del tempo previsto:
Calculating the changes
Do you want to start the upgrade?
12 packages are going to be removed. 160 new packages are going to be
installed. 998 packages are going to be upgraded.
You have to download a total of 749M. This download will take about
51 minutes with your connection.
Fetching and installing the upgrade can take several hours. Once the
download has finished, the process cannot be cancelled.
Ultimamente ho dovuto fare ulteriore spazio alla mia partizione XFS (ma il procedimento funziona anche se avete qualsiasi altra partizione, tipo ext3 o reiserfs) per Linux, a scapito di quella NTFS destinata a Windows.
Per fare il resize della partizione Windows, dopo aver fatto un backup e una deframmentazione, ho usato gparted su Linux (sudo apt-get install gparted). Ad un primo avvio, mi era impossibile fare il ridimensionamento della partizione in quanto l’opzione “resize” era disabilitata.
Dopo un po’ di ricerca, ho scoperto che bisogna installare il package ntfsprogs (quindi aprite un terminale e digitate sudo apt-get install ntfsprogs).
Dopo aver installato ntfsprogs chiudete e riaprite gparted, e potrete ridimensionare la partizione NTFS.
Ultimamente ho reinstallato Linux sulla mia macchina principale, dopo anni in cui lo tenevo relegato in una virtual machine in VMWare. La scelta della distribuzione è ovviamente caduta su Ubuntu Intrepid 8.10.
Subito dopo l’installazione, ho cominciato a fare un po’ di pulizia (rimuovendo quello che non mi serve e/o è inutile) e installare il software che mi serve. Trovate una rapida descrizione ed i comandi relativi (da inserire nel terminale):
Togliere il supporto all’accessibilità, i giochi, il software VOIP Ekiga (uso Skype) e il client BitTorrent Trasmission (molto lento rispetto agli altri client BitTorrent):sudo apt-get autoremove --purge at-spi transmission* gnome-games-* ekiga
Cambiare il refresh rate del proprio monitor al più alto valore possibile (System -> Preferences -> Screen resolution)
Rimuovere il fastidiosissimo “beep” del terminale:echo "blacklist pcspkr" | sudo tee -a /etc/modprobe.d/blacklist
(è sufficiente un reboot affinché il beep sparisca)
Abilitare i repository per i software multiverse (Menu -> System -> Administration -> Software sources -> abilitare restricted, multiverse, e partner)
Visualizzare i file nascosti: aprite il file browser in una directory qualsiasi e andate in Edit -> Preferences -> “Show hidden and backup files”
(si poteva fare anche tramite gconf-editor ma perché non usare le scorciatoie quando ci sono?)
Installare software utile tra cui:
Flash player per Firefox
Filezilla (client FTP)
Font Microsoft (utili per OpenOffice) + font terminus (li preferisco per l’utilizzo nel terminale)
Java Development Kit (JDK) (utile per sviluppare software Java)
I principali tools di sviluppo (build-essential)
VLC (per vedere i filmati senza installare codec)
Mozilla Thunderbird + Enigmail (client e-mail + supporto a PGP)
Alcuni plugin utili per Pidgin (client per IM multipiattaforma, GTalk, MSN, etc.)
Software di compressione e decompressione (rar, zip, 7z, etc.)
Editor di testo Emacs e vim
Plugin utili per nautilus, il file browser di Gnome (plugin per aprire un terminale nella directory corrente, e così via)
Parcellite, un clipboard manager per Gnome
Deluge Torrent, il client BitTorrent che preferisco
CVS, subversion e git come strumenti di versioning del software sviluppato
htop, una versione di top che presenta molte più informazioni utili rispetto alla versione standard di top
sysinfo, un programma che visualizza tutte le caratteristiche hardware del computer
TeXmaker e la relativa suite LaTeX per produrre documenti scientifici come tesi, report, etc. (ho già pubblicato un post relativo al LaTeX poco tempo fa)
Non installiamo Eclipse e/o Netbeans tramite i repository Ubuntu perché la versione installata tramite package è troppo datata. Per installare Eclipse, ad esempio, andiamo sul sito ufficiale e scarichiamo il tar.gz, scompattiamo il tutto in /opt/eclipse ed il gioco è fatto. Per Netbeans, invece, è sufficiente scaricare l’installare e lanciarlo (chmod +x netbeans-installer.sh && sudo ./netbeans-installer.sh ).
Abilitare gli effetti grafici (System -> Preferences -> Appereance -> Visual Effect -> Extra), abilitare gli hot corner e gli effetti grafici che ritenete più opportuni (ad esempio abilito Exposè, System -> Preferences -> Compiz Settings Manager -> Scale) e disabilitare la fastidiosissima resistenza delle finestre al trascinamento lontano dal bordo (System -> Preferences -> Compiz Settings Manager -> Snapping Windows -> Behaviour -> deselezionare “Edge resistance”)
Abilitare il ssh keep-alive (altrimenti dopo un certo timeout la connessione ssh verso altri host verrà abbattuta): sudo echo "TCPKeepAlive yes" >> /etc/ssh/ssh_config ; sudo echo "ClientAliveInterval 60" >> /etc/ssh/ssh_config
Installare il software rimanente (andate sui siti ufficiali per effettuare il download dei package autoinstallanti): Google Desktop, Google Picasa, Skype, VMWare Player, …
Di seguito trovate un mio screenshot: non ho trasformato Ubuntu in Windows 7, infatti grazie a VMWare (e alla copia gratuita e in versione beta di Windows 7, ho potuto provare con mano il nuovo sistema operativo Microsoft.
Per il corso di Sicurezza dei Sistemi Informatici, ho realizzato una presentazione che spiega cosa sono i rootkit (in ambito UNIX e GNU/Linux) e come funzionano.
Volete usare Ubuntu ma non volete cancellare Windows e/o partizionare il vostro hard disk?
Wubi è quello che fa per voi! Wubi è un installer di Ubuntu per gli utenti Windows. Wubi, infatti, permette di installare e disinstallare Ubuntu come ogni altra applicazione.
Ecco le caratteristiche fondamentali:
Wubi is Safe
It does not require you to modify the partitions of your PC, or to use a different bootloader.
Wubi is Simple
Just run the installer, no need to burn a CD.
Wubi is Discrete
Wubi keeps most of the files in one folder, and If you do not like, you can simply uninstall it.
Wubi is Free
Wubi (like Ubuntu) is free as in beer and as in freedom. You will get this part later on, the important thing now is that it cost absolutely nothing, it is our gift to you…