Linux tips and tricks/Generale
Generale
modificaAggiungo questo abbozzo di introduzione perché mi pare improponibile aprire un simile wikibook con /etc/rc.d/rc.local. È vero, per adesso non posso proporre di meglio, ma spero di riuscirci presto.
Files
modifica/etc/rc.d/rc.local
: qui vanno inseriti gli script che verranno eseguiti dopo l'avvio del sistema.
/etc/resolv.conf
: qui vanno inseriti i dns.
/etc/sysconfig/desktop
: indica l'ambiente grafico di default. Modificare il file per cambiarlo (Fedora).
Debian
modificaAlcuni file importanti in Debian GNU/Linux:
/etc/network/interfaces
: file di configurazione delle interfacce di rete
/etc/init.d/
: in questa directory sono contenuti molti script che gestiscono processi di sistema e non, come il server web apache, la gestione del networking, samba etc...
È possibile interagire con questi script richiamandoli esplicitamente e passando loro un argomento, tipicamente start, stop, restart etc. Per avere l'elenco degli argomenti si può richiamare lo script senza passarne alcuno: questo normalmente risponderà con un piccolo messaggio di aiuto.
/etc/apt/sources.list
: in questo file è possibile indicare i "sources", ossia gli archivi da cui prelevare sia il database dei pacchetti disponibili, sia, in fase di installazione/aggiornamento di questi, i pacchetti stessi, in formato binario o sorgente.
Dividere un file in più parti (split)
modificaA volte può essere utile dividere un file in più parti:
- per mandarlo come allegato via mail, se c'è una dimensione massima per gli allegati
- per copiarlo su più floppy, la cui dimensione massima è 1,44 Mb
Il comando è split, e si usa così:
split --bytes=9m file.zip
Questo comando dividerà il file file.zip in blocchi da 9 Mb
Per ricomporre un file usare cat (v. sotto)
Ricomporre un file splittato
modificaPer ricomporre un file diviso con split (o più in generale per accodare una serie di files):
cat prefissoa* > nomefile.zip
Dove prefissoa è l'iniziale comune di tutti i files e nomefile.zip è il file di destinazione.
Per creare un'immagine (iso) di un cd sull'hard disk è sufficiente digitare
dd if=/dev/scd0 of=immagine.iso
dove /dev/scd0 indica il lettore cd (potrebbe anche essere hdb, hdc, hdd..) e immagine.iso il file di destinazione.
Digitare il comando
mount -o loop immagine.iso /mnt/directory_a_scelta/
oppure mount –t iso9660 –o ro,loop immagine.iso mount-point
Gestire la priorità di un processo
modificaAssegnare una priorità alta o bassa ad un processo significa attribuirgli un certo grado di precedenza su altri processi in termini di utilizzo delle risorse. Sarà quindi comodo attribuire una maggiore priorità al processo che sta masterizzando un cd (per evitare che questo si bruci per buffer underrun), o priorità minore ad una lunga copia di files, che può scorrere tranquillamente in background senza disturbare le nostre attività.
In Linux i processi partono di default con priorità pari a 0 e possono assumere priorità da 20 a -20. Solo root può impostare punteggi negativi. Priorità pari a 20 significa che il processo tenderà al background, cioè avrà la minima priorità rispetto agli altri; in altre parole "tutti gli passeranno avanti".
Per lanciare un comando (kedit, editor di testo) con priorità assegnata (in questo caso 20) digitare
nice -n20 kedit
Per lanciare un programma di masterizzazione (in questo caso k3b) con priorità negativa
nice -n-18 k3b
Per modificare la priorità di un processo esistente
renice 19 4330
dove 4330 è il PID del processo, e 19 è la nuova priorità. Altro esempio (stesso processo, priorità negativa):
renice -10 4330
Chi sta usando una risorsa?
modificaIl comando appropriato è fuser:
fuser -m -u /device
Ad esempio, per vedere chi sta usando una periferica audio:
- fai partire xmms (o un altro player) e fallo suonare
- digita
fuser /dev/dsp
Così ottieni sei ID. Gli stessi che ottieni dando
ps -ax | grep xmms
Upgrade di linux
modificaCentOS
modificaSu Centos e derivate di Red Hat il sistema di gestione dei pacchetti prende il nome di Yum - Yellodow Updater Modified.
yum [opzioni] [comandi] [pacchetti ...]
Debian e Ubuntu
modificaIl comando è semplice, dopo che apt-get è stato configurato e abbiamo eseguito un aggiornamento del database dei pacchetti con
apt-get update
è sufficiente digitare
apt-get dist-upgrade
Il sistema apt-get si occuperà di tutto il resto.
Mandrake 9 -> 10
modificaQuesti comandi sono stati trovati su di un forum (v. http://speculation.org/garrick/urpmifaq.txt, servono per trasformare una Mandrake 9 in 10. Attenzione: non li ho mai provati!
urpmi.removemedia -a urpmi.addmedia usc-main http://mirrors.usc.edu/pub/linux/distributions/mandrake-devel/stable/i586/Mandrake/RPMS with ../base/hdlist.cz urpmi.addmedia usc-contrib http://mirrors.usc.edu/pub/linux/distributions/mandrake-devel/stable/i586/Mandrake/RPMS2 with ../base/hdlist2.cz urpmi urpmi -> watch for questions, always answer y for yes -> might get a few GPG or md5sum errors, ignore them urpmi --auto-select -> same as #4, watch for Y,N questions, answer y for yes urpmi kernel -> choose kernel version appropriate for your system (smp, enterprise, 2.6, whatever) reboot cat /etc/mandrake-release =)
ArchLinux
modificaQuesto comando sincronizza il repositorio e procede con l'upgrade dell'intero sistema!
pacman -Syu
Gentoo
modifica1)sincronizzazione dei repository:
emerge --sync
2)update dell'intero sistema:
emerge --deep --update world
(è bene prima dare un "emerge --deep --update --pretend world", in modo da vedere che pacchetti verranno scaricati durante l'update e se ci sono problemi, blocchi etc.)