Menu Chiudi

MiniGuida

Rete
—-

Utilizzo di ssh
^^^^^^^^^^^^^^^

Specificare un altro utente per il login
========================================

::

ssh -l

Copiare un file usando ssh come supporto (scp)
===============================================

::

scp @:

Redirect di una porta remota alla macchina locale
==================================================

::

ssh -L ::

nota è il nome o indirizzo IP della macchina su cui risiede

Rete
—-

Utilizzo di ssh
^^^^^^^^^^^^^^^

Specificare un altro utente per il login
========================================

::

ssh -l

Copiare un file usando ssh come supporto (scp)
===============================================

::

scp @:

Redirect di una porta remota alla macchina locale
==================================================

::

ssh -L ::

nota è il nome o indirizzo IP della macchina su cui risiede
il servizio a cui vogliamo accedere e dev’essere visibile dal gateway, esempio::

ssh -L 3389:192.168.1.1:3389 indirizzofirewall

a questo punto è possibile lanciare::

rdesktop localhost

e collegarsi al terminal server 192.168.1.1.

Configurare accesso ssh senza richiesta password
================================================

::

ssh-keygen -b 1024 -t rsa

poi copiare la chiave pubblica generata (nel file .ssh/id_rsa.pub) nel
.ssh/authorized_keys del server

Disabilitare l’accesso da rete a root
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

il file /etc/securetty contiene la lista dei device da dove l’utente
root puo’ connettersi, se si concellano tutte le voci lasciando da
tty1 a tty8, l’utente potra’ collegarsi solo dalla console.::

ttyS* terminali seriali (modem ecc)

ttyp*, ttyq*, etc terminali di rete

Alcune opzioni utili di nmap
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Dal lanciare come root::

nmap -v -sT -O “host”

per una scansione “half-open”::

nmap -v -sS -O “host”

Info su un dominio
^^^^^^^^^^^^^^^^^^

::

whois “dominio”

Forwarding banale
^^^^^^^^^^^^^^^^^

con ipchains::

ipchains -F forward
ipchains -P forward DENY
ipchains -A forward -s 192.168.10.0/24 -j MASQ
ipchains -A forward -i ppp0 -j MASQ
echo 1 > /proc/sys/net/ipv4/ip_forward

con iptables::

iptables –flush
iptables –table nat –flush
iptables –delete-chain
iptables –table nat –delete-chain

iptables –table nat –append POSTROUTING –out-interface ppp0 -j MASQUERADE
iptables –append FORWARD –in-interface eth0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Bloccare l’accesso incondizionato da un determinato IP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Mettere una linea con l’indirizzo IP in /etc/hosts.deny o in caso di firewall::

ipchains -I input 1 -s xxx.xxx.xxx.xxx -j DENY
ipchains -I forward 1 -s xxx.xxx.xxx.xxx -j DENY

oppure bloccare la route verso un host::

route add -host “ip host” reject

Esempi pratici di wget
^^^^^^^^^^^^^^^^^^^^^^^

Scaricare un sito (con link interni) e mantenerlo nella directory
corrente senza il prefisso www.host.. ::

wget -nH -r sito

Uso di fetchmail
^^^^^^^^^^^^^^^^^

::

set daemon 600 #poll di 10 min
set syslog
poll mail.server.it with proto POP3:
user “utentediposta” there with password “” is utentelinux here;

Collegamento via seriale ai dispositivi
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Si parte lasciando **spento** il dispositivo

::

minicom -s sistemare le impostazioni (tipicamente 9600 8N1)
exit (senza uscire dall’applicazione)

accendendo il dispositivo se ne vedrà il boot

rinetd: trasferimento di servizio da un pc ad un altro
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Si configura in /etc/rinetd.conf::

hostinterfaccia porta host destinazione porta

Uso di lftp per gestire il mirror dei siti via ftp
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

esempi di utilizzo::

lftp -u -e “cd ; mirror –delete –exclude wp-config.php –only-newer –parallel=1; quit”

questo comando permette di fare il mirror del sito remoto copiando solo i file nuovi, l’opzione –parallel=1 serve in alcuni casi quando il sito remoto consente solo una connessione ftp alla volta, l’opzione –delete cancella i file locali non presenti in remoto, l’opzione –exclude evita di copiare i file che corrispondono ::

lftp -u -e “lcd ; mirror –reverse –delete –only-newer –parallel=1; quit”

