Linux tips and tricks/Generale

Indice del libro

Generale modifica

Aggiungo 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 modifica

Alcuni 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) modifica

A 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 modifica

Per 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.

Creare un'immagine (iso) di un cd sull'hard disk modifica

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.

Montare un'immagine iso per verificarne il contenuto modifica

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 modifica

Assegnare 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? modifica

Il comando appropriato è fuser:

fuser -m -u /device

Ad esempio, per vedere chi sta usando una periferica audio:

  1. fai partire xmms (o un altro player) e fallo suonare
  2. digita
fuser /dev/dsp

Così ottieni sei ID. Gli stessi che ottieni dando

ps -ax | grep xmms

Upgrade di linux modifica

CentOS modifica

Su 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 modifica

Il 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 modifica

Questi 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 modifica

Questo comando sincronizza il repositorio e procede con l'upgrade dell'intero sistema!

pacman -Syu

Gentoo modifica

1)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.)