Gentoo Linux Italia

PERLE dalle GWN e non

Contenuti:

1.Utilizzare un mirror rsync locale

Vediamo come sfruttare la nuova localizzazione in base ai continenti e alle nazioni del round robin di rsync.

Il primo passo è controllare se la propria nazione possiede un round robin proprio.

Esempio 1: Uso di host per determinare l'esistenza di round robin locali


$ host rsync.no.gentoo.org
rsync.no.gentoo.org has address 80.239.42.138

Se la vostra nazione non ha ancora un round robin locale, vedrete qualcosa del genere:

Esempio 2: Non tutti i paesi hanno ancora un mirror rsync


$ host rsync.mx.gentoo.org
Host rsync.mx.gentoo.org not found: 3(NXDOMAIN)

Nota: Avete bisogno di emergere il pacchetto bind-tools per utilizzare host

Nota: Non siete sicuri di quale sia la sigla della vostra nazione? Qui trovate la lista ufficiale.

Un'alternativa è di utilizzare i round robin localizzati per continente. Al momento esistono i seguenti indirizzi:

  • rsync.namerica.gentoo.org -- America del Nord
  • rsync.samerica.gentoo.org -- America del Sud
  • rsync.europe.gentoo.org -- Europa
  • rsync.asia.gentoo.org -- Asia
  • rsync.au.gentoo.org -- Australia (uguale a quello per nazione)

Una volta identificato il mirror che intendete utilizzare, modificate il vostro /etc/make.conf e inserite il nuovo indirizzo nella variabile SYNC.

Esempio 3: SYNC configurato per l'utilizzo di rsync.us.gentoo.org


SYNC="rsync://rsync.us.gentoo.org"

2.Usare tmpfs

Questo tip vi mostra come utilizzare il tmpfs per rendere più veloce l'accesso a piccoli file temporanei. Tmpfs simula un filesystem con il supporto per le normali operazioni di lettura/scrittura, ma i file sono conservati in memoria. Questo rende gli accessi molto più veloci. Bisogna però ricordare che i file salvati su tmpfs sono persi ad ogni reboot. Inoltre, tmpfs è indicato solo per sistemi con grandi quantità di memoria.

Prima di tutto assicuratevi che tmpfs sia abilitato nel vostro kernel.

Esempio 4: Abilitare tmpfs nel kernel


# cd /usr/src/linux
# make menuconfig
    Enable File Systems -->
        [*] Virtual memory system support
        // (Enable this option)

# make dep && make clean bzImage

// Assicuratevi che /boot sia montata prima di questo passaggio
# cp /usr/src/linux/arch/i386/boot/bzImage /boot

/tmp è il luogo più comune dove mettere i file temporanei. Useremo tmpfs per montare /tmp

Esempio 5: Montare /tmp con tmpfs

# mount -t tmpfs tmpfs /tmp

Ora che /tmp è montato, tutto quello che dovete fare è aggiungere la riga seguente al vostro /etc/fstab in modo che venga caricata al boot.

Esempio 6: Aggiungete la seguente riga al vostro fstab

tmpfs   /tmp    tmpfs   defaults    0 0

3.Sincronizzare data/ora di sistema con rdate

Il tip di questa settimana mostra come sincronizzare data e ora di sistema senza complicarsi la vista con NTP. Il comando rdate permette di ottenere l'ora da un server su cui giri NTP senza la necessità di avere installato sulla propria macchina NTP.

Innanzitutto, assicuratevi di avere rdate installato.

Esempio 7: Installare rdate

# emerge rdate

Per sincronizzare l'orologio, lanciate rdate -s. Dovrete probabilmente cambiare il servere da usare, in modo da non sovraccaricarne uno in particolare. Qui c'è una lista dei server pubblici che potete usare.

Esempio 8: Usare rdate

# rdate -s ntp0.cornell.edu

Per mantenere la vostra macchina sincronizzata automaticamente, potete utilizzare il crontab.

Esempio 9: Aggiungere rdate al crontab

// Aggiungete la riga seguente a /etc/crontab per sincronizzare
l'orologio il primo giorno della settimana.

* * * * 0 rdate -s ntp0.cornell.edu

4.Cambiare gli attributi dei file

Questo tip spiega come usare chattr per mantenere sicuri alcuni importanti file di sistema. Il comando "change attribute", o chattr, può essere usato per aggiungere o cambiare gli attributi dei file relativi a aggiornamenti sincroni, sicurezza dei file più stretta, eccetera. Tuttavia, questo comando è disponibile solo su partizioni ext2 e ext3.