fa l’esatto contrario del comando precedente, copia il contenuto del locale in remoto ed elimina i file che non esistono piu’ in locale

Samba
—–

Samba parte di un dominio NT
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

**Versione 2.x**

Prima aggiungere il nome NetBIOs della macchina sulla lista degli
account macchina del PDC, stoppare SMBD e NMBD poi scrivere::

smbpasswd -j NTDomainName -r PDCName

infine cambiare in smb.conf security = domain, verificare che la voce
encrypt password sia YES e aggiungere::

password server = nome_del_server

**Versione 3.x**

Per aggiungere la macchina nel dominio NT::

net join -S PDC -UAdministrator%password

va inoltre installato winbindd, se non si vogliono replicare gli utenti del dominio anche lato linux, bisogna modificare il file smb.conf nella sezione **global** ::

# separate domain and username with ‘+’, like DOMAIN+username
winbind separator = +
# use uids from 10000 to 20000 for domain users
idmap uid = 10000-20000
# use gids from 10000 to 20000 for domain groups
idmap gid = 10000-20000
# allow enumeration of winbind users and groups
winbind enum users = yes
winbind enum groups = yes

oltre ai soliti parametri di samba per poter far parte di un dominio::

workgroup = NOMEDOMINIO
security = domain
password server = *
encrypt passwords = Yes
passdb backend = tdbsam guest

inoltre ora bisogna modificare il pam per permettere l’autenticazione tramite
il PDC, farsi una copia di backup di /etc/pam.d e modificare i file in essa contenuti in questo modo::

/etc/pam.d/common-auth

aggiungere::

auth sufficient pam_winbind.so

in::

/etc/pam.d/common-account

aggiungere::

account sufficient pam_winbind.so

far ripartire winbindd::

/etc/init.d/winbindd restart

ora con un::

wbinfo -u

si dovrebbe vedere la lista degli utenti gestiti dal PDC.

Copiare la lista degli utenti unix per Samba
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

cat /etc/passwd | mksmbpasswd > /etc/samba/smbpasswd

oppure::

smbpasswd utente

addtosmbpasswd

Look up di un client NT dall’indirizzo IP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

nmblookup -U PDC_NAME -AS indirizzo_ip

Risoluzione dei nomi tramite wins
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Installare samba (per DebIan anche apt-get install winbind), modificare::

/etc/nsswitch.conf

alla riga::

hosts: files dns winbind wins

Apache
——

Evitare il browsing delle directory e abilitarlo solo in alcune
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

Directory /var/www
Options (eliminare l’eventuale Indexes)
/Directory

Directory /var/www/directorydarenderebrowsable
Options indexes FollowSymLinks
/Directory

Area visitabile solo ad alcuni utenti
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Nella sezione Directory che si vuole::

AuthName “Area protetta”
AuthType Basic
AuthUserFile /etc/apache/htpasswd
require user utente

per aggiungere un utente al file di password utilizzare::

htpasswd /etc/apache/htpasswd utente

la stessa cosa puo’ essere fatta tramite .htaccess sempre che nella configurazione globale di apache sia permesso modificarne il comportamento tramite questo file, è sufficiente inserire il file nella directory che si vuole abilitare tramite password con il seguente contenuto::

AuthUserFile //.htpasswd
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType Basic

require user nomeutente

come nel caso precedente per le password::

htpasswd .htpasswd nomeutente

Postfix
——-

Ciao ciao, `Ciao Spam`
^^^^^^^^^^^^^^^^^^^^^^

:Autore: Flavio Visentin

Ultimamente ha fatto molto discutere__ l’iniziativa di `ciaospam.it`,
che per limitare lo spam obbliga a *farsi riconoscere*…

Ecco una ricetta che permette di eliminare del tutto l’assillo:

1. Creare di una *mappa* che contiene gli indirizzi da rifiutare::

# echo “info@ciaospam.it REJECT” >> /etc/postfix/rompiscatole
# postmap /etc/postfix/rompiscatole

2. Informare della cosa `postfix`::

# echo “smtpd_sender_restrictions = check_sender_access \
> hash:/etc/postfix/rompiscatole” >> /etc/postfix/main.conf
#/etc/init.d/postfix reload

__ http://www.freelists.org/archives/linuxtrent/07-2004/msg00623.html

X11

Gestione dei tasti multimediali
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Controllare i valori numerici ritornati premendo il tasto dopo aver lanciato ‘xev’.

Controllare il codice di X11 controllando i valori numerici in in /etc/X11/xkb/keycodes/xfree86)

Aggiungere una sezione a /etc/X11/xkb/symbols/inet con quei codici collegandoli ai codici per XFREE86 magari facendo una copia del file prima…ad esempio::

// portatile sconosciutissimo
partial alphanumeric_keys
xkb_symbols “portatilesconosciutissimo” {
key { [ XF86AudioPlay, XF86AudioPause ] };
key { [ XF86AudioPrev ] };
key { [ XF86AudioNext ] };
key { [ XF86AudioStop ] };
key { [ XF86AudioRaiseVolume ] };
key { [ XF86AudioLowerVolume ] };
key { [ XF86AudioMute ] };
};

Control Alt Canc in VNC o menu
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Per attivare il menu del VNC che nella versione di windows è
accessibile tramite mouse, premere F8, verrà visualizzata l’opzione la
voce send ctrl alt del

Per spostare il mouse con la tastiera
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Ctrl+Shift+Num Lock: Senti un beep.

Sposti il cursore con i tasti::

7 8 9

4 6

1 2 3

sul tastierino numerico.

Selezioni un tasto del mouse con i tasti “/” (sinistro), “*”
(centrale) e “-” (destro), sempre sul tastierino numerico. Poi con
“5” simuli un click con quel tasto, con “0” lo si mantiene premuto e
con “.” lo si rilascia.

Caratteri balenghi con la tastiera italiana
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