Qui sotto è riportata una lista degli attributi più comuni, e i relativi flag. Per una lista più completa leggete man chattr.

  • (A) Non aggiornare atime
  • (S) Aggiornamento sincrono
  • (a) Solo concatenamento
  • (d) No dump
  • (i) 'Immutable'
  • (j) Data journalling
  • (t) No tail-merging

Nota: L'opzione 'j' può essere utilizzata solo con ext3.

Nota: Le opzioni 'j', 'a' e 'i' sono utilizzabili solo dal superuser.

Innanzitutto assicuratevi che chattr sia installato, emergendo e2fsprogs.

Esempio 10: Installazione dei file necessari

# emerge e2fsprogs

Per settare gli attributi di un file, usate il comando chattr mentre per visualizzare gli attributi, utilizzate il comando lsattr

Esempio 11: Esempio di utilizzo di chattr e lsattr

// Imposta il bit 'immutable' su un file in modo che non possa essere né modificato né cancellato
# chattr +i myfile
# lsattr myfile
----i-------- myfile
// Testiamo il flag 'immutable' cercando di cancellare il file
# rm myfile
rm: cannot remove `myfile': Operation not permitted
// Impostiamo myfile in modalità 'solo concatenamento'
# chattr +a myfile
# lsattr myfile
-----a------- myfile
# echo testing > myfile
myfile: Operation not permitted
# echo testing >> myfile
// nessun errore - il file è stato concatenato

Questi attributi sono utili, ad esempio, per assicurarsi che alcuni file importanti non siano accidentalmente candellati. Ricordate che nemmeno root può cancellare un file con gli attributi 'immutable' o 'append-only' senza prima rimuovere esplicitamente questi attributi. L'uso di questi flag sui file /etc/passwd o /etc/shadow li mette al sicuro da un accidentale rm -f e oltretutto assicura che con un exploit non possano essere creati nuovi account. Mantere dei file 'append-only' implica che, una volta scritti, i dati che contengono non possono essere cancellati. I log sono ottimi candidati a questo utilizzo, in modo che non possano essere alterati. Con chattr e lsattr, avete dunque dei nuovi strumenti per mantenere sicuro il vostro sistema.

5.Usare /dev/loop per visualizzare un'immagine CD

Il consiglio di questa settimana spiega come usare il loop device per visualizzare o scambiare file da un'immagine CD o file ISO.

Innanzitutto assicuratevi di avere il supporo nel vostro kernel. Può essere configurato come modulo, quindi non è necessario riavviare se non avete il supporto.

Esempio 12: Installare il modulo kernel

// configurate la seguente opzione
Block Devices
-> <M> Loopback device support

#  make dep && make modules modules_install
# insmod loop

Per visualizzare il contenuto di un file ISO semplicemente montate l'ISO in un loopback device. Ad esempio, qui montiamo gentoo-basic-x86-1.4_rc4.iso in gentoo-1.4_rc4/.

Esempio 13: Montare un ISO in un loopback device

# mount gentoo-basic-x86-1.4_rc4.iso gentoo-1.4_rc4 -o loop=/dev/loop1,blocksize=1024

Ora potete visualizzare la directory gentoo-1.4_rc4 come se fosse parte del vostro file system regolare.

6.Prevenire il Reboot del Sistema con Ctrl-Alt-Del

Il "Saluto-delle-tre-dita" o, la combinazione Ctrl+Alt+Del è tipicamente associata al comando /sbin/shutdown -r now. In altre parole, riavvia il sistema. A volte questo potrebbe essere un comportamento non voluto, quindi il consiglio di questa settimana mostra come disabilitare o rimappare quella combinazione di tasti.

Il file che dobbiamo editare è /etc/inittab. Trovate la linea che dice ca:12345:ctrlaltdel:/sbin/shutdown -r now e semplicemente commentatela mettendole un # in fronte. O, se preferite, puoi cambiare la parte /sbin/shutdown -r now in un altro comando.

Infine, dobbiamo avvertire il processo init di questi cambiamenti.

Esempio 14: Riavviare init

# /sbin/init q

7.Separazione dei Privilegi in Portage

Un'interessante caratteristica di Portage è che puo abbassare i suoi privilegi e compilare come utente meno privilegiato. Puo anche usare la "sandbox" per molte fasi dell'installazione. Il consiglio di qesta settimana mostra come abilitare queste carattereistiche di Portage per aumentare la sicurezza del sistema.

Il primo passo è creare gli account di gruppo e utente portage. Portage userà questi account quando eseguirà i suoi processi.

Esempio 15: Aggiungere il gruppo e utente portage

#  groupadd -g 250 portage
#  useradd -u 250 -g 250 -s /bin/false portage

Il passo successivo è di fissare il possesso delle aree a cui Portage avrà bisogno di accedere. Normalmente queste cartelle sono /usr/portage, /var/tmp/portage.

Esempio 16: Fissare il possesso delle cartelle di Portage

# chown -R portage:portage /usr/portage
# chown -R portage:portage /var/tmp/portage

Nota: Se avete specificato posti differenti in /etc/make.conf, avrete bisogno di assicurarvi che Portage ha il possesso appropriato di PORTAGE_TMPDIR, PORTDIR, DISTDIR, PKGDIR, PORT_LOGDIR, and PORTDIR_OVERLAY.

Dopo che il possesso è stato impostato correttamente, bisogna abilitare la caratteristica della separazione dei privilegi in /etc/make.conf. Per fare questo, è necessario modificare la linea FEATURES.

Esempio 17: /etc/make.conf FEATURES

// FEATURES dovrebbe somigliare a qualcosa tipo la linea seguente
FEATURES="sandbox userpriv usersandbox"

Ora Portage è configurato per abbandonare i privilegi root e compilare i pacchetti con l'account utente portage. Per testarlo, usa il comando top. Quando avete top aperto, digitate u per mostrare i processi di uno specifico utente, e digitate portage al prompt per visualizzare i processi di portage. Ora emergete qualcosa, e osservate come l'utente portage appare il proprietario di tutti i comandi.

8.Aggiungere utenti con Superadduser

Aggiungere utenti ad un sistema può essere noioso. Bisogna creare l'account, cambiare la password, creare la home directory. Il tip di questa settimana mostra come rendere la creazione degli utenti più semplice, utilizzando superadduser.

Esempio 18: Installazione di superadduser da Portage

#  emerge app-admin/superadduser 

Usare superadduser è molto semplice. Basta lanciare il comando e seguire le istruzioni.

Esempio 19: Uso di superadduser

// Sostituite gli esempi con le vostre informazioni
# superadduser

Login name for new user []: johndoe

User id for johndoe [ defaults to next available]: 

Initial group for johndoe [users]: 

Additional groups for johndoe (seperated
with commas, no spaces) []:

johndoe's home directory [/home/johndoe]: 

johndoe's shell [/bin/bash]: 

johndoe's account expiry date (YYYY-MM-DD) []: 

OK, I'm about to make a new account. Here's what you entered so far:

New login name: johndoe
New UID: [Next available]
Initial group: users
Additional groups:
Home directory: /home/johndoe
Shell: /bin/bash
Expiry date: [no expiration]

This is it... if you want to bail out, hit Control-C.  Otherwise, press
ENTER to go ahead and make the account.

ENTER

Making new account...

Changing the user information for johndoe
Enter the new value, or press ENTER for the default
        Full Name []: John Doe
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 

New UNIX password: user_password
Retype new UNIX password: user_password
Done...

9.Utilizzare l'Autogrouping di Fluxbox

Se utilizzate il window mangare FluxBox, l'autogrouping e i tabs vi consentono di vedere i programmi come una finestra raggruppata invece che come finestre separate. Questa tip spiega questa feature facendo un esempio con Eterm

Innanzitutto è necessario editare i proprio file ~/.fluxbox/init. Assicuratevi che sia definito il group file.

Esempio 20: ~/.fluxbox/init

// Aggiungete la seguente linea
session.groupFile:    ~/.fluxbox/groups

Nota: Assicuratevi che non ci siano segni di tabulazione o spazi alla fine della linea o potrebbe non funzionare correttamente.

Il successivo file da modificare è ~/.fluxbox/groups. Questo file specifica i programmi che si apriranno automaticamente all'interno di un gruppo tabbed. Aggiungete semplicemente un programma per ogni linea.

Esempio 21: ~/.fluxbox/groups

// Per il nostro esempio con Eterm aggiungiamo questa linea
Eterm

Nota: Per sapere il nome esatto del comando da inserire nel fil e utilizzate il comando xprop | grep '^WM_CLASS' e incollate il nome nel file.

Adesso non appena aprirete sessioni di Eterm si apriranno in un gruppo. Se desiderate che altri programmi seguano lo stesso comportamento aggiungeteli al vostro file ~/.fluxbox/groups.



Ultimo aggiorn.:
12 Maggio 2003
Sommario: Questo doc contiene una collezione di perle prese dalle varie GWN di Gentoo, con alcune aggiunte.
- 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.