` = AltGr + ‘ oppure AltGr + ù
{} = AltGr + 7 e AltGr + 0

Configurazione di XKB
^^^^^^^^^^^^^^^^^^^^^

Un’ottima guida, seppure in inglese:
http://www.charvolant.org/~doug/xkb/html/xkb.html

Per vedere la risoluzione attuale di X
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

xdpyinfo

Per far partire X su un altro terminale
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Per avere più sessioni X sulla stessa macchina::

startx — :1

Altro modo::

Xnest :1

fornisce una finestra contenente un X server. Esempio interessante di applicazione che è contemporaneamente un X client e X server.

xnest come client
^^^^^^^^^^^^^^^^^

È possibile con xnest per esempio collegarsi a un xdm (o gdm) che ha attivo l’xdmcp, X Display Manager Protocol (stile rdesktop)::

Xnest :1 -query indirizzoserver

Mouse in X e su console
^^^^^^^^^^^^^^^^^^^^^^^

Probabilmente è sufficiente mettere in /etc/gpm.conf::

device=/dev/psaux
repeat_type=raw
type=ps2

poi nel file di configurazione di X /dev/gpmdata come device per il mouse

Tasti windows in X
^^^^^^^^^^^^^^^^^^

aggiungere in ~/.Xmodmap::

keycode 115 = F13
keycode 116 = F14
keycode 117 = F15

quindi in .xsession: modmap ~/.Xmodmap. Ora F13, F14 e F15 sono sx-Win
, dx-Win e menu-contestuale.

Esportare il display tramite ssh
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Assicurarsi che sul server sia abilitata la voce::

X11Forwarding yes

in /etc/ssh/sshd_config, quindi sul client esportare il display *prima* di effettuare la connessione ssh::

export DISPLAY=:0.0

a questo punto collegandosi via ssh al server con le opzioni::

ssh -X -C (per la compressione)

è possibile lanciare le applicazioni in modo che visualizzino il display sul client, attenzione sul server dev’essere installato il client X (xbase-clients per DebIan)

Gestione font decenti
^^^^^^^^^^^^^^^^^^^^^

installare possibilmente i font di Microsoft, su debian::

apt-get install msttcorefonts

sistemare sempre per primi i font “bitmapped” nel file di configurazione di xfree, esempio::

FontPath “/usr/lib/X11/fonts/100dpi” # font bitmap
FontPath “/usr/lib/X11/fonts/75dpi”
FontPath “/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType” # font scalabili
FontPath “/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID”
FontPath “/usr/lib/X11/fonts/encodings”

Cambiare i font di un applicazione
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E’ sufficente utilizzare xlsfonts e inserire il font selezionato nel
file ~/.Xdefault, esempio::

*xterm*font:

si possono fare delle prove con::

xterm -fn

una volta terminato lanciare::

xrdb -merge ~/.Xdefault

Cambiare i font per GTK 1.X
^^^^^^^^^^^^^^^^^^^^^^^^^^^

E’ sufficente utilizzare gtkfontsel e inserire il font selezionato nel
file ~/.gtkrc, esempio::

style “default”
{
font = “-adobe-courier-medium-r-normal-*-12-120-75-75-m-*-*-*”
}

Avviare un applicazione all’avvio di xdm senza la necessità del login dell’utente
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Creare uno script e salvarlo in /etc/X11/xdm/Xsetup, attenzione viene lanciato dall’utente root

Installazione di grub
———————

::

grub-install device

Hylafax: stampare i fax in entrata
———————————-

Per stampare direttamente i fax in entrata di hylafax , aggiungere nel
file /var/spool/fax/bin/faxrcvd il comando::

$FAX2PS $1 | lpr

Chi utilizza cosa
—————–

Per vedere che processo sta utilizzando la tal porta
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

fuser port/tcp o udp

Per vedere che processo sta utilizzando il tal file
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

lsof | grep file

Per vedere i processi che stanno in ascolto
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

netstat -l

Cambiare una stringa in uno o più file
————————————–
::

sed -i ‘s:stringadasostituire:stringanuova:g’ *

oppure::

perl -pi -e ‘s/stringadasostiruire/nuovastringa/g’ *

cambiare password ad un utente di postgresql
———————————————

::

alter user utente with password ‘password’;

o se si usano password criptate::

alter user utente with crypted password ‘password’;

Configurare la scheda sonora
—————————-

Installare la documentazionie del kernel e seguire le indicazioni per
la propria scheda, “pnpdump > isapnp.conf“ genera il file di
configurazione da editare per abilitare le varie opzioni, usare
modconf per installare definitivamente i moduli

Togliere i beep fastidiosi
————————–

in x::

xset b off

in console::

setterm -blength 0

Togliere i messaggi di errore dalla console
——————————————-

Modificare /etc/syslog.conf in modo da deviare il log su file , o per
bloccarlo definitivamente::

dmesg -n1

Estrarre un attachment mime da un file
————————————–

::

metamail -w file

Dischi CD Floppy Chiavette USB
——————————-

Copiare una distro da una partizione all’altra (anche non uguali)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

tar cfv – * | (cd /mnt/disk2 ; tar xfv -)

oppure::

cp -avx /mnt/dev1 /mnt/dev2

altrimenti::

cp -ra / /hda2

Ricreare il device di un disco
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

mknod -m 660 nomedev( per es hda1) b 3 1

per debian poi::

chgrp disk nomedev

Per rimontare un disco in rw
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

mount /device -o remount,rw

Recupero di un floppy danneggiato
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

RecuperaDischetto, con una ricetta di Andrea Gelpi

Masterizzare
^^^^^^^^^^^^

Aggiungere un masterizzatore ide senza ricompilare il kernel originale
======================================================================

in /etc/lilo.conf aggiungere::

append=”hdX=ide-scsi” dove X e’ la lettera del device

e in /etc/modules::

ide-scsi

CD Audio
========

::

cdrdao copy –on-the-fly –speed 2 –device 0,0,0 –source-device 0,1,0 \
–driver generic-mmc –source-driver generic-mmc –force

CD Dati
=======

::

cdrecord -v dev=0,0,0 speed=4 -isosize /dev/cdrom

Convertire da ext2 a ext3 e viceversa
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Anche su fs montato::

tune2fs -j /dev/hdaX

su fs *smontato*::

tune2fs -O ^has_journal /dev/hdaX

e per sicurezza::

fsck.ext2 -f /dev/hdaX

Utilizzo chiavetta usb
^^^^^^^^^^^^^^^^^^^^^^

Assicurarsi di avere in /etc/fstab::

usbdevfs /proc/bus/usb usbdevfs defaults,noauto 0 0

installare il modulo usb-storage::

modprobe usb-storage

ora è possibile montare la chiavetta::

mkdir /mnt/chiavetta
mount /dev/sda1 /mnt/chiavetta

in realtà sda1 è il nome del device in una configurazione desktop standard
(senza dischi scsi ecc), comunque caricando il modulo usb-storage
in /var/log/messages si dovrebbe vedere il nome del device assegnato, nel caso non esistesse il device è possibile crearlo con MAKEDEV::

cd /dev/
MAKEDEV sda

eventualmente è possibile modificare l’fstab in modo da poter montare la chiavetta agilmente da kde o gnome::

/dev/sda1 /mnt/chiavetta auto user 0 0

Avere un report dell’hardware del sistema
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Si può utilizzare il comando::

lshw

Uso di GNU PG
————–

Creare una nuova chiave
^^^^^^^^^^^^^^^^^^^^^^^^

::

gpg –gen-key

Esportare una chiave pubblica
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

gpg –armor –export

Copiare la chiave privata di Gnu PG da una macchina ad un’altra
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

gpg -armor –export-secret-keys “nome e/o indirizzo di posta” > mykey.sec

gpg –import –allow-secret-key-import < mykey.sec Ascoltare la radio è facile --------------------------- Rai 3 ad esempio è ascoltabile con:: realplay http://www.radio.rai.it/new_player/radio3.ram Disabilitare il reboot con CTRL ALT CANC ---------------------------------------- commentare la line in /etc/inittab:: ca::ctrlaltdel:/sbin/shutdown -t3 -r now Ripristinare la password di root -------------------------------- Fare il boot specificando Linux init=/bin/sh:: # mount -n -t remount,rw / # mount -avt nonfs,noproc,nosmbfs # cd /etc # vi passwd # vi shadow mettere il secondo campo (la password) vuoto Il primo mount fa si che il root filesystem (dove presumibilmente giace la directory /etc e quindi il file delle password...) sia scrivibile; il secondo monta tutti gli altri filesystem che non siano NFS o roba comunque non utile. La modifica della password a questo punto può essere fatta con un qualsiasi editor, come indicato sopra, oppure normalmente con il solito:: # passwd Enter new UNIX password: Retype new UNIX password: Rinominare una serie di file ---------------------------- Esiste l'utilissima utility rename contenuta nel pacchetto perl:: rename 's/pippo/pluto/' * macutio segnala un'alternativa contenuta in util-linux che usa questa sintassi:: rename from to files from: la substring da sostituire to: la substring con cui sostituire from files: il file cui applicare la sostituzione Kernel ------ Dove diavolo trova Linux l'elenco dei moduli da installare? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Due cose da sapere riguardo ai moduli: 1. il caricamento di alcuni moduli viene effettuato al volo quando ce n'è bisogno (se il kernel e` stato compilato per comportarsi cosi`, ed è la stragrande maggioranza dei casi). Tipicamente ciò succede quando si tenta di accededere a un block device o ad un char device in /dev. Ad esempio, quando si tenta di accedere ad un dispositivo SCSI, il kernel di fatto manda in esecuzione un bel:: modprobe block-major-8 e normalmente, in /etc/modules.conf c'e` un bel:: alias block-major-8

per cui l’effetto finale è quello per cui vien fatto un modprobe
del modulo specifico, che risulta nel caricamento del modulo e di
tutti gli altri moduli da cui esso dipende. Bello, eh? 🙂

2. oppure, negli script di boot (del tipo /etc/rc.d/boot.local o
simili, cambiano da distribuzione a distribuzione), ci sono i
vari::

modprobe

del caso.

modprobe è un comando che non fa altro che leggere il proprio
file di configurazione (che è /etc/modules.conf) e lanciare insmod e
rmmod (che fanno il “vero” lavoro) con i parametri opportuni.

C’è da tener ben presente una differenza fondamentale tra l’usare
modprobe e l’usare direttamente insmod/rmmod:

3. modprobe è a conoscenza delle dipendenze esistenti tra i moduli (e
oltre a caricare quello che gli dici, carica prima anche quelli di
cui ha bisogno, eventualmente eseguendo anche le fasi di pre e post
install e passando le opzioni specificate con *options*). E tanto
per cambiare, viene fatto esattamente l’opposto quando si tratta di
rimuovere un modulo (“modprobe -r“).

4. insmod invece non sa niente di tutto questo.

Per cui la regoletta è: usare sempre modprobe, salvo che non si abbia
una ragione valida per usare insmod/rmmod.

Il kernel esegue::

modprobe -s -k (attraverso una call a `request_module()

– “-s“ per fare il logging attraverso syslogd e

– “-k“ per impostare l’autocleaning sul modulo caricato (o moduli)
dopo aver adeguatamente settato l’environment.

Questo meccanismo è piuttosto singolare: il kernel invoca un programma
in userspace. Da quanto capisco, è stato scelto di fare così perché
questa strategia semplificava di molto la gestione del loading on
demand dei moduli (cioè non si deve replicare buona parte di quello
che fa “modprobe“ in kernel space, modprobe permette una discreta
flessibilità e configurabilità, vedi le varie
“pre-install“/“post-install“/“pre-remove“/“post-remove“).

`Come viene spiegato qui`__, è possibile correggere il path del
programma da eseguire sostituendo il valore di default.

__ http://www.linuxhq.com/kernel/v2.4/doc/kmod.txt.html

Sembra che la cosa sia piaciuta, perché in realtà il kernel offre un
meccanismo del tutto generale per richiedere l’esecuzione di
programmi in userspace: “call_usermodehelper“, che apparentemente
funziona come la nota “execve(2)“.

Note per kernel hackers: “call_usermodehelper()“ e
“request_module()“ sono sincrone, cioè dormono finché il programma
invocato non è terminato (con ovvie conseguenze su gestione di
lock/semafori e necessità di scrivere codice rientrante) e non c’è
verso di sapere se l’azione fatta dal programma invocata si è conclusa
con successo o meno. Il codice è simile a::

available = check_for_feature();
if (!available)
request_module(“feature”);
if (!check_for_feature())
goto error
else
goto success

Riferimenti:

* kernel/kmod.h e kernel/kmod.c

* Documentation/modules.txt

* net/socket.c per un esempio di come usare request_module()

* http://www.xml.com/ldd/chapter/book/ch11.html

p.s. : DebIan offre quel favoloso strumento che si chiama modconf!:)

Spiccioli di grafica
——————–

Immagine trasparente con Gimp?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

Livello -> Trasparenza -> Aggiunta canale alpha

Seleziona -> Per colore

Modifica -> Pulisci

Ridurre le dimensioni di un filmato
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

apt-get transcode 😉

transcode -i originale.mpg -y ffmpeg -F mpeg4 -o ridotto.mpg -Z 400×200

Qemu, boot da CD
—————-

Creare un immagine su disco::

dd of=nomeimmagine.img bs=1024 seek=numerobyte count=0

nota, numero byte può essere espresso anche in mega esplicitando una M maiuscola dopo la cifra, un esempio di avvio di qemu con l’immagine creata::

qemu -hda nomeimmagine.img -cdrom /dev/cdrom -boot d -m 256 -enable-audio -user-net -pci

— diaolin: puoi trasformare le immagini di vmware in immagini di qemu con vmdk2raw.

— diaolin: puoi creare una immagine anche senza usare dd ma lanciando il comando::

qemu-mkcow [-f disk_image] cow_image [cow_size]

esempiuccio::

immagine raw da 5Gb
qemu-mkcow nuova.raw 5000

Utilizzo di find
—————-

Esempio di utilizzo di find::

find /directory/ -iname “file*” -exec cat {} \;

Conversione di codifica dei file con iconv
——————————————

iconv è un utility che permette di convertire un file da una codifica all’altra, il programma si blocca se c’e’ qualche carattere non supportato nella nuova codifica visualizzando la riga contenente l’errore è quindi possibile sistemare il file, esempio di utilizzo::

iconv –from-code utf-8 –to-code iso-8859-1 file.txt -o file.new

Caratteri di escape
——————-

A volte è utile utilizzare dei caratteri di escape, ad esempio per colorare il file /etc/motd (il benvenuto che si ha quando ci si collega ad un PC), il carattere di escape viene rappresentato con ^[ ma è un carattere singolo non due, per produrlo o utilizzare un editor pensato a questo scopo tipo::

tetradraw

oppure ecco alcune note per gli editor più comuni::

emacs: ^Q ESC
vi: ^V ESC
joe: ` 0 2 7
jed: ` ESC

alcuni caratteri di escape utili::

blu ^[[44;37m
normale ^[[40;37m
clear ^[[H^[[J

altri colori::

Nero 0;30 Grigio Scuro 1;30
Blu 0;34 Blu Chiaro 1;34
Verde 0;32 Verde Chiaro 1;32
Ciano 0;36 Ciano Chiaro 1;36
Rosso 0;31 Rosso Chiaro 1;31
Viola 0;35 Viola Chiaro 1;35
Marrone 0;33 Giallo 1;33
Grigio Chiaro 0;37 Bianco 1;37

fonte: http://it.tldp.org/HOWTO/Bash-Prompt-HOWTO-5.html

WordPress Appliance - Powered by TurnKey Linux