September 13, 2007

Transcription

September 13, 2007
UNIX
September 13, 2007
1
La puissance d’Unix par rapport au système
informatique le moins posix et le plus diffusé au monde ne réside pas que dans sa
stabilité. Les possibilités de configuration sont infinies, et les outils de gestion du
sytème très performants, en particulier la ligne de commande (shell / console)
qui permet de presque tout faire avec. Ce ne sont pas les pages internet sur le
sujet qui manquent, aussi je ne peux que conseiller de s’y reporter pour des explications plus complètes. Voir par exemple : http://fr.wikipedia.org/wiki/Unix
pour une présentation générale et l’histoire d’Unix.
Nous n’allons pas faire d’explications détaillées sur le système, mais donner quelques indications qui peuvent servir pour mieux le comprendre ou le
dépanner. Cela peut également m’aider pour avoir toujours sous la main les
diverses astuces que j’ai pu découvrir au fil du temps. Les notes qui vont suivre
proviennent toutes soit de découvertes personnelles, soit de renseignements pris
sur internet. A utiliser à vos propres risques. Je suis également constamment
en train de les réorganiser, donc il peut y avoir des inversions, de mauvais placements etc.
Quelques conseils additionnels : Même si un système de fenêtrage et de
bureau comme celui livré avec KDE ou Gnome est très intéressant, il peut être
très instructif d’essayer quelque chose de moins convivial , mais qui permet
un apprentissage plus rationnel du système. WindowMaker est tout indiqué,
car même si une partie est très intuitive, il nécessite quand même d’utiliser
certaines commandes en console. Loin d’être rébarbative, la console est un outil
très puissant.
Consulter la source de ce document au format txt2tags
Ce travail est publié sous licence Creative Commons BY-NC-SA
Contents
Linux
Actuellement le système qui a le vent en poupe et est le plus connu du grand
public, il a permis le développement de nombreux projets liés aux Unix.
2
réseau et internet
Configurer le réseau manuellement
ifconfig eth0 192.168.0.2 netmask 255.255.255.0 up
route add default gateway 192.168.0.2
echo "nameserver 193.252.19.3" >> /etc/resolv.conf
# l’exemple donné est celui de Wanadoo
echo "nameserver 194.2.0.20" >> /etc/resolv.conf
# oleane (ainsi que 194.2.0.50)
pour modifier sous Debian le type d’interface (dhcp ou ip fixe) :
/etc/network/interfaces
indiquer INET = DHCP ou INET=STATIC
DNS
les DNS (système de noms de domaine) se trouvent dans le fichier de configuration /etc/resolv.conf
Normalement il vaut mieux utiliser un serveur de son fournisseur d’accès,
mais en cas de panne on peut en utiliser un public, par ex :
nameserver 193.22.143.11
# serveur DNS public de Cyrealis : Clubic, Jeuxvideo.com
on trouve une liste de DNS publics ici :
http://80.247.230.136/dns.htm (attention au phishing quand même...)
Désactiver ipv6
si vous n’avez pas accès à l’ipv6, autant le désactiver.
• debian In /etc/modprobe.d/aliases alias net-pf-10 off alias ipv6 off
http://beranger.org/index.php?article=1127
• suse Changer dans /etc/modprobe.conf alias net-pf-10 ipv6 -> alias netpf-10 off alias ipv6 off (Reboot éventuel)
Désactiver le window scaling TCP
Il est parfois mal perçu par certains parefeu ou routeur :
temporairement :
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
il est possible de modifier plus finement :
echo 4096 65536 65536 >/proc/sys/net/ipv4/tcp_rmem
echo 4096 65536 65536 >/proc/sys/net/ipv4/tcp_wmem
définitivement : mettre ”net.ipv4.tcp window scaling=0” dans /etc/sysctl.conf
3
Régler le MTU
Il est possible de modifier le MTU (maximum transfert unit, c-à-d la taille
maximale de chaque paquet IP transmis) avec :
ifconfig ppp0 mtu 800
La valeur par défaut est de 1500. Baisser cette valeur peut être efficace sur
une connexion modem ou qui a des difficultées.
Changer le protocole de négociation (half / full duplex)
• Linux
mii-tool -F 100baseTx-FD eth0
les options possibles sont : 100baseTx-FD, 100baseTx-HD, 10baseT-FD,
or 10baseT-HD
• BSD
Editer le fichier /etc/rc.conf et inclure la ligne : ifconfig rl0="100baseTX
mediaopt full-duplex", puis relancer /etc/netstart (rl0 peut changer en
fonction du modèle de la carte)
Services http
Il permettent une gestion de la machine au travers d’un navigateur internet
• swat (http://localhost:901) pour configurer le partage samba
• webmin (http://localhost:10000) pour configurer le système
• cups (http://localhost:631) pour configurer les imprimantes
IP Masquerade
faire un script dans ce style, et le lancer au démarrage de la machine, ou après
la connexion :
#!/bin/bash
case $1 in
start)
echo Starting IP Masquerade
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
4
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
echo "1">/proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
;;
stop)
echo Stopping IP Masquerade - not yet implemented ;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage : ipmask {start|stop|restart}"
exit 1
esac
exit 0
Installer un proxy apache
modifier httpd.conf en retirant les commentaires (débutant par #) des lignes
qui parlent de proxy ex :
LoadModule
LoadModule
LoadModule
LoadModule
proxy_module modules/mod_proxy.so
proxy_connect_module modules/mod_proxy_connect.so
proxy_http_module modules/mod_proxy_http.so
proxy_ftp_module modules/mod_proxy_ftp.so
et ensuite inclure ces lignes :
<IfModule mod_proxy.c>
ProxyRequests On
<Proxy *>
Order deny,allow
Deny from all
Allow from 192.168.0.2
Allow from 192.168.0.3
#indiquer l’ip des ordinateurs qui se connecteront à ce proxy.
#Ensuite renseigner ces ordinateurs avec adresseserveur:port,
#par ex 192.168.0.1:80]
</Proxy>
</IfModule>
Ports
rpcinfo -p : liste des ports
5
lsof -i : liste les fichiers n rapport avec une connexion internet
netstat -a : info sur les connexions
fuser
ifconfig : entre-autres permet de savoir sa propre adresse ip
iftop: liste les connexions
pppstatus : liste le traffic réseau
cat /proc/net/dev : activité réseau.
sudo lsof -i -n -P : voir les ports ouverts
netstat -pan | grep :21 (par exemple ici port 21)
netstat -lntup : Pour connaı̂tres les programmes derrière les ports ouverts
(en root)
iptables -L -v -n : voir les ports
divers
Installer LAMP (Linux, Apache, MySQL, Php)
(voir http://www.ac-creteil.fr/reseaux/systemes/linux/installation-lamp-debian.html)
Ou sinon utiliser xampp si c’est juste pour du développement : http://www.apachefriends.org/fr/xampp.html
Sous Debian, apt-get install phpmyadmin devrait suffire à tout installer du
fait des dépendances.
Quelques ip courantes
• pour tester une connexion si besoin est :
http://www.google.com = 216.239.41.104
http://mail.yahoo.fr = 216.109.127.30
http://www.free.fr = 213.228.0.42
==== Des moteurs de recherche alternatif ====
http://www.webcrawler.com/webcrawler/ws/results/Web/web search/1/417/TopNavigation/Relevance/
http://www.alltheweb.com/search?cat=web&cs=iso88591&q=web+search&rys=0&itag=crv& sb lang=
http://www.altavista.com/web/results?itag=ody&q=web+search&kgs=0&kls=0
http://www.exalead.fr/search/results?q=web+search&x=393&y=8&%24mode=allweb
http://search.yahoo.com/search; ylt=A0oGkmBwFlRG4lUAWH.l87UF?ei=utf8&fr=sfp&p=web+search&iscqry=&fspl=1 http://www.metacrawler.com/info.metac/search/web/web%
/1/-/-/-/1/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-//-/-/-/-/-/-/-/-/-/-/-/-/417/top/-/-/-/1
moteur de recherche en ligne de commande : http://yubnub.org/
• exalead pour konqueror : ajouter http://www.exalead.fr/search/results?q=\{@}
• exalead firefox il faut aller sur : http://mycroft.mozdev.org/
6
Faire une copie d’écran d’un site en mode console
kwebdesktop 800 600 vignette.png http://ifiction.free.fr/
Modifier le nom de machine
hostname nomdemachine : défini le nom de machine modifier également /etc/hosts
/etc/hostname éventuellement /etc/samba/smb.conf
Samba
voici la partie qu’il faudra ajouter à fstab pour monter directement un partage
distant, et en autoriser l’accès à tous les utilisateurs de la machine :
//cheminreseau /mnt/chemindemontage smbfs auto,users,umask=0777,username=votrelogin,password
Si le montage ne se fait pas correctement, taper : mount -a ou mount
//serveur/repertoire
Pour un montage direct :
mount -t smbfs -o username=votrelogin,password=votremotdepasse //cheminreseau /mnt/chemindem
Du côté serveur (au sens large, c’est à dire ordinateur où on se connecte),
soit cela tourne sous MSWindows et il n’y a qu’à définir les partages et les mots
de passe à partir de là, soit il faut modifier sous linux ce fichier en ajoutant ce
type d’entrée :
section /etc/samba/smb.conf :
[eric]
comment = Eric
path = /home/eric
browseable = yes
read only = no
puis :
/etc/init.d/samba restart
Ne pas oublier de définir un ou des utilisateurs Samba avec la commande :
smbpasswd -a login motdepasse
pour configurer un serveur public sans aucune restriction d’accès, il faut
avoir un fichier smb.conf sur ce modèle :
[global]
workgroup = votre-groupe-de-travail
netbios name = nom-ordinateur
os level = 20
7
encrypt passwords = true
server string = Serveur public
security = share
[partage]
writeable = yes
public = yes
path = /partage
browseable = yes
read only = no
force user = root
force group = root
Nfs
Il peut sembler plus logique d’utiliser NFS si toutes les machines tournent sous
linux : voir les fichiers /etc/exports, /etc/hosts.allow, /etc/hosts.deny (exportfs
-ra après edition)
/etc/exports contiendra par exemple : # repertoire liste-machines-autorisées
(liste-options) /home/fichierpartage machine1(ro) machine2(rw)
pour valider, faire exportfs -a et relancer le service nfs
pour monter un répertoire nfs distant, modifier dans fstab :
adresseip:/home/fichierpartage
/mnt/pointdemontage
nfs
(nfsvers=2 est optionel, uniquement pour les vieux serveurs unix nfs par
exemple)
mount -t nfs adresseip:/home/fichierpartage
/mnt/pointdemontage
ou pour les vieux serveurs unix :
mount -o nfsvers=2 adresseip:/home/fichierpartage
/mnt/pointdemontage
Ftp
utiliser vsftpd, rapide et facile à configurer si cela bloque à cause de xinetd :
kill -hup ‘pgrep xinetd‘
voir http://www.siliconvalleyccie.com/linux-hn/ftp-server.htm
sinon avec pure-ftp http://www.trustonme.net/didactels/?rub=57
En fait pour lancer le serveur, une commande comme :
pure-ftpd -A -H
peut suffire (je pense qu’il doit y avoir quelques sécurités là dessus, contrairement à la commande toute seule).
Par contre il faut juste configurer quel répertoire sera partagé, et pour cela
je te conseille de lire cette page : http://www.trustonme.net/didactels/57.html
en gros c’est :
8
defaults,nfsvers=
# mkdir /var/ftp
Vérifier que notre utilisateur/groupe ftp n’existe pas déjà:
# cat /etc/passwd|grep ftp
ftp:x:14:50:FTP User:/var/ftp:
# cat /etc/group|grep ftp
ftp:x:50:
Comme on peut le voir ici, l’utilisateur ftp existe déjà avec /var/ftp comme
répertoire maison et il appartient au groupe ftp. Donc rien a faire en théorie,
mais pour les besoins de l’exemple on va faire comme si on avait rien vu ;-)
Création de l’utilisateur ftp:
$ su
Password:
# groupadd -g 23 ftp
# useradd -d /var/ftp -g 23 -u 14 ftp -s /bin/false
c’est pas bien difficile, et une fois que c’est fait, on est tranquille, il y a juste
à lancer le serveur à distance.
Ici il y a une note pour avoir une adresse à jour avec dyndns : http://guides.ovh.com/DynDns/contenu.html
regarder du côté du script Addns.pl
sécurité
Parefeu
partage réseau, manage firewall : firestarter
• Redirection de port
/sbin/iptables -t nat -A PREROUTING -p tcp
--dport 5151 -j DNAT --to 192.168.0.45:22
ceci redirige le traffic tcp arrivant sur le port 5151 vers la machine locale
192.168.0.45 port 22
et pour sauvegarder la règle (sous fedora dans l’exemple) :
/sbin/iptables-save > /etc/sysconfig/iptables
• ouvrir un port :
/sbin/iptables -A INPUT -p tcp --dport 8080
• voir les redirections : /sbin/iptables -nL -t nat
• voir les informations sur iptables :
/sbin/iptables -nL -v –line-numbers
=== ssh ===
9
-m state --state NEW -j ACCEPT
• Connexion shell sécurisée ssh
pour une connexion distante sécurisée (remplace telnet) ssh utilisateur@serveur
• limiter l’accès ssh a quelques utilisateurs seulement
ajouter à /etc/ssh/sshd config la ligne :
AllowUsers user1 user2
Port 9022 % change le port
PermitRootLogin no
MaxStartups 2 %limite le nombre de tentatives de connexions
MaxAuthTries 2
pour avoir les logs des utilisateurs connectés de la semaine
cat /var/log/secure.4 | grep Accepted | awk -F’ ’ ’{print $1" "$2" "$9}’ | uniq -u
installer également ”denyhosts”
• Ouvrir un ou des tunnels SSH
Cette commande permet d’ouvrir un tunnel ssh à un port que vous choisirez.
Traditionnellement, pour les ports systèmes (en dessous de 1000), on rajoute 1000 à ce port.
sudo ssh -N -f monlogin@serveur -L1080:192.168.26.166:80 sleep 60
sudo ssh -N -f monlogin@serveur -L1022:192.168.26.166:22 -L1080:192.168.26.166:80 -X -L
Pour se connecter sur un port donné, il suffit de se connecter en local sur
le port indiqué. Par exemple pour faire du X forward en passant par un
serveur qui n’a pas X11 :
ssh monlogin@localhost -p 1022 -X
• Vérifier les utilisateurs qui se sont loggés récemment en ssh
cat /var/log/secure.1 /var/log/secure | grep Accepted | awk -F’ ’ ’{print $1" "$2" "$9}
nmap (Scanner des adresses ip)
nmap -vv -sV adresse (attention, cette commande peut être mal interprétée
ou considérée comme une attaque sur le réseau...)
juste sur un port :
nmap -vv -sV -p 80 adresse
10
nmap -sS -O -PI -PT 192.168.0.0/24 : voir les machines sur le réseau +
diverses info
====conseils sécurités réseau ===
(trouvé sur linuxfr, librement adapté)
sécurité info :
Pour les vecteurs d’attaque, en général
• L’échelon 1 est de charger un script php ou ruby qui va permettre d’avoir
un pseudo-shell.
• L’échelon 2 est accéder a un compte ssh, pour ça on va casser en brute
force tout les mots de passe dispo dans des htpasswd et autre lisibles
• L’échelon 3 on essaye de passer root (sudo, suid, ou kernel vulnérable)
• L’échelon 4 on maquille le tout
Pour se protéger :
– NE LAISSEZ JAMAIS LISIBLE par l’utilisateur sous lequel les script
php tournent les fichiers contenant des mots de passe
– utilisez des mot de passe aléatoires pour les accès à la base de donnée
sql
– ne jamais utiliser un mot de passe pour le compte unix utilisé dans
une base sql (sinon ils auront qu’à faire un coup de john et ils ont
l’accès ssh)
– ne pas mettre une pubkey pour ssh dans son home (s’ils obtiennent
le compte unix, un accès ftp, pop ou autre c’est game over)
– ne pas mettre de sudo root (ou alors le désactiver automatiquement
à la déconnexion)
scp
scp permet de copier d’une machine à une autre de façon sécurisée (sur le modèle
de la connexion ssh), il remplace rcp. Sa syntaxe est :
scp fichier nom@url:chemin
voir aussi : sftp://serveur dans konqueror secpanel (http://www.pingx.net/secpanel/)
• Anonymat
Tor + privoxy permet d’ajouter une couche de sécurité supplémentaire
(proxy)
• Autorisation de redémarrage par [alt]+[ctrl]+[del] :
Dans /etc/inittab, modifier la ligne ca::ctrlaltdel:/sbin/shutdown -r now
(ou équivalente) par ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now
11
mettre un fichier nommé shutdown.allow dans le répertoire /etc , et inclure
dans ce fichier le nom des utilisateurs autorisés à rebooter par [alt]+[ctrl]+[del]
Pour autoriser tout le monde à le faire par défaut, sans créer de nouveau
fichier shutdown.allow, il suffit de changer la même ligne par :ca::ctrlaltdel:/sbin/shutdown
-t3 -h now
sinon utiliser sudo halt
ssh et rsync
créer un fichier pour ssh2 (id dsa et id dsa.pub)
ssh-kengen -t dsa
copier la clé sur le serveur où on veut avoir une connexion automatique :
scp .ssh/id_dsa.pub login@serveur:.ssh/keys2
et une fois sur le serveur copier la clé générée à la fin du fichier authorized keys2 :
cat keys2
authorized_keys2
(http://linux.developpez.com/secubook/node64.php)
dans le cas où vous voulez une clé sans mot de passe, pour un serveur rsync
par exemple :
Générer la clé, en root, sur le client : ssh-keygen -t dsa choisir comme
destination par exemple /root/.ssh/remotehost.id dsa mot de passe vide dans
/root/.ssh/config :
Host remotehost
User root
Compression yes
Protocol 2
RSAAuthentication yes
StrictHostKeyChecking no
ForwardAgent yes
ForwardX11 yes
IdentityFile /root/.ssh/remotehost.id_dsa
copier /root/.ssh/remotehost.id dsa.pub et copier le contenu à la fin du
fichier du serveur : /root/.ssh/authorized keys2 file
(http://killyridols.net/rsyncssh.shtml) (http://www.jdmz.net/ssh/)
script de sauvegarde :
#!/bin/sh
#########################################################
12
# Script to do incremental rsync backups
# Adapted from script found on the rsync.samba.org
# Brian Hone 3/24/2002
# adapted later...
# This script is freely distributed under the GPL
# http://www.fr.linuxfocus.org/Francais/March2004/article326.shtml
#########################################################
##################################
# Configure These Options
##################################
###################################
# mail address for status updates
# - This is used to email you a status report
###################################
MAILADDR=youremail@yourhostname
###################################
# HOSTNAME
# - This is also used for reporting
###################################
HOSTNAME=yourhostname
###################################
# directory to backup
# - This is the path to the directory you want to archive
###################################
BACKUPDIR=/home
BACKUPDIR2=/var/spool/mail
###################################
# excludes file - contains one wildcard pattern per line of files to exclude
# - This is a rsync exclude file. See the rsync man page and/or the
#
example_exclude_file
###################################
EXCLUDES=/home/exclude_rsync
###################################
# root directory to for backup stuff
###################################
[email protected]:/home/sauvegardes/
#########################################
# From here on out, you probably don’t #
#
want to change anything unless you #
13
#
know what you’re doing.
#
#########################################
# directory which holds our current datastore
CURRENT=main
# directory which we save incremental changes to
INCREMENTDIR=‘date +%Y-%m-%d‘
# options to pass to rsync
OPTIONS="-e ssh --force --ignore-errors --delete --delete-excluded \
--exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -avz"
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
# make sure our backup tree exists
install -d $ARCHIVEROOT/$CURRENT
# our actual rsyncing function
do_rsync()
{
rsync $OPTIONS $BACKUPDIR $ARCHIVEROOT/$CURRENT
rsync $OPTIONS $BACKUPDIR2 $ARCHIVEROOT/$CURRENT
}
# our post rsync accounting function
do_accounting()
{
echo "Backup Accounting for Day $INCREMENTDIR on $HOSTNAME:">/tmp/rsync_script_tmpfile
echo >> /tmp/rsync_script_tmpfile
echo "############################">>/tmp/rsync_script_tmpfile
du -sh $ARCHIVEROOT/* >> /tmp/rsync_script_tmpfile
echo "############################">>/tmp/rsync_script_tmpfile
df -h >> /tmp/rsync_script_tmpfile
echo "Mail $MAILADDR -s $HOSTNAME < /tmp/rsync_script_tmpfile"
Mail $MAILADDR -s $HOSTNAME < /tmp/rsync_script_tmpfile
echo "rm /tmp/rsync_script_tmpfile"
rm /tmp/rsync_script_tmpfile
}
# some error handling and/or run our backup and accounting
if [ -f $EXCLUDES ]; then
if [ -d $BACKUPDIR ]; then
# now the actual transfer
do_rsync && do_accounting
else
14
echo "cant find $BACKUPDIR"; exit
fi
else
echo "cant find $EXCLUDES"; exit
fi
Sauvegardes incrémentielles
• Utilisation de rsync
rsync -cvrtz --delete --stats --progress --backup
--backup-dir="Backups/"‘eval date +%Y%m%d-%H%M%S‘"/" --suffix=""
--exclude="Backups/" --exclude="Temp/" /chemin/dossier
rsync://serveur/utilisateur
front end : WINrsync
• Utilisation de unison
http://www.jalix.org/ressources.maison/2s/unison/html/index.html
unison nom où nom.prf est le fichier de configuration situé dans le répertoire
.unison (il est bien sûr possible de le faire fonctionner en ligne de commande pour débuter, avec deux répertoires bidons).
root = ssh://machine//rep répertoire racine distant
root = replocal répertoire racine local
path = sousrep sous-répertoire de root à synchroniser
follow = symlink suivre le lien symbolique symlink
ignore = Name *.o ignorer les fichiers .o
log = true créer un fichier log
logfile = .unison/log le nom du fichier log
include = nom include le fichier nom.prf du répertoire .unison
par exemple chez moi j’ai cela pour archiver mes documents de travail :
~/.unison/wd.prf
# Unison preferences file
root = /home/eric/_mesdocs
root = /media/WDPASSPORT5/ERIC/_mesdocs
prefer = /home/eric/_mesdocs
#supply a ssh key without a password
15
#sshargs = -i /root/unison-key
#file attributes
#times = true
#owner = true
#group = true
#merge = diff3 -m CURRENT1 OLD CURRENT2 > NEW
#backup
backup = Name *
#backup everything
#backuplocation = central
#do not store in same dir
#backupdir = /tmp/unisonbackup
#store here
maxbackups = 5
#minbackups = 2 #deprecated ?
#delete after 30 days
#maxbackupage = 30 #deprecated ?
ignore
ignore
ignore
ignore
ignore
=
=
=
=
=
Name
Name
Name
Name
Name
Thumbs.db
*~
*.tmp
.DS_Store
._.DS_Store
# place new files at the top of the list
sortnewfirst = true
Login automatique
mingetty http://easymamecab.mameworld.net/html/autologin.htm
/etc/inittab file, before and after.
1:2345:respawn:/sbin/mingetty
2:2345:respawn:/sbin/mingetty
3:2345:respawn:/sbin/mingetty
4:2345:respawn:/sbin/mingetty
5:2345:respawn:/sbin/mingetty
6:2345:respawn:/sbin/mingetty
tty1
tty2
tty3
tty4
tty5
tty6
1:2345:respawn:/sbin/mingetty --autologin utilisateur tty1
2:2345:respawn:/sbin/mingetty tty2
shell et console
Quelques commandes générales Unix
ces commandes ne sont pas à proprement parler des programmes complets, ce
sont des utilitaires livrés avec le ”shell”, l’interface de la console. On les trouve
16
en général sur toutes les distributions de Linux, et parfois sur Unix.
permet d’entrer du code directement à copier / coller dans la console, jusqu’à
la partie EOF
cat > fichier << "EOF"
ls -all # code...
df -h
# code etc...
EOF
lynx -head http://site... : donne des info sur le serveur du site
mkdir -p /chemin/suitechemin/dossier : créer un répertoire avec chemins
complets
ps -afx : liste processus avec arborescence hiérarchique
ps axfw : variante
procinfo -a : infos sur la machine et ce qui tourne dessus.
strace -eopen programme : voir les différentes procédures exécutée et les
appels de modules lors du démarrage d’un programme
clear / ctrl + l : efface l’écran de la console (remet à 0)
free -mt : utilisation de la ram (indications en Mo)
vmstat -S M -s : ram
df -h : utilisation des disques
dmesg : messages utiles sur la configuration, générés par le noyau
lesspipe : permet d’afficher le contenu de diverses archives avec less. Sous
bash export LESSOPEN="| /usr/bin/lesspipe %s". Dans certaines distribution les commandes lesspipe et less sont déjà liées.
chown eric /home/eric -R : change l’appartenance de tous les fichiers du
répertoire /home/eric et ses sous répertoire
killall programme : arrête le programme
ln -s /chemin/source/ /chemin/lien : créé un lien symbolique vers source
modprobe ehci-hcd : active USB2 ? modprobe -r usb-ohci : desactive module
usb-ohci modprobe -c : liste les modules
echo ”test” > /dev/pts/9 : affiche le message ”test”? sur l’écran virtuel 9
(valable également pour tty1 etc...)
http://ordiluc.net/fs/libetc/ : pour changer le chemin des fichiers de config
en .
• Terminal coloré
PS1=’\[\033[1;32m\][\t]\[\033[1;33m\][\u@\h]\[\033[0;36m\]\w\$\[\033[0m\]
’ Autoriser un utilVariables dans le prompt: \d pour ajouter la date (format anglais) \t pour ajouter l’heure (HH:MM:SS) \u pour ajouter le nom
de l’utilisateur \r pour un retour à la ligne \w pour ajouter le chemin
complet du répertoire courant \W pour ajouter le répertoire courant \h
pour ajouter le nom de la machine
Couleur dans le prompt: PS1=’\[\033[couleurm]prompt voulu\033[0m]’
Noir 0;30 Rouge 0;31 Vert 0;32 Brun 0;33 Bleu 0;34 Violet 0;35 Cyan 0;36
17
Gris Clair 0;37 Gris 1;30 Rose 1;31 Vert Clair 1;32 Brun Clair 1;33 Bleu
Clair 1;34 Violet Clair 1;35 Cyan Clair 1;36 Blanc 1;37
http://understudy.net/custom.html
voir http://mercury.chem.pitt.edu/˜sasha/LinuxFocus/English/May2004/article335.shtml
www.linuxexposed.com/Articles/General/Automating-the-Login-Script.html
http://www.rodolf.free.fr/linux.htm
Screen
Screen permet d’avoir plusieurs sessions shell dans la même console. Quelques
commandes : ctrl + a puis ctrl + c (C-a c) : créer une nouvelle session C-a w :
affiche la session courante C-a n : session suivante - C-a p : session précédente
C-a ” : liste les fenêtres C-a d : détache une session / screen -r : réattache
la session C-a S : (split) Sépare la fenêtre en deux / C-a : navigue entre les
fenêtres. / C-a ” permet d’affecteur une session à une fenêtre vide. C-a x :
depuis une autre session permet de suivre ce qui se passe.
Sudo
sudo permet à un utilisateur normal de lancer des commandes d’un superutilisateur, en tapant :
sudo commande
Il faut pour cela inclure dans le fichier /etc/group les utilisateurs en question,
et éditer le fichier /etc/sudoers (il est recommandé de le faire avec visudo)
# sudoers file.
#
# This file MUST be edited with the "visudo" command as root.
#
# See the man page for details on how to write a sudoers file.
# sudoers file.
#
# Host alias specification
Host_Alias ICI = localhost, nommachine,
Host_Alias LOCALNET = 192.168.100.*
# User alias specification
User_Alias ROOT_FRIENDS = utilisateur1,
192.168.100.2
utilisateur2
# Cmnd alias specification
Cmnd_Alias SOUND = /usr/bin/xmms
Cmnd_Alias SHUTDOWN = /sbin/shutdown, /sbin/halt, /sbin/reboot
Cmnd_Alias PPPCMD = /etc/ppp/scripts/pppconnect, /etc/ppp/scripts/pppdisconnect
18
Cmnd_Alias PRINTINGCMDS = /usr/bin/lpq, /usr/bin/lprm
# Runas alias specification
# User privilege specification
# root peut tout !
root ALL=(ALL) ALL
# Les amis de root peuvent lancer les commandes
# du groupe SHUTDOWN
ROOT_FRIENDS ICI = NOPASSWD: SHUTDOWN
# ils peuvent aussi administrer l’imprimante (mais sous
# le compte de lpadmin, avec un mot de passe) :
ROOT_FRIENDS ICI = PRINTINGCMDS
# tout le monde peux lancer xmms avec les droit de root (pour le
# mode ’temps réel’) en local
ALL ICI = NOPASSWD: SOUND
# tout le monde sur le réseau local peut demander l’établisement
# de la liaison internet
ALL LOCALNET = NOPASSWD: PPPCMD
#Dave a un répit de 200 minutes avant de rentrer de nouveau le mot de passe
#indiquer -1 pour ne l’entrer qu’une seule fois
Defaults:dave timestamp_timeout=200, passwd_tries=5
créer une série de liens
for A in * ; do ln -sf ‘pwd‘/$A /../chemin/$A ; done
s’il y a des espaces dans les noms de fichiers, préférer :
for a in *; do ln -s "$a" "$(echo $a | tr ’[A-Z]’ ’[a-z]’)" ; done
On peut également redéfinir la variable d’environnement ”IFS” (Internal
Field Separator), par défaut à l’espace pour éviter cela :
export IFS=@
for A in * ; do ln -sf $A ‘echo $A | tr ’[A-Z]’ ’[a-z]’‘ ; done
modifier les espaces
find . -type f -name "* *" -print0 | \
perl -n0e ’$old = $_; s/ /_/g; rename $old, $_’
changer la casse des fichiers d’un répertoire
#!/bin/sh
for i in *
do
j=‘echo $i | tr ’[A-Z]’ ’[a-z]’‘
mv $i $j
done
19
retirer espace dans une liste de fichier
• avec ruby
ruby -e’Dir["* *"].each{|f| File.rename(f,f.delete(" "))}’
• changer en
– bash :
for i in *" "* ; do
j=‘echo $i | sed -e ’s/ /_/g’ ‘
mv "$i" "$j"
done
– en une ligne à copier/coller
for i in *" "* ; do j=‘echo $i | sed -e ’s/ /_/g’ ‘mv "$i" "$j" ; done
Changer l’extension d’un fichier
for file in *.htm ; do mv $file ‘echo $file | sed ’s/\(.*\.\)htm/\1html/’‘ ; done
Remplacer une chaı̂ne de caractère unique dans plusieurs fichiers
en même temps
par exemple pour remplacer le point d’interrogation (symbole 3F) de fichiers
html récupérés par wget (gestionnaire de téléchargement en ligne de commande)
: (à tester avant pour être certain de ne pas effacer les fichiers de destination...)
for i in *.htm* ; do sed -i -e "s/%3F/@/g" $i ; done
Convertir du texte en dos / unix / mac
• mac2unix : cat $1 | tr ’\r’ ’\n’
• unix2mac : cat $1 | tr ’\n’ ’\r’
• dos2unix : cat $1 | tr -d ’\r’ ou utiliser le programme existant : dos2unix
-b -d fichier.txt
• unix2dos : nawk ’sub("$", "\r")’ unixfile.txt > dosfile.txt (awk
ou gawk, nawk...) ou utiliser le programme existant : unix2dos unixfile.txt
dosfile.txt
• en Perl
– DOS -> Unix : perl -p -e ’s/\r$//’ < dosfile.txt > unixfile.txt
– Unix -> DOS : perl -p -e ’s/$/\r/’ < unixfile.txt > dosfile.txt
20
renommer une série d’images (ou autres)
n=0
for i in *.jpg; do
n=$((n+1))
result=‘printf ’photos%04d.jpg’ $n‘
mv "$i" $result
done
changer la qualité d’images jpg ou convertir depuis un autre format
mkdir convert
for A in *.png ; do convert -quality 82
$A
convert/$A.jpg ; done
récupérer les photos d’écran d’un site
for i in ‘cat listeUrls.txt‘;
do
firefox -remote "openurl($i)" # open url in firefox
xwd -id xxx | wxdtopnm|pnmtopng > "$i".png # capture firerox window to png
done
télécharger des fichiers avec wget
si la valeur s’incrémente et que l’on n’a pas accès à l’index :
#!/bin/bash
i=1
while [ $i -le 300 ] ; do
wget http://www.site.com/$i.jpg
i=$(($i + 1))
done
renuméroter :
#!/bin/bash
i=10
while [ $i -le 99 ] ; do
mv $i.jpg 0$i.jpg
i=$(($i + 1))
done
• pour télécharger un site en php et rétablir le code html utiliser ces options
:
wget --mirror -p --html-extension --convert-links http://site
21
Télécharger un fichier avec wget sur dl.free.fr
#First step is set cookie
wget --save-cookies cookie.txt --keep-session-cookies urlFichier -O tmpFile
#Second step is retry with cookie
wget -c --load-cookies cookie.txt urlFichier
#Then clean tmp file
rm tmpFile cookie.txt
pour charger un fichier depuis la ligne de commande :
http://dl.free.fr/cx2Y3q5Gt/free upload.rb
limiter la vitesse de téléchargement
wget --limit-rate=15k
limiter le téléchargement à des sous-dossiers uniquement
wget -r -np
(–no-parent et recursif)
-R rejlist (ou –reject rejlist) : pour éviter de télécharger certains types de
fichiers
modifier le format de la date
date ’+ %Y-%d-%m %H:%M:%S’ //(par exemple)//
Trouver un fichier / un programme
find ˜/ -name ’*.txt’ find /home/bozo/projects -mtime 1 : fichier du jour
find / -mtime -1 -size +50000 -print : fichier du jour + grand que 50 Mo -xdev
: évite les fichiers hors du sytème find / -name Makefile -print -xdev find /usr
-type f | xargs grep -l ”Welcome to” : trouver la chaı̂ne ”welcome to” dans le
répertoire /usr
‘grep -Eri "chaine de caractère" *‘ : chercher une chaı̂ne dans un
répertoire et ses sous-répertoires
locate fichier : trouve un fichier
faire un script dans ce style pour pouvoir rechercher avec plusieurs arguements : locategrep.sh :
22
locate -i $1 |grep -i $2
updatedb : met à jour la base de donnée de locate updatedb -e dirs : exclure
des répertoires de la mise à jour de updatedb updatedb -f fstypes : exclure des
systèmes de fichier de la mise à jour de updatedb du -Sh | sort -n : affiche
les plus gros répertoires du –all -h –max-depth=2|sort -n : affiche les plus gros
répertoires dans 2 niveaux de sous-répertoires.
find / -type d -exec du -ks {} \; | sort -n : liste des répertoires les
plus gros du disque.
du -s -h /repertoire : affiche la taille totale d’un répertoire ls -lR | sort +4n
: trouver les plus gros fichiers du disque which programme : permet de trouver
dans quel répertoire se trouve un programme http://freebooks.by.ru/view/RedHatLinux6Unleashed/rhl6u205.ht
Remplacer du texte Attention, non vérifié pour le moment. A tester avant. find
. -type f -exec sed -ie ’s/texte original/texte à remplacer/;s/autre texte original/autre nouveau texte à remplacer/;’ {} ’;’
Astuces du shell
• !! refait la dernière commande
• !cmd refait la dernière commande commençant par cmd
• !cmd:p permet de visualiser sans executer la dernière commande commençant par cmd
• !$ permet de retrouver la dernière commande entrée commençant par cette
lettre
• !cmd:$ est le dernier mot de la dernière ligne de commande commençant
par cmd
• !* est l’ensemble de la dernière ligne de commande à part le premier mot
Astuces diverses De par leur faible taille, ces astuces ne méritent pas forcément
un paragraphe dédié
Calculer : echo 5/2+3*2 |bc -l : calcule 5 divisé par deux, et additionne
3 multiplié par 2 bc : calculette mode console scale=20 ajoute 20 digits de
précisions à bc Console : aterm -tr -trsb -shading 85 -fade 65 : effet sur la
console aterm aterm -tr -trsb -shading 45 -fade 75 -fg white
aterm -tr -fg white -bg black -sh 35 -trsb
& : à la fin d’une commande en console, permet l’exécution de nouvelles
commandes [tab] : autocomplétion des commandes history : liste des dernières
commandes [ctrl]+r : recherche d’une dernière commande tapée !commande :
retape la dernière commande qui débute de cette manière
/proc/kcore : ce fichier apparemment gros n’est qu’une image de la mémoire
physique : le supprimer n’est pas pertinent.
23
fuser -vm /mnt/peripheriqueoudisque : indique qui utilise quoi adduser :
ajouter un utilisateur userdel -r utilisateur : retire un utilisateur passwd utilisateur : changer le mot de passe d?un utilisateur cat texte.txt | tr ” ” ”\n” |
sort | uniq -c | sort -n >> resultat.txt : trouver occurence de mots
uname -r : donne la version du noyau
Anecdotes
• envoie un message amusant au root echo ”rpub \”w’nv yr cnffjbeq ebbg\”|znvy
ebbg” |tr a-mn-z n-za-m|/bin/sh
• Affiche une fractale dans la console echo ’9k[l:l;sx]s”[1+l>] s>[q]s-[d77/3*2s;47l”x-P1+d78>‘]s‘0[d23/.5-3*s:0l‘xr10P1+d24>$]ds$x’|dc
Configuration et système
crontab
fichier /etc/crontab
* * * * * script
remplacer les étoiles par : minute heure jour du mois mois de année jour de semaine
ou placer un script dans /etc/cron.daily etc.
(http://www.ac-creteil.fr/reseaux/systemes/linux/cron.html)
Fichiers et dossiers de configuration utiles
/etc/inittab : conf demarrage machine
/etc/motd : message of the day : celui qui figure après chaque authentification.
/etc/issue : message de pré-connection
/etc/apt/source.list : fichiers mise à jour debian
/etc/mozilla-firefox/pref/unix.js : config firefox /usr/share/apps/ksplash/Themes/Default/splash top.png
: logo démarrage KDE /etc/apt/apt.conf : permet de modifier la version debian
: -> APT::Default-Release ”unstable”; (ou testing etc.) /etc/sysconfig
/usr/sbin/kbdconfig : configuration langue du clavier
Debian
effacer un paquet qui pose probleme
dpkg –purge –force-remove-reinstreq paquet
reconstruire un paquet debian
fakeroot -u dpkg-repack paquet
Créer un paquet :
• depuis les sources :
24
apt-get source programme
cd programme
dpkg-buildpackage -rfakeroot
• depuis le début : http://www.debian.org/doc/devel-manuals#maint-guide
• créer un paquet binaire : http://www.csquad.org/pub/deb binary/deb binary.html
dpkg-deb –build paquet
ou utiliser checkinstall (à la place de make install) qui peut créer spécialement
des paquets à partir des sources.
checkinstall --dpkgflags=--force-overwrite
(en cas d’installation à problème)
dpkg -i archive.deb : installation paquet debian dpkg -s archive.deb : info
sur une archive dpkg -l : liste les paquets disponibles dpkg –extract paquet.deb
/répertoire/ : extraire un paquet deb
dpkg -P programme : suppression packetage debian dpkg –force-overwrite
-i nomdupaquet.deb dpkg-deb –build paquet : générer un paquet debian dpkg
–get-selections > selections.txt : liste des paquets installés apt-get remove –
purge archive.deb : supprime une archive apt-cache search nom : cherche
des infos dans les paquets disponible apt-cache show paquet.deb : liste les
infos sur un paquet. Debian : pas de touche supérieur / inférieur : éditer
/etc/X11/XF86Config et mettre XkbModel ”pc104” - XkbModel ”pc105” aptcache search kernel-image apt-get install kernel-image http://www.debian.org/distrib/packages
• Mes mises à jour les plus courantes
apt-get install abcm2ps abcmidi fluxbox inform psi konqueror kate parted
qtparted gimp inkscape blender gimp-svg xpdf grisbi gnucash gv vlc xmms
iceweasel icedove firefox thunderbird pstoedit gorm xfe worker gftp gaim
nedit
Résolution de problèmes
• apt: Dynamic MMap ran out of room : -> editer /etc/apt/apt.conf et
augmenter APT::Cache-Limit 25165824;
• Plus d’icône dans Gnome (surtout linux PPC) : rm /usr/share/icons/*/icontheme.cache
• message : Gtk-WARNING **: Icon cache ’/usr/share/icons/hicolor/icontheme.cache’ is invalid
sudo rm /usr/share/pixmaps/hicolor/autopackage-installer.png sudo rm
/usr/share/icons/hicolor/autopackage-installer.png
• ssh: symbol lookup error: ssh: undefined symbol: EVP Cipher : réinstaller
openssl
25
• la souris s’affiche normalement au démarrage, puis si on redémarre le
serveur X, le curseur disparaı̂t : Modifier dans /etc/X11/xorg.conf, ajouter
dans la Section ”Device” Option ”HWCursor” ”false”
(si beryl est activé, sans cette option, ou sans SWCursor, à On, la souris
risque de clignoter).
Noyau debian plus récent
ajouter : deb http://kernel-archive.buildserver.net/debian-kernel trunk main
php
le passage de paramètres dans l’url ne fonctionne pas : editer /etc/php5/apache2/php.ini
et mettre register long arrays à On
(le mieux est d’écrire du code complet avec $ GET[’id’] par ex)
il est possible également d’écrire :
<?
foreach ($_POST as $key => $value) $$key = addslashes($value);
foreach ($_GET as $key => $value) $$key = addslashes($value);
?>
ou dans .htaccess :
php_flag register_long_arrays On
php_flag register_globals on
Noyau
compiler le noyau
1/ récupérer les sources du noyau avec yast ou smart ou synaptic (ou autre...)
2/ vérifier que /usr/src/linux pointe bien vers ces sources. 3/ faire un : cp
/boot/config-2.6.18.2-34-default /usr/src/linux/.config mylogin (ou n’importe
quel autre nom)
4/ Changer une ou des options, par exemple éditer le fichier copié dans le
/usr/src/linux, et à la ligne :
# CONFIG_USB_DEVICEFS is not set
mettre :
CONFIG_USB_DEVICEFS=y
5/ aller dans le répertoire source (en root) :
26
# cd /usr/src/linux
# make mrproper
# make menuconfig
choisir l’option Load an Alternate Configuration File et relisez votre config en
entrant son nom (.config mylogin ) vous pouvez un peu bidouiller dedans mais
bon, attention quand même Vous pouvez notamment optimiser votre noyau
pour votre archi. Mais sinon vous pouvez seulement sauvegarder :
Do you wish to save your new kernel configuration?
et cela sauvegarde dans le fichier .config. Je pense également que l’on peut
dès le début taper cp /boot/config-2.6.18.2-34-default /usr/src/linux/.config ,
éditer le fichier et le compiler direct.
6/ pour la compilation :
# make
# make modules_install
# make install
compiler des modules
vérifier que le fichier /usr/src/linux/include/linux/utsrelease.h existe bien. Sinon
:
make oldconfig
make prepare
convertir de iso vers utf
iconv -f iso-8859-1 -t utf-8 fichier > fichier2
récupérer un texte perdu en mémoire
cp /proc/kcore /tmp/mem.dump strings /tmp/mem.dump > /tmp/mem.txt
rm /tmp/mem.dump grep /tmp/mem.txt|less
ou bien
grep -a -C 50 ”extrait du texte” /proc/kcore > /tmp/recup.txt
• choisir la langue du système utiliser : set-language-env http://www.libordux.org/debiandocs/config.php
• date et heure
date -s 20:00:00 : mettre le système à l’heure (ici 20:00) date 032820352004
: changer heure + date système (ici 28/03/2004, à 20:35) (Linux) date
200403282035 : changer heure + date système (BSD) hwclock –systohc :
changer heure matériel (bios) ntpdate ntp.univ-tln.fr / ntpdate ntp.univlyon1.fr : mettre à l’heure le système à partir d’un serveur de temps. liste
27
sur http://www.cru.fr/NTP/serveurs francais.html cal 1450 : afficher le
calendrier de l’an 1450
• Home persistant (livecd) Pour accéder à un répertoire utilisateur persistant d’une version à l’autre de Knoppix, il faut donner le chemin complet
lors du démarrage : ex : knoppix lang=fr home=/dev/hda5/.knoppix.img
• Démarrage automatique de programmes / scripts
Créer un script dans /etc/init.d/
chmod +x /etc/init.d/nomduscript
update-rc.d -f nomduscript start 98 5 . (par exemple)
update-rc.d nomduscript start 20 2 3 4 5 . stop 20 0 1 6 .
Il y a également plus rapide si vous avez certains scripts à démarrer, c’est
de faire un script principal de cette forme :
bootup.sh :
#!/bin/sh
/home/adresse/script.sh
vncserver :port
sshd
puis :
cp ./bootup.sh /etc/init.d/
chmod +x /etc/init.d/bootup.sh
update-rc.d -f bootup start 20 2 3 4 5 . stop 20 0 1 6 .
résultat :
/etc/rc0.d/K20bootup.sh
/etc/rc1.d/K20bootup.sh
/etc/rc6.d/K20bootup.sh
/etc/rc2.d/S20bootup.sh
/etc/rc3.d/S20bootup.sh
/etc/rc4.d/S20bootup.sh
/etc/rc5.d/S20bootup.sh
->
->
->
->
->
->
->
../init.d/bootup.sh
../init.d/bootup.sh
../init.d/bootup.sh
../init.d/bootup.sh
../init.d/bootup.sh
../init.d/bootup.sh
../init.d/bootup.sh
Utilisation d’un outil graphique : bum, ksysv ou rcconf en mode console
• Conversion système de fichier ext2 en ext3 Si le noyau le supporte, utiliser
: tune2fs -j /dev/hda3 #utiliser le nom correct de partition tune2fs
-o 0 /dev/hda3 changer ensuite :
28
/dev/hda3 / ext2 noatime 0 0
en :
/dev/hda3 / ext3 noatime 0 0
pour la partition racine : Se connecter en root Editer /etc/fstab et changer
ext2 to ext3 dans la ligne faisant référence au répertoire racine
tune2fs -j /dev/hda5
cd /boot
mv initrd-2.4.18-26.8.0.img initrd-2.4.18-26.8.0.img.ext2
mkinitrd initrd-2.4.18-26.8.0.img 2.4.18-26.8.0
redémarrer
• étendre la taille d’un disque avec vmware :
vmware-vdiskmanager -x 10GB myDisk.vmdk
• Pb installation vmware (vmnet, vmmon etc) : voir http://ftp.cvut.cz/vmware/
ou : http://www.vmware.com/community/thread.jspa?threadID=85612
• redimensionner un système de fichier
si vous clonez une partition avec dd, sur une partition de plus grande taille,
la nouvelle partition ne semblera pas plus grande (avec la commande df
par exemple). Il faut donc corriger cela avec la commande :
resize2fs -f /dev/hd##
À faire lorsque la partition est démontée !
(éventuellement en vérifiant avant et après que tout est correct avec e2fsck
-f -y)
• Installer des paquets rpm
rpm -ivh archive.rpm : installation rpm rpm -ivh archive.rpm force –
nodeps archive.rpm : installation rpm forcée (si pb dépendances) rpm
-Uvh archive.rpm : mise à jour rpm rpm -e programme : suppression rpm
• Archivage de fichiers tar -zxvf fichier.tar.gz : décompresse un fichier zippé
tar -zcvf backup.tar.gz /home/eric : crée un fichier zippé tar -tvf exemple.tar : liste le contenu bzip2 -k fichier : compresse un fichier dans le format bz2, en gardant le fichier original bunzip2 -k fichier.bz2 : décompresse
un fichier bz2, en gardant l?archive originale (-v : verbose, verbeux)
• Modules
29
– linux
insmod module : ajouter un module
modprobe module : charger un module en mémoire (temporairement)
modconf : charger ou retirer des modules de façon définitive
/etc/modules : liste des modules chargés au démarrage
– freebsd
utiliser kldload pour charger un fichier .ko
sinon indiquer des entrées dans /etc/rc.conf (démarrage) ou loader.conf
Opérations disques / partitions
Modifier l’emplacement du répertoire /home
J’avais une partition trop petite là où j’ai installé mon système knoppix.
Aussi pour gagner de la place, j’ai déplacé mon répertoire /home vers une autre
partition (/hda6) là où il y avait plus de place (en rognant sur celle de mswindows :) ). Marche à suivre : (on suppose pour cela que la nouvelle partition d’accueil est déjà préparée, avec un utilitaire ad-hoc, sinon taper : mke2fs
/dev/hda6 ) Monter la nouvelle partition sur un point de montage temporaire,
déplacer le ou les répertoires utilisateurs vers ce point, démonter le point de
montage, et le remonter dans /home, ce qui donne : mount -t ext2 /dev/hda6
/rep temp mv /home/ users /rep temp # si nécessaire plusieurs fois umount
/rep temp mount -t ext2 /dev/hda6 /home tester si tout fonctionne, et modifier
/etc/fstab en conséquence : /dev/hda6 /home ext2 defaults,errors=remount-ro
01
Changer la taille d’une partition
utiliser qtparted ou avec parted : parted /dev/hda print # (relever les
données de debut et de fin, et le n◦ de partition) resize 1 1024 2048 # (en
Mo)
pour une image qemu :
dd bs=1 if=/dev/zero of=disk.img seek=2G count=0
(vérifier si c’est bon avec : qemu-img info disk.img )
modifier la taille des partitions avec qtparted par ex.
Formatter complètement un disque et effacer toutes les données
dd if=/dev/zero of=/dev/hda bs=1M
Récupérer un disque corrompu
if=/dev/old disk of=image file conv=noerror ou dd if=/dev/old disk of=/dev/new disk
conv=noerror,sync
30
ou ddrescue qui semble le plus efficace
#récupérer en priorité le plus de zones mémoires saines: ddrescue -B -n
/dev/old disk /dev/new disk rescued.log #puis essayez de récuperer le plus de
zones mémoires endommagées possible: ddrescue -B -r 1 /dev/old disk /dev/new disk
rescued.log
Récupérer la session précédente d’un disque cdrom
mount /dev/cdrom /mnt/cdrom -t iso9660 -o session=0
Appliquer un patch
patch -p0 <new-patch ou patch -p1 <new-patch (selon le répertoire courant
par rapport au patch)
créer un patch : diff -Naur olddir newdir > new-patch ou diff -Naur oldfile
newfile >new-patch
Changer l’espace réservé (ext3)
tune2fs -m 1 /dev/sda5 # (réduit espace de maintenance à 1% au lieu de 5
%) tune2fs -r 75000 /dev/sda5 # (réduit espace de maintenance à 75000 blocs)
Créer un ramdisk
mkdir /tmp/ramdisk0 mke2fs /dev/ram0 mount /dev/ram0 /tmp/ramdisk0
# (exemple tiré de http://www.linuxfocus.org/English/November1999/article124.html)
Vitesses de transfert
USB1.1 : lent (1,5 Mbit/s) rapide (12 Mbit/s)
http://fr.wikipedia.org/wiki/Universal serial bus USB 2.0 full speed : 12
Mbit/s (ex USB 1.1) High Speed : jusqu’à 480Mbit/s (ex USB 2.0)
http://fr.wikipedia.org/wiki/FireWire FireWire 400 Mb/s en version 1 (s400
ou IEEE 1394a) 800 Mb/s en version 2 (s800 ou IEEE 1394b)
8bit =1 octet. Donc 200Mbit/s ca fait 25Mo/s.
1ko=1024 bits (2ˆ10) 1Mo=1024ko=1024x1024bits=1048576bits (2ˆ20) 1Go=1024Mo=1073741824bits
(2ˆ30) 1To=1024Go=1099511627776bits (2ˆ40) 1Po=1024To=1125899906842624bits
(2ˆ50) 1Eo=1024Po=1152921504606846976bits 1Zo=1024Eo=1180591620717411303424bits
1Yo=1024Zo=1208925819614629174706176bits
Chiffrer une partition
31
linux
• encfs :
mkdir -p ~/test/encrypted
mkdir -p ~/test/decrypted
encfs ~/test/encrypted ~/test/decrypted
copier les fichiers dans ˜/test/decrypted, et démonter la partition ensuite.
• dm-crypt :
http://www.saout.de/misc/dm-crypt/ http://www.saout.de/tikiwiki/tikiindex.php
apt-get install cryptsetup hashalot
modprobe dm mod modprobe dm crypt modprobe aes
/../
• bcrypt
• autre : # faire tout cela en root créer le point de montage dd if=/dev/urandom
of=fichier.dat bs=1M count=50 # pour une partition de 50 Mo chmod
0600 fichier.dat # Eventuellement restreindre les droits modprobe loop
modprobe cryptoloop modprobe aes # charger les modules losetup -e
aes256 -o 1024 /dev/loop/0 fichier.dat # entrer un mot de passe de 20
caractères minimum mkfs.ext3 -j -m 0 -L ”mon fichier” /dev/loop/0 #
création du système (pour utiliser avec CrossCrypt sous windoze, il est
possible de créer une partition fat32 : mkfs.vfat /dev/loop/0 ) losetup -d
/dev/loop/0 # suppression du dev
mount -t ext3 -o defaults,user,loop,encryption=aes,offset=1024 fichier.dat
/mnt/pointdemontage
(pour partition fat32 : mount -t vfat -o user,loop,encryption=aes,offset=1024
fichier.dat /mnt/pointdemontage/)
(ancien) mount -t ext3 -o loop,encryption=AES256 /mnt/flashdisk/.knoppix.img
/home/me/knophome
(to umount, just type: umount /home/me/knophome )
If your distribution uses cryptoapi rather than loop-aes, you still can mount
your encrypted homedir using:
losetup -e aes -k 256 -p sha512 /dev/loop1 /mnt/flashdisk/.knoppix.img
mount -t ext3 /dev/loop1 /home/me/knophome
(to umount, use: umount /home/me/knophome losetup -d /dev/loop1 )
Latest version of cryptoapi uses the following syntax: losetup -e aes -k 256
-H sha512 /dev/loop1 /mnt/flashdisk/.knoppix.img mount -t ext3 /dev/loop1
/home/me/knophome
32
and you can mount the encrypted device in a single step using: mount -t ext3
-o loop,encryption=aes,keybits=256,phash=sha512 /mnt/flashdisk/.knoppix.img
/home/me/knophome http://www.linuxpowered.com/LDP/HOWTO/EncryptedRoot-Filesystem-HOWTO/index.html http://www.scherrer.cc/crypt/ http://linuxfromscratch.org/˜devine/erf
howto.html http://marc.waeckerlin.org/linux/crypt.php.en
freebsd
voir vnode aescrypt vncrypt (n’est plus compatible freebsd 5.#) mdconfig -a -t vnode -f ”image” mdconfig retourne une valeur à utiliser, type md0
: mount -t type /dev/md0s1 /mnt/pointmontage ccrypt : pour les fichiers
gbde : http://www.freebsd.org/doc/en US.ISO8859-1/books/handbook/disksencrypting.html
Sauvegarder un système linux
cd / shopt -s dotglob (pour désactiver les fichiers cachés dans le bash) for
i in ‘ls‘; if [ -d $i ]; do tar -cvjf $i.tar.bz2 $i;done (Si répertoire à la racine, le
compresser dans un fichier portant un nom identique avec l’extension ’.tar.bz2’)
Sauvegarder les fichiers compressés (.tar.bz2). Pour la restauration du backup,
il suffit de réinstaller un système de base avec le package bz2, décompresser les
tar.bz2 dans ce système, modifier /etc/fstab (si la table des partitions a changé)
et /etc/lilo.conf
Récupérer un cd ou autre défecteux
Rescue the most important part of the disc first. ddrescue -i0 -s50M /dev/hdc
hdimage logfile ddrescue -i0 -s1M -r3 /dev/hdc hdimage logfile
Then rescue some key disc areas. ddrescue -i30G -s10G /dev/hdc hdimage
logfile ddrescue -i230G -s5G /dev/hdc hdimage logfile
Now rescue the rest (does not recopy what is already done). ddrescue -r3
/dev/hdc hdimage logfile
bureau et sessions graphiques
sous openbsd après l’installation : /etc/sysctl.conf et changer machdep.allowaperture=2
trouver le code d’une touche
xev
• Lancement automatique du gestionnaire de fenêtre préféré
Editer ou créer dans le répertoire utilisateur le fichier .xinitrc La dernière
ligne doit indiquer le bon gestionnaire de fenêtre (ex : /usr/bin/wmaker&
33
ou exec /usr/bin/wmaker ) (Pour utiliser un environnement de bureau en
plus, indiquer par exemple : afterstep & exec gnome-session)
En ligne de commande taper : startx eventuellement : lancer kdm ou
gdm à la place xinit -e /chemindugestionnaire : permet de ne lancer que
le gestionnaire et non pas l’environnement de bureau complet (KDE ou
Gnome) Lancement d’une seconde session graphique / ouverture d’une
session vnc : startx – :1.0 autre solution : X -query localhost -once :1 A
tester : http://www.x-desktop.org/
(alt+ ctrl + backspace : termine la session x brutalement)
• Utilisation de Xnest (session X dans X)
Xnest -ac :1
export DISPLAY=localhost:1
wmaker
option :
export WINDOWMANAGER=/usr/bin/gnome-session
export WINDOWMANAGER=/usr/X11R6/bin/twm
startx -- :1
x :1 &
export DISPLAY=localhost:1
wmaker &
• Autoriser un utilisateur distant à se connecter graphiquement sur X
• Lancer une application graphique depuis un autre utilisateur
xauth merge /home/user/.Xauthority : évite le ? connection to ”:0.0”
refused by server ’
ssh -l root -X localhost : idem
en tant que root : xhost + (attention : retire toute sécurité)
ou : éditer /etc/X11/Xwrapper.config
vérifier que cette valeur est présente :
allowed_users=anybody
• Lancer une session graphique sur un poste distant
poste 1 :
modifier : /etc/ssh/sshd config :
34
X11Forwarding yes
Xnest -ac -geometry 1024xf768 :1 &
ssh login@ip -X -C
poste 2 : (loggé depuis le poste 1)
export DISPLAY=ip_poste1:1
wmaker
ou
ssh login@ip -X -C
( -C active la compression de données -X le forward de l’environnement
graphique x11)
• Utilisation de freenx freenx est un protocole similaire dans ses résultats à
vnc, mais avec une plus grande rapidité.
dans /etc/apt/sources.list
#freenx
deb http://archive.kalyxo.org/kalyxo/ staging main
deb http://archive.kalyxo.org/kalyxo/ experimental main
en root :
nxsetup
nxserver --adduser username
nxserver --passwd username
ensuite copier le /home/.nx/.ssh/client.id dsa.key du serveur sur le client
: /usr/NX/share/
• rdesktop rdesktop est pour se connecter selon le protocole de micorsoft
sur un poste windows :
rdesktop 192.168.0.160 -u login -p motdepasse -g 1024x768 -z -a 24 -b -k fr -N
kde
• Dcop
while true ; do
dcop amarok player start
sleep 7
dcop amarok player pause
sleep 5
done
http://www.volny.cz/bwian/dcop.html Equivalent linux général : Dbus
http://www.freedesktop.org/wiki/Software 2fDbusProjects
35
gnome
• Retirer le thème geramik laid et encombrant, à l’image de son modèle
keramik, il peut être avantageux de l’éradiquer
mv /etc/gtk/gtkrc /etc/gtk/gtkrc-old
mv /etc/gtk-2.0/gtkrc /etc/gtk-2.0/gtkrc-old
apt-get install gtk-engines-industrial
apt-get install gtk2-engines-industrial
apt-get install gtk-theme-switch
apt-get remove gtk2-engines-geramik*
apt-get remove gtk-engines-geramik*
apt-get install kdeartwork #thème plastik
apt-get install metacity-themes #thème alternatif
• Configuration gtk Par exemple pour modifier l’apparence de l’éditeur html
bluefish : http://micmacfr.homeunix.org/bluefish/doc/book.html Créer
un fichier .gtkrc-2.0 dans le répertoire /home/utilisateur :
style "bluefish"
{
# For up and down arrows grouped together at right side
GtkNotebook::has_secondary_forward_stepper = 1
GtkNotebook::has_secondary_backward_stepper = 1
# Editor background color
# (background of editor view)
base[NORMAL]="#cccccc"
# GUI normal background color
# (most of the GUI)
bg[NORMAL]="#dbe9e9"
# GUI highlighted background color
#(GUI when mouse over elements)
bg[PRELIGHT]="#c6e9e9"
# GUI unactive background color
#(GUI disabled elements)
bg[INSENSITIVE]="#9fb2b2"
# GUI active background color
#(GUI enabled elements)
bg[ACTIVE]="#c7d4d4"
}
class "GtkWidget" style "bluefish"
36
Pour donner un aspect NeXTstep aux applications gtk : http://www.linuks.mine.nu/workstation/
thème sympa gtk : http://cimi.netsons.org/pages/murrine.php
Enlightenment
• installer E17 (debian)
modifier source.list
deb http://edevelop.org/debian/ unstable main
sudo apt-get update
epplets esound examine engage entice elicit eterm edb-tools edje0-bin
edje0-test emodules iconbar
GNUstep
Changer de thème http://www.roard.com/gnustep/Camaelon-2.0.tgz http://www.roard.com/gnustep/Nesedah
untar pmake copier theme -> ˜/GNUstep/Library/Themes defaults write NSGlobalDomain GSAppKitUserBundles ’( ”YourLocationTo/Camaelon.themeEngine”
)’ defaults write Camaelon Theme Nesedah
et peut etre avoir un jour : http://jesseross.com/clients/gnustep/ui/concepts/
Pour mettre un thème *Step sur GTK : http://shweps.free.fr/wiki/wakka.php?wiki=GtkThemes
Images et vidéo
• Convertir des fichiers dans les divers formats vectoriels
pour eps vers svg : pstoedit -f plot-svg fichier.eps fichier.svg
réarrange un fichier postscript en copiant 2 pages A4 sur une seule
psnup -n2 fichier.ps out.ps
• capture d’écran
import -window root image.png
• convertir des images en vignettes (avec imagemagick)
mkdir tb
for A in *.jpg ; do convert $A -geometry ’100x100>’ -bordercolor white -border 50 -grav
• Conversion images vers pdf
convertir en tiff d’abord (les outils de conversion tiff sont mieux optimisés
qu’ImageMagick)
37
for A in *.JPG ; do convert $A $A.tiff; done
tiffcp *.tiff fichier_sortie.tiff
tiff2pdf fichier_sortie.tiff -o fichierfinal.pdf
• modifier des pdf : pdfjam ou pdftk
• Pour imprimer un fichier postscript sous forme d’un petit livre en format
A5 :
psbook fichier_de_depart.ps | psnup -2 > mon_livre.ps
psbook -s10 : pour grouper les livrets par 10 pages
variante pour avoir le double face du bon coté.
psbook fichier.ps | psnup -2 | a2ps -1 -s tumble > bouquin.ps
• modifier la résolution
convert -density 200 etc.
• convertir en n&b
for A in *.tif ; do convert $A -monochrome ../tiff3/$A ; done
convertir une video (changer de format)
transcode -i video1.mpg -V -Z 360x288 -w 900 -b 80 -U video2 -y ffmpeg -F mpeg4 -w 1618
transcode -i /dev/cdrom -x dvd -V -Z 360x288 -w 900 -b 80 -U video2 -y xvid -w 1618
Son
encoder en ogg
‘oggenc fichier.wav --downmix -b 64 -M 96 -q 6 -o fichier.ogg‘ (qualité
mono) (-b ou -m ?) ‘oggenc fichier.wav -b 128 -M 192 -q 6 -o fichier.ogg‘
(qualité stéréo)
cdparanoia -wB -d /dev/hdc ; oggenc -b192 *.wav -t "titre" -a "artiste" -c "AUTREINFO=nouvea
38
convertir les mauvais formats de fichier
• wma for i in *.wma; do mplayer -ao pcm -ao pcm:file=”${i%.wma}.wav”
”$i”;\ oggenc -m 256 ”${i%.wma}.wav”; rm -f ”${i%.wma}.wav”; done
for i in *.ram; do mplayer -ao pcm -ao pcm:file=”${i%.ram}.wav” ”$i”;\
oggenc -m 256 ”${i%.ram}.wav”; rm -f ”${i%.ram}.wav”; done
• monkey / .ape
mac infile.ape outfile.wav -d
éventuellement : ‘ bchunk -w image.wav image.cue result‘ (cf. http://gimpel.gi.funpic.de/wiki/inde
)
Synthétiseurs virtuels
artsbuilder
• configurer alsa
sudo /usr/share/alsa-base/snddevices
voir aussi alsaconf (en root)
Configurer Timidity (lecture musique midi)
Timidity est un puissant lecteur midi utilisant des banques de sons. Si timidity
est installé, il suffit d’avoir un répertoire avec soit une banque sous forme de patterns (.pat), soit sous forme de fontes (.sf2 etc., TimGM6mb.sf2 est une bonne
banque par ex. que l’on trouve ici http://ocmnet.com/saxguru/Timidity.htm ).
Il faut renseigner ensuite un fichier de configuration.
/etc/timidity.cfg
dir /usr/share/timidity/
# dir /usr/share/timidity/patches
dir /usr/share/timidity/sndfont
soundfont fonte_de_son.sf2
bank 0
drumset 0
0 acpiano
#/.../
4 honky
etc...
bank 0 se réfère aux fontes dans sndfont, 0 acpiano à des fichiers de sons
dans sndfont. On invoque timidity par : timidity fichiermidi.mid. Il est possible
d’utiliser beaucoup de commandes annexes.
39
timidity -s 5000 fichier.mid : faible fréquence pour ordinateur lent
timidity -Ow -o fichier.wav fichier.mid
timidity -q 5.0 fichier.mid : avec cache
• Pour convertir du format abc directement vers la musique
abc2midi abc.abc | timidity -s 9000 abc1.mid
• Connecter Timidity et d’autres programmes
/usr/bin/timidity -iA -B2,8 -Os &
noteedit &
vkeybd
aconnect 131:0 128:1
aconnect 133:0 128:1
aconnect 133:0 131:0
aconnect 129:0 128:1
• Timidity et alsa
vérifier que le fichier /dev/snd/seq existe bien, sinon le créer : mknod -m
666 /dev/snd/seq c 116 1 puis lancer timidity en tant que synthétiseur
logique, connecté à alsa (devient /dev/snd/seq) : timidity -iA -B2,8 -Os
-EFreverb=0
périphériques
lecteur disquette
fdutils : utilitaires de gestion du lecteur de disquette
fdformat /dev/fd0
superformat /dev/fd0 : formatter disquette A:
mke2fs /dev/fd0 : formatter disquette (créer système de fichier)
schéma d’une prise murale RJ45
M0
7
M1
8
O0
1
O1
2
6
V1
4
B1
5
BO
3
V0
ports :
M = marron O = Orange V = vert B = Bleu
1 indique un fil de couleur pleine
0 indique un fil blanc + couleur
cable croisé : V0:1 V1:2 O0:3 B:4 B0:5 O1:6 M0:7 M1:8 un seul des embouts
doit être croisé !
40
Ecran et carte graphique
• Extensions composites xorg
http://wiki.archlinux.org/index.php/Using the Composite extension
ajouter les paquets de http://debian.linux-systeme.com/ # /etc/apt/sources.list:
deb http://debian.linux-systeme.com sid main deb-src http://debian.linux-systeme.com
sid main
il faut avoir dans /etc/X11/xorg.conf ces lignes (pour une nvidia par ex.) :
Section "Extensions"
Option "Composite" "true"
Option "RENDER" "Enable"
EndSection
Section "Device"
#VideoRam 8192
# Insert Clocks lines here if appropriate
Identifier "NVIDIA GeForce"
Driver "nvidia"
Option "AllowGLXWithComposite" "True"
Option "RenderAccel" "True"
EndSection
ctrl + alt + ”+” ou ”-” : modifie la résolution d’écran xdpyinfo : donne des
infos sur la résolution et l’écran xgamma -gamma .75 : change la luminosité xset
: permet de changer des paramètres du serveur X. Ex : écran de veille etc...
Xorg -configure : autodétection des paramètres de l’écran. Tester le fichier
de sortie avec Xorg -config xorg.conf.new bsetbg : défini le fond d’écran idem
fbsetbg image.png ou display -window root image.png
Clavier
install-keymap fr-latin1 : changement mapping clavier
xset r rate 550 23 : vitesse répétition clavier (kbdrate existe aussi pour
cela)
/usr/bin/loadkeys /usr/lib/kbd/keytables/fr-latin1.map ou : setxkbmap layout fr ou alors utiliser : wget http://chrisix.free.fr/pycoincoin/xmodmaprc
&& xmodmap xmodmaprc
pour openbsd : wsconsctl -w keyboard.encoding=fr
• utiliser le clavier comme une souris On peut contrôler le curseur de la
souris avec les chiffres du pavé numérique. Il suffit de presser shift + Verr
num (NumLock) pour l’activer. Pour cliquer, on choisit le bouton avec
/,*,- puis avec 5 pour un simple clique, 5 5 pour un double et 0 mouvement
5 pour un dragage. (tiré de http://linuxfr.org/tips/)
41
• Changement langue de certaines applications taper dans la console, ou
insérer dans le fichier .profile :
export LANG=fr FR export LANGUAGE=fr FR export LC ALL=”fr FR@euro”
export LANG=fr FR export LANGUAGE=fr FR export LC ALL=”fr FR@euro”
éventuellement :
dpkg-reconfigure locales
ou éditer /etc/sysconfig/i18n
• réparer les autorisations (non testé)
for item in $(find /home/yourlogin/);
do [ -f $item ] && chmod 644 $item; [ -d $item ] && chmod 755 $item;
done; umask 0022 /home/yourlogin; chown -R yourlogin:yourlogin /home/yourlogin
• Modifier la virgule du pavé numérique
utiliser ce script :
#!/bin/bash
val=‘xmodmap -pke | grep "keycode 91 = KP_Delete KP_Decimal"‘
echo $val
if [ -n "$val" ]
then
xmodmap -e ’keycode 91 = KP_Delete comma’
else
xmodmap -e ’keycode 91 = KP_Delete KP_Decimal’
fi
• Activation du pavé numérique
Pour la console dans .profile
INITTY=/dev/tty[1-6]
for tty in $INITTY;
do setleds -D +num < $tty
done
sous Xwindows Editer le fichier /usr/X11R6/lib/X11/xkb/types (basic)
Si vous ne trouver pas le fichier tapez : ”find /usr/X11R6 -name basic”
Repérer les lignes :
type ’KEYPAD"{
modifiers=Shift+Numlock;
map[none]=level 1; (remplacer level 1 par level 2)
map[Shift]=level 2; (remplacer level 2 par level 1)
map[numlock]=level 2;...........
42
ou installer le paquet numlockx
apt-get install numlockx
/etc/inputrc : set bell-style none : retirer la cloche de console set bell-style
visible : mettre un flash à la place de la cloche xset -b : retire le son de la console
X11 (plus sur http://www.linux.se/doc/HOWTO/mini/Visual-Bell-7.html)
Souris
• Inverser les boutons de la souris (mode gaucher)
Temporairement : dans une console, taper :
xmodmap -e ’pointer = 3 2 1’
Si le système se plaint qu’il manque des boutons, essayer par exemple :
xmodmap -e ’pointer = 3 2 1 4 5’
Indiquer ’pointer = 1 2 3’ pour revenir au mode droitier
Ceci fonctionne normalement pour tous les gestionnaires de fenêtre puisque
c’est géré par X.
Définitivement : insérer cette même ligne dans .xinitrc, avant le lancement
du gestionnaire de fenêtre.
liste des curseurs de souris
arrow based_arrow_down based_arrow_up boat bogosity bottom_left_corner bottom_right_co
bottom_side bottom_tee box_spiral center_ptr circle clock coffee_mug cross cross_rever
diamond_cross dot dotbox double_arrow draft_large draft_small draped_box exchange fleu
gumby hand1 hand2 heart icon iron_cross left_ptr left_side left_tee leftbutton ll_angl
middlebutton mouse pencil pirate plus question_arrow right_ptr right_side right_tee ri
rtl_logo sailboat sb_down_arrow sb_h_double_arrow sb_left_arrow sb_right_arrow sb_up_a
sb_v_double_arrow shuttle sizing spider spraycan star target tcross top_left_arrow top
top_right_corner top_side top_tee trek ul_angle umbrella ur_angle watch X_cursor xterm
xsetroot -cursor name hand1 : change le curseur de la souris (serveur
X) bitmap : editeur icones X xcursorgen : pour générer des curseurs
d’après une liste de fichiers png
• Changer le thème de la souris Editer /usr/X11R6/lib/X11/icons/default/index.theme
(parfois ce peut être usr/share/icons/default/index.theme à la place)
[Icon Theme]
Inherits=core #theme d’origine, sinon utiliser whiteglass
43
Imprimantes
• Imprimer Imprimer à partir de firefox / thunderbird
utiliser le gestionnaire de kde : entrer dans les préférences avancés :
kprinter –stdin
• Configurer une imprimante Diverses méthodes existent... Une possibilité :
* lancer le service cups (dépend peut-être des installations, cupsenable ou
cups start * lancer un navigateur à l’adresse locale : http://127.0.0.1:631 et
entrer les bonnes options pour le réseau voir : http://trustonme.net/didactels/?rub=268
* Ajouter à la section [global] les lignes :
load printers = yes
printing = cups
printcap name = cups
et la section à la fin :
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
public = yes
guest ok = yes
writable = no
printable = yes
printer admin = root
[print$]
comment = Printer Drivers
path = /etc/samba/drivers
browseable = yes
guest ok = no
read only = yes
write list = root
Pocket PC
• V1
pocket pc (avec noyau 2.6)
installer synce modprobe -i ipaq dmesg (donne la réf. tty pour l’usb)
synce-serial-config ttyUSB0 dccm (connexion) synce-serial-start pstatus
(donne l’état de la connexion) synce-matchmaker (créer un partenariat
avec la machine)
pppd &(peut-être) pcp copy files pls list directory contents pmkdir make
directory pmv move (rename) files prm remove file prmdir remove an
44
empty directory prun run a program pstatus display status about remote
device synce-install-cab install a .cab file http://synce.sourceforge.net/
http://adrian.dimulescu.free.fr/article.php3?id article=10
utilisation de multisync
pppd[2695]: local IP address 192.168.131.102 pppd[2695]: remote IP address 192.168.131.201
raki : pour kde
rapip:/
PyRAPI
• V2
apt-get install synce-kde synce-serial synce-dccm librapi2-tools
faire un dmesg et regarder la ligne :
usb 2-2: PocketPC PDA converter now attached to ttyUSB0
en root :
synce-serial-config ttyUSB0 (la première fois seulement je pense)
en utilisateur normal :
dccm -f -d 3
en root :
synce-serial-start
en utilisateur normal synce-pstatus doit fonctionner et retourner certaines
valeurs. Sinon avec raki, c’est raki qui lance le démon dccm, avec vdccm à la
place en fait.
applications pocketpc
jinzo paint : permet de faire du pixel art ( http://www.ueno.no-ip.org/˜jinzo/
)
CD et DVD
Effacer un cd ou dvd rom
cdrecord -v blank=fast dev=/dev/cdrom
dvd+rw-format -blank=fast /dev/dvdrecorder
45
Graver un répertoire
growisofs -dvd-compat -Z /dev/dvdrecorder -J -R /home/sauvegardes
(plus de commandes : http://gorgonite.ftp-developpez.com/tutoriels/linux/gravure/Gravure.pdf
)
convertir les mauvais formats de fichier
• nrg nrg2iso ou encore la commande (non testée) ‘dd if=monimage.nrg
of=monimage.iso bs=2048 skip=150‘
• .bin Installer bchunk ‘bchunk image.bin image.cue image‘ donnera image01.iso Ensuite pour mounter un iso :
mount -t iso9660 image01.iso /path -o loop
divers
Linux 64
compiler en 32 bits :
configure CFLAGS="-m32 -O3" CXXFLAGS="-m32 -O3 -fno-strict-aliasing"
Linux PPC
Ventilateur ibook
Pour lever le déclenchement du ventilateur à 50◦ C sous linux (contre 60◦ C
sous osx) il faut indiquer ”therm adt746x limit adjust=5” dans /etc/modules
-> augmente la limitation à 5◦ C.
installer debian sur ppc
http://chamblandes.tuxfamily.org/installationMac/installation2.html
Réparer une partition hfsplus sous linux
hpmount /dev/hda13
hpumount
46
installer (configurer) mysql
mysql_install_db
mysql_secure_installation
changer le mot de passe mysql
mysqladmin -u root password mypassword
Liens linux
http://chl.be/migrations/ (Migrations linux)
http://www.unixtech.be/
http://www.labo-linux.org
http://www.aidelinux.org/
http://www-spi.lip6.fr/˜queinnec/Books/ABCdUNIX/uunix-toc.html (abc unix)
Danger de sécurité : http://www.lebars.org/sec/tcpa-faq.html O/S sécurisé :
http://www.ixus.net Différentes distributions de Linux : http://www.distrowatch.com/
Un historique du système NeXTSTEP : http://www.levenez.com/NeXTSTEP/
PocketPc + Linux : http://familiar.handhelds.org/ Icones en 3D isométrique
: http://www.iconfactory.com/howto copland.asp Icones en 3D isométrique :
http://www.pixture.com/icons.php http://www.din.or.jp/˜irondv/warehouse.html
http://zapatopi.net/icons.html http://www.iconarchive.com/icon
http://www.icontown.net/ http://alpesinfografik.chez.tiscali.fr/icons7.html
Graphismes : http://linuxgraphic.org/ http://www.operating-system.org/ : tous
les systèmes d’exploitation
http://aboutdebian.com/ Guide détaillé Debian : http://www.togaware.com/linux/survivor/
Encore une formation linux / debian : http://formation-debian.via.ecp.fr/
http://www.calle.com/world/FR/ : coordonnées géographiques du mondes (utile dans kstar) http://www.onlamp.com/linux/cmd/ bcp de commandes
linux (publié par Oreilly)
Une distribution intéressante est la Knoppix : http://www.knoppix-fr.org
(aide sur http://thefredsite.free.fr), et en version francisée kaella : http://kaella.linuxazur.org/
Une autre est Slax : http://slax.linux-live.org/
De l’aide détaillée sur linux de façon générale figure sur : http://www.delafond.org/survielinux/
http://www.nerdtests.com/ft nq.php?im
http://www.phpzoom.com/linfaq/single.htm et http://archilinux.free.fr/telecharger/linux.html
http://www.funix.org http://www.tldp.org/ http://www.togaware.com/linux/survivor/
http://www.digilife.be/quickreferences/QRC/LINUX%20Admin%20Quick%20Reference.pdf
http://entreelibre.com/scastro/debian-secinst/debian-secinst.txt securité Debian
http://debiantips.dyndns.org/ http://www.brunolinux.com/ Quelques commandes usuelles (listes à imprimer) : http://perso.club-internet.fr/ccb/publications/memo/
Liste des logiciels équivalents Linux / MSWindows : http://www.om-conseil.com/sections.php?op=viewarticle&
Et encore des listes de logiciels : http://forum.hardware.fr/hardwarefr/OSAlternatifs/sujet27876-1.htm divers: projets intéressants : http://www.alternc.org/index.php.en
47
(admin apache, ftp) /etc/apt/sources.list puis deb http://debian.alternc.org debian/ deb-src http://debian.alternc.org debian/ http://pythoncard.sourceforge.net/v
http://rpm.pbone.net/ : base rpm
http://www.ductape.net/˜mitja/freeunix.shtml (free shells accounts)
http://www.guidebookgallery.org/guis : interfaces graphiques
Livres
http://www.framabook.org/docs/SCU.pdf (livre linux, mais axé ub*ntu malheureusement)
http://java.developpez.com/cours/ (livres et cours java, notamment ”Programmation Java pour les enfants, les parents et les grands parents”)
wiki
http://wiki.splitbrain.org/wiki%3AFAQ : dokuwiki
Citations
Those who do not understand Unix are condemned to reinvent it, poorly
Ceux qui ne comprennent pas Unix sont condamnés à le réinventer, en moins bien.
FreeBSD
Les *BSD diffèrent un peu de Linux dans l’architecture et la gestion de certains
fichiers de configuration, ainsi que dans quelques commandes.
J’ai déjà indiqué à quelques endroits les différences de commandes entre linux
et *bsd, voici encore quelques notes à ce sujet.
caractéristiques principales
Ceci ne caractérise que ce que j’ai vu pour le moment comme différence avec
linux
• Fichier /etc/rc.conf
Il gère les configurations du système, notamment au démarrage. Il rajoute
des entrées au fichier /etc/default/rc.conf, qu’il convient de ne pas toucher.
Les scripts sont dans /etc/rc.d et /usr/local/etc/rc.d
• Fichier /etc/ttys
Gère le démarrage (/etc/inittab sous linux)
• Arborescence
Les dossiers /bin /sbin /etc sont pour le coeur du système, alors que les
programmes et fichiers de configuration ajoutés par la suite sont dans
/usr/local/bin /usr/local/sbin et /usr/local/etc
48
• Groupe Wheel
L’utilisateur doit faire partie de ce groupe pour avoir le droit de passer en
root via su.
• Mises à jour et installation de logiciels
/stand/sysinstall : centre de configuration (permet également d’installer
des logiciels via internet)
pkg add -r logiciel : installe un paquet depuis internet
whereis logiciel : trouve un logiciel à compiler
cd /usr/ports/chemin/logiciel : aller dans le dossier du logiciel
‘make‘
make install : compiler et installer le logiciel. Ensuite faire make clean
pour effacer les fichiers temporaires.
make desinstall : pour désintaller un programme
make reinstall : pour réinstaller
Il est possible de changer le site de téléchargement :
PACKAGESITE="ftp://ftp5.fr.freebsd.org/pub/FreeBSD/ports/i386/packages-current/Latest/"; exp
Sources : ftp://ftp.freebsd.com/pub/FreeBSD/distfiles/
ftp://ftp2.freebsd.org/pub/FreeBSD/ports/packages/
Mettre à jour les sources avec cvsup et celle du port avec portupgrade -r
logiciel.
sysctl : permet de passer des paramètres au système, ou de les lires.
ex : sysctl -a
Astuces diverses
kbdcontrol -b off : Enlever la cloche console
ou dans rc.conf : allscreens kbdflags="-b off"
chpass -s /usr/local/bin/bash utilisateur : change le shell par défaut
(en bash) pour l’utilisateur ’utilisateur’.
/usr/compat/linux/proc : si paquet compatibilité linux installé, permet
de retrouver le /proc pour avoir des infos système.
sysctl -a | grep -i memory : équivalent de free sous linux : donne l’état
de la mémoire
Désactiver complètement sendmail : indiquer dans /etc/rc.conf
sendmail_enable="NONE"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
49
Liens FreeBSD
Des pages pour aider à la migration, ou l’interopérativité :
http://www.diablotins.org/ http://fug-fr.org/
http://www.int-evry.fr/mci/user/procacci/Doc/freebsd-linux.html
http://www.faqs.org/docs/Linux-mini/Linux+FreeBSD.html
http://www.onlamp.com/pub/a/bsd/2005/01/13/FreeBSD Basics.html
http://www.onlamp.com/pub/a/bsd/2004/11/11/FreeBSD Basics.html
http://freebsd.tooblog.fr/?Ports
http://www.freebsd.org/doc/fr FR.ISO8859-1/books/handbook/index.html
http://www.freebsdebutant.org
http://www.gnuworld-fr.org/gen.php3/section/Tips+Unix/83,0,1,0,0.html
http://imil.net/docs/sexy-FreeBSD.txt
http://xkred.com
http://www.diablotins.org/
MacOSX
Système controversé selon certains acteurs du libre, Mac OSX offre quoi qu’il en
soit un Unix robuste, en sous-couche d’un gestionnaire de bureau facile d’accès
et agréable.
• Maintenance
sudo periodic daily
sudo periodic weekly
sudo periodic monthly
force les opérations de maintenance Equivalent à
sudo sh /etc/daily
sudo sh /etc/weekly
sudo sh /etc/monthly
sudo /usr/libexec/locate.updatedb : mise à jour de la base locate
(idem pour BSD)
Astuces Emacs on Aqua : transparence : M-x set-background-color ARGBCC99AABB open-x11 application : ouvre une application linux via x11
open dossier logiciel.app : lance logiciel depuis la console.
hdid /dev/disk0s13 : monter disque /dev/hda13 —- automount samba Couldn’t
you create a simple AppleScript, save it as an application and place that in Login
Items? tell application ”Finder” mount volume ”smb://DOMAIN;username:password@hostname/share”
end tell
–####
50
iconv -f MACINTOSH -t WINDOW-1258 fichier.txt > fichier2.txt : convertir
du format mac vers le format pc.
Problèmes :
• lancer une appli par terminal (lien automatique dans /usr/bin)
• aspect fenetre
• locate
• feuilles d’options ou sauvegardes gênent parfois la fenêtre principale, et il
n’est pas possible de les bouger.
• ouvrir plusieurs tty
• quitter l’interface graphique par alt+ctrl+backspace
• bouger les feneres avec raccourcis clavier
• Liens macosx
OpenSolaris
Fort de l’expérience de Sun dans le domaine d’Unix, OpenSolaris est un système
élégant qui se pose comme une nouvelle alternative.
http://opensolaris.org/
live-cd : http://www.genunix.org/distributions/belenix site/
Monter partition ext3 sous solaris
editer /etc/vfstab sous solaris et editer la ligne pour la partition linux (par
exemple /dev/hda6)
#Device mount point partiton type options /dev/hda6 /linux ext3 noatime,exec,rw 0 0
(à condition que le noyau ait ces modules)
sinon on peut utiliser les paquets FSWpart et FSWfsmisc
logiciels
Wine
wine msiexec /i programme.msi : permet d’installer un programme msi
lire du chm
convertir depuis le format chm (aide windows) :
http://archmage.sourceforge.net/
http://xchm.sourceforge.net/ (pour lire)
http://htmlhelp.berlios.de/api/python/
51
Bench
super pi : ftp://pi.super-computing.org/
./super pi 20 : pour calculer 1 million de décimales.
Qemu
http://genibel.org/blog/index.php/2005/11/08/45-utiliser-qemu-avec-l-accelerationkqemu
faire image disque : dd of=hd.img bs=1024 seek=1000000 count=0 utiliser
une image de disquette de démarrage (ex sur http://www.bootdisk.com/bootdisk.htm)
qemu -m 32 -fda WIN98SEC.IMG -hda win98.img -boot a (ou utiliser qemufast) fdisk reboot FORMAT C:/S reboot qemu -m 32 -fda WIN98SEC.IMG -hda
win98.img -cdrom /dev/cdrom -boot a -user-net alternative : créer un iso qemu
-m 32 -fda WIN98SEC.IMG -hda win98.img -cdrom win98.iso -boot a -usernet après 1ère installation, qemu -hda win98.img -cdrom /dev/cdrom -boot c
-user-net et rebooter autant de fois que nécessaire Réseau : telecharger vde sur
sf.net vde switch -tap tap0 -daemon ou vde switch -tap tun -daemon ifconfig
tun 192.168.254.254 chmod 666 /tmp/vde.ctl vdeq qemu myimage.img
sinon : sudo modprobe tun http://lists.gnu.org/archive/html/qemu-devel/200409/msg00150.html
http://turinglabs.com/gl/article.php?story=20050511201732846 procedure complete :
— Installation de qemu —
http://linuxfr.org/˜sytoka/19391.html
Récuperation de la dernière snapshot de qemu sur
http://www.dad-answers.com/qemu/
Par exemple, le fichier
qemu-snapshot-2005-07-07 23.tar.bz2
Ce qui peux se faire avec l’uniligne
wget http://www.dad-answers.com/qemu/qemu-snapshot-2005-07-07 23.tar.bz2
On extrait les fichiers de l’archive
tar xvjf qemu-snapshot-2005-07-07 23.tar.bz2
Récuperation de kqemu sur
http://fabrice.bellard.free.fr/qemu/download.html
par exemple le fichier
kqemu-0.6.2-1.tar.gz
Ce qui peux se faire avec l’uniligne
wget http://fabrice.bellard.free.fr/qemu/kqemu-0.6.2-1.tar.gz
On extrait les fichiers dans le dossier qemu-snapshot-2005-07-07 23
cd qemu-snapshot-2005-07-07 23 tar xvzf ../kqemu-0.6.2-1.tar.gz
Récuperation des en-tête du noyau (2.4) ou des sources du noyau (2.6). On
met le lien à jour vers linux et on change les droits pour qu’un utilisateur lambda
puisse modifier les sources !
52
aptitude install kernel-headers-2.4.27-2-686 cd /usr/src rm -f linux ln -s
kernel-headers-2.4.27-2-686 linux chmod -R ugo+rwX kernel-headers-2.4.27-2686 chmod -R ugo+rwX kernel-headers-2.4.27-2
On installe les paquets qui manque généralement et on vire le paquet qemu
qui gêne.
aptitude install libsdl1.2-dev uml-utilities texi2html sudo aptitude purge
qemu
On retourne en utilisateur lambda dans son dossier qemu
cd qemu-snapshot-2005-07-07 23 ./configure
On doit avoir la ligne SDL et kqemu à ’yes’.
make
On retourne sous le compte root pour faire l’installation et bidouiller un
fichier système qui manque ensuite (si on veut le réseau) et on installe de nouveau
les sources propres
make install
echo ’#!/bin/sh’ > /etc/qemu-ifup echo ’sudo -p ”Password for $0:” /sbin/ifconfig
$1 172.20.0.1’ >> /etc/qemu-ifup chmod a+rx /etc/qemu-ifup
aptitude reinstall kernel-headers-2.4.27-2-686 kernel-headers-2.4.27-2
On fait de même avec sudo. Lancer en root la commande
grep -q ’%users ALL = NOPASSWD: /sbin/ifconfig tun0 172.20.0.1’ /etc/sudoers
|| echo ’%users ALL = NOPASSWD: /sbin/ifconfig tun0 172.20.0.1’ >> /etc/sudoers
/etc/init.d/sudo start
Activer le port forwarding dans le noyau. Mettre les bonnes règles pour faire
du NAT.
grep -q ’net/ipv4/ip forward=1’ /etc/sysctl.conf || echo ’net/ipv4/ip forward=1’
>> /etc/sysctl.conf sysctl -p
/sbin/iptables -A INPUT -i tun0 -j ACCEPT /sbin/iptables -A OUTPUT -o
tun0 -j ACCEPT /sbin/iptables -A FORWARD -i tun0 -j ACCEPT /sbin/iptables
-A FORWARD -o tun0 -j ACCEPT /sbin/iptables -t nat -A POSTROUTING
-o eth0 -j MASQUERADE /sbin/iptables -A FORWARD -s 172.20.0.0/24 -i
tun0 -o eth0 -p tcp -j ACCEPT
On peux sauver les règles iptables pour un prochain reboot
/etc/init.d/iptable save active
On charge les modules noyaux
modprobe kqemu modprobe tun
Ou pour garder apres un reboot (noyau 2.4)
grep -q ’kqemu’ /etc/modules || echo ’kqemu’ >> /etc/modules grep -q ’tun’
/etc/modules || echo ’tun’ >> /etc/modules
Si cela marche pas, il peux manquer le périphérique kqemu. Normalement,
l’installation doit avoir tout fait.
mknod /dev/kqemu c 250 0 chmod 666 /dev/kqemu
changer taille partition : (vers 1 Go par ex.) dd if=/dev/zero of=image.img
seek=1024000 count=1024000
attention, modifier le partitionnement de l’image peut affecter le système
émulé. Commandes utiles : Ctrl-Alt-f = passe en plein écran. kqemu : modprobe kqemu mknod /dev/kqemu c 250 0 chmod 666 /dev/kqemu
53
version 2
Qemu
(voir aussi http://compsoc.dur.ac.uk/˜djw/qemu.html)
First, edit /etc/sudoers with ”visudo” and add your account
Add the ”qemu” group to /etc/groups and add your userid to this group in
/etc/passwd
Next, I wrote a little script to load all the right modules and change device
perms Code: #!/bin/sh
# change some runtime parameters echo 1024 > /proc/sys/dev/rtc/maxuser-freq
# insert the tuntap module /sbin/modprobe tun
# check to see if it loaded lsmod | grep tun
# insert the bridge module /sbin/modprobe bridge
# check to see if it loaded lsmod | grep bridge
# insert the kqemu module /sbin/modprobe kqemu major=0
# check to see if it loaded lsmod | grep kqemu
# change perms on /dev/kqemu chown root:qemu /dev/kqemu chmod 0660
/dev/kqemu ls -l /dev/kqemu
# change perms on /dev/net/tun chown root:qemu /dev/net/tun chmod
0660 /dev/net/tun ls -l /dev/net/tun
Another script to setup the network in bridged mode Code: #!/bin/sh
ifdown eth0 brctl addbr br0 ifconfig eth0 up brctl addif br0 eth0 # may need
to add either line below to start dhcpcd (dhcp client) # dhcpcd br0 # dhclient
br0
NB - tuntap was already available in the FC4 kernels. I used yum to install
bridge-utils.
Finally, I used the following script - /etc/qemu-ifup Code: #!/bin/sh sudo /sbin/ifconfig $1 up sudo /usr/sbin/brctl addif br0
$1
When you start a VM, the following line appears on stdout Code: drosser@gemini$ qemu -cdrom dsl-2.0.iso -boot d Connected to host
network interface: tun0
Finally, what /sbin/ifconfig output looks like when everything’s running br0
Link encap:Ethernet HWaddr 00:14:2A:13:46:B6
inet addr:192.168.0.201 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12515 errors:0 dropped:0 overruns:0 frame:0
TX packets:7746 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6625538 (6.3 MiB) TX bytes:881838 (861.1 KiB)
54
eth0
Link encap:Ethernet HWaddr 00:14:2A:13:46:B6
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:142299 errors:0 dropped:0 overruns:0 frame:0
TX packets:107316 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:168299488 (160.5 MiB) TX bytes:9176095 (8.7 MiB)
Interrupt:233 Base address:0xe000
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4310 errors:0 dropped:0 overruns:0 frame:0
TX packets:4310 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6274814 (5.9 MiB) TX bytes:6274814 (5.9 MiB)
tun0
Link encap:Ethernet HWaddr 2A:BC:99:A4:EA:CA
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:1522 (1.4 KiB) TX bytes:7372 (7.1 KiB)
Zope / Plone
http://www.ngogeeks.com/book/print/65 port par défaut : http://machine:9673
LaTeX
Step 1: Convert the font to pc ttf format with pfaedit (see pfaedit.sf.net).
Save the fonts in ”/Library/Fonts/Hoefler Text.dfont” as ehtr16.ttf, ehtri16.ttf,
ehtc16.ttf, and ehtci16.ttf Step 2: Install from the command line: ttf2tex ttf2tex
–batch –install -N –foundry apple –font hoeflert eht –expert Step 3: Enable the
eht.map with updmap (I don’t know the exact syntax) or by editing pdftex.cfg
Réduire les coupures de mots : augmenter la valeur de \hyphenpenalty (vaut
50 par défaut) voir également \pretolerance=150 , \tolerance (defaut 200) et
\emergencystretch ex : \setlength{\emergencystretch}{3em} résoudre les mots
qui sortent de la justification (overfull hbox): indiquer \sloppy (defaut 9999) Ex
:
\newenvironment{tolerant}[1]{% \par\tolerance=#1\relax }{% \par }
mettre à jour tetex : texhash
mettre à jour les polices : updmap –enable Map /chemin/fichier.map
variations sur LaTeX : Lout GELLMU tbook Tbook Installer tbook
installer depuis les sources (linux) ou un rpm
installer saxon : apt-get install lib-saxon-java créer un script ”saxon” dans
/usr/bin :
55
export CLASSPATH java -ms15000000 com.icl.saxon.StyleSheet $1 $2 $3 $4
$5 $6 $7 $8 $9%%
tester :
tbprepare test tbtolatex -t test
GhostScript et police Type 1
Sous debian, si on a defoma qui est installé, il est possible d’installer directement
des polices Type 1 de cette façon :
cp *.pfb /var/lib/defoma/gs.d/dirs/fonts
type1inst
cat Fontmap >> /var/lib/defoma/gs.d/dirs/fonts/Fontmap
Les polices seront accessibles pour GhostScript (gs). Pour pouvoir les utiliser
avec par exemple openoffice.org, il faut utiliser l’installateur de police de kde
(dans kcontrol)
txt2tags
puissant système de formatage qui permet d’exporter en html, latex etc (ce
document est généré avec txt2tags) http://txt2tags.sourceforge.net/
Mutt
créer un fichier .muttrc dans /home/utilisateur/
set realname = "blabla"
set from = "[email protected]"
# Mail Folder
set folder = ~/Mail # Directory that contains all mail files (mailboxes)
set spoolfile = +Inbox # Default spoolfile
set mbox = +Inbox # Where mail is appended to from spoolfile
set mbox_type = mbox # Type of mail files
set postponed = +Unsent # Where to save postponed mail
set copy = yes # Save copies of outgoing mail?
set record = +Sent # Where to save copies of outgoing mail
#set pop_delete
set pop_host="pop.serveur.fr"
#set pop_port=110
set pop_pass=" mot de passe "
set pop_user=" utilisateur "
# unset pop_last
56
liste plus complète ici : http://sebastien.dinot.free.fr/dotmuttrc.html
Récupérer le courrier avec G .
envoyer une pièce jointe directement :
mutt -s "Test mail" -a fichier.tar.gz [email protected] < /tmp/mailmessage.txt
Pour envoyer un message via smtp sans utiliser de logiciel spécifique de courrier sortant, il est possible d’utiliser ce script : http://www2.zdo.com/articles/muttsmtp-wrapper.php
Firefox
Firefox Installer le plugin java dans mozilla / firefox
(adapter selon votre chemin du jre)
sudo ln -s /usr/share/jre1.5.0 01/plugin/i386/ns7/libjavaplugin oji.so /usr/lib/mozillafirefox/plugins/
( eventuellement ?
sudo ln -s /usr/share/jre1.5.0 01/lib/i386/libjavaplugin jni.so /usr/lib/mozillafirefox/plugins/ )
installer flash sur amd64 : télécharger flash player : http://www.macromedia.com/shockwave/download/dow
editer ”flashplayer-installer”, ligne 249 ”i[3456]86)” en ”i[3456]86|x86 64)” lancer
l’installation Il faut pour cela avoir une version 32 bits de firefox !
Emulation
UAE (amiga)
dans uaerc : gfx linemde=double F12 + G pour bloquer la souris et la libérer
(grab the mouse)
Dosemu
alt+ctrl+f : active le mode plein écran augmenter la vitesse : dans /etc/dosemu/dosemu.conf
augmenter la valeur de HogThreshold à la moitié de celle de la valeur de bogomips de la machine.
Tango
http://tango-project.org/Tango Icon Library : des icones pour gnome et kde
http://www.oxygen-icons.org/ : projet similaire
installer tango : (icones kde)
cd ˜/.kde/share/icons && wget ”http://www.zuurstofcel.nl/Tango-1.0.tar.gz”
&& tar -xvzf Tango-1.0.tar.gz && rm Tango-1.0.tar.gz && kcmshell icons &&
cd ˜
57
midgard
cms interessant ? : http://www.midgard-project.org/documentation/installationdistros/
Ifs-compose
des fractales dans gimp : http://tigert.gimp.org/gimp/ifs-compose/
Java
changer le look java
java -jar -Dswing.defaultlaf=com.sun.java.swing.plaf.motif.MotifLookAndFeel
Jif.jar java -jar -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Jif.jar java -jar -Dswing.gtkthemefile=/usr/share/themes/Default/gtk/gtkrc Jif.jar
java -jar -Dswing.metalTheme=steel Jif.jar
(cf. http://java.sun.com/docs/books/tutorial/uiswing/misc/plaf.html )
créer paquet java debian
apt-get install java-package make-jpkg jre-***-linux-i586.bin dpkg -i sunj2re*** i386.deb
Quelques programmes à connaı̂tre (en construction)
Certains de ces programmes étant installés sur la plupart des distributions, il
peut être intéressant d’essayer de les lancer.
kate : éditeur de texte KDE, autorise de multiples fichiers ouverts, et garde
en mémoire ces fichiers pour les sessions suivantes.
ethereal : analyse réseau
openoffice : remplacement de microsoft office
scribus, sketch, sodipodi : éditeur dessin vectoriel
inkscape / sodipodi : éditeur dessin vectoriel
blender : modeleur 3D
kstar : planétarium / carte du ciel
noteedit : editeur de partitions
rosegarden : éditeur de partitions
xftree
cfdisk : équivalent de fdisk (partitionnement des disques)
tune2fs : ?
netcardconfig
soundcardconfig
58
mkpersistenthome : créer répertoire utilisateur Knoppix /user/sbin/save
config : sauver config knoppix soundcardconfig : configuration carte son cupsconfig : configuration imprimantes lilypond gentoo, xwc, filerunner : gestionnaires fichiers qtparted : maintenance des partitions (équivalent ”partition
magic”) : retailler, modifier les disques durs lvm : partitionnement dynamique
ginf ? edit html nvu (idem) fortune : affiche une citation starfile : converti un
fichier texte en citation pour fortune.
Jeux : Battalion : http://www.evl.uic.edu/aej/AndyBattalion.html supertux : clone supermario Nicotine : client soulseek
WindowMaker :
wmakerconf fsviewer : gestionnaire de fichier de GnuStep / WindowMaker
worker : gestionnaire fichier aterm : émulateur de terminal /etc/X11/WindowMaker/menu.hook
: fichier de config du menu wmsetbg -e /chemin/image.jpg : fond écran (transparence supportée)
FluxBox :
fbdesk fbpager fluxconf fluxspace idesk : icones bsetbg -c /chemin/image.jpg
: fond écran (sans transparence) session.screen0.rootCommand: bsetbg -f ˜/backgrounds/zimdib dark.png
ion3 :
cfg debian.lua ajouter : META=”Mod4+” ALTMETA=”Shift+”
apprentissage de ion3 : http://dev.nozav.org/intro ion.html
Knoppix : GNUstep : gridlock : divers jeux gworkspace : gestionnaire de
fenêtres sitar : donne des informations sur le système et le matériel.
Utilitaires généraux Voici les indispensables à connaı̂tre Open Office :
Traitement de texte, tableur, etc. Firefox : Navigateur internet Thunderbird :
Client courriel Gimp : Editeur image
Utilitaires intéressants pour une configuration légère Nedit : éditeur ascii
Worker : gestionnaire de fichiers (basé sur Directory Opus) : http://www.boomerangsworld.de/worker/
Xfe : gestionnaire de fichier conventionnel Dillo : navigateur simple et rapide.
Fspanel : barre de tâche amaya : editeur html wysiwyg xli : visualiseur d’images
vlc : joue vidéo et musique / video & music http://backarrow.sourceforge.net/index.php?id=download
Windows : TestDisk : indispensable si une table de partition ou le MBR
lâche : http://www.cgsecurity.org/index.html?testdisk.html Calypso : Client
courriel Calypso : Client courriel (windows)
Emulateurs : http://aranym.sourceforge.net/ (Atari) http://www.aros.org
(Amiga)
Fichiers de configuration
˜/.profile
export PATH="$HOME/.dist/bin:/usr/share/jre1.5.0_01/lib/:/usr/share/jre1.5.0_01
/bin/:$PATH:"
export LANG=fr_FR@euro
PS1=’\[\033[0;33m\][\t]\[\033[0;32m\]\[\033[0;36m\]\w\$\[\033[0m\] \a’
59
PROMPT=$’%{\e[0;36m%}[%t] %{\e[0;32m%}%~$%{\e[0m%} ’
alias ..="cd .."
alias which="type -path"
alias where="type -all"
alias ll="ls -l --color=auto"
# -G à la place de --color=auto sur BSD
alias l="ls -a --color=auto"
alias rm="rm -i"
alias mv="mv -i"
alias cp="cp -i"
alias psg=’ps auxww | grep’
alias la="ls -la --color=auto"
alias ls="ls --color=auto"
alias trouve="find ./ -type f | xargs grep -l "
alias cherche-et-trouve="find / -maxdepth 50 -type f | xargs grep -l "
# alias free="sysctl -a | grep -i memory " # sous bsd uniquement
~/.bashrc
[ -f /etc/profile ] && . /etc/profile && . ~/.profile
~/.zshrc
.zshrc
[ -f /etc/profile ] && . /etc/profile && . ~/.profile
#complist
#autoload -U compinit
#compinit
#ZLS_COLORS=$LS_COLORS
˜/.torsmorc
torsmo permet d’afficher des info sur l’image de fond (conky est son remplaçant)
# set to yes if you want tormo to be forked in the background
background no
cpu_avg_samples 3
net_avg_samples 3
# X font when Xft is disabled, you can pick one with program xfontsel
#font 5x7
#font 6x10
#font 7x13
#font 8x13
#font 7x12
60
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*
# Use Xft?
use_xft yes
# Xft font when Xft is enabled
xftfont Bitstream Vera Sans:size=8
# Text alpha when using Xft
xftalpha 0.8
# mail spool
mail_spool $MAIL
# Update interval in seconds
update_interval 60
# Create own window instead of using desktop (required in nautilus)
own_window no
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer no
# Minimum size of text area
minimum_size 280 5
# Draw shades?
draw_shades yes
# Draw outlines?
draw_outline no
# Draw borders around text
draw_borders no
# Stippled borders?
stippled_borders 8
# border margins
border_margin 4
# border width
border_width 1
# Default colors and also border colors
default_color white
61
default_shade_color black
default_outline_color black
# Text alignment, other possible values are commented
alignment top_left
#alignment top_right
#alignment bottom_left
#alignment bottom_right
# Gap between borders of screen and text
gap_x 12
gap_y 12
# Subtract file system buffers from used memory?
no_buffers yes
# set to yes if you want all text to be in uppercase
uppercase no
# boinc (seti) dir
# seti_dir /opt/seti
# Possible variables
#
#
Variable
# acpiacadapter
# acpifan
# acpitemp
# adt746xcpu
# adt746xfan
# battery
#
#
# buffers
# cached
# color
# cpu
# cpubar
#
# downspeed
# downspeedf
#
# exec
#
#
#
to be used:
Arguments
(num)
(color)
(height)
net
net
shell command
62
Description
ACPI ac adapter state.
ACPI fan state
ACPI temperature.
CPU temperature from therm_adt746x
Fan speed from therm_adt746x
Remaining capasity in ACPI or APM
battery. ACPI battery number can be
given as argument (default is BAT0).
Amount of memory buffered
Amount of memory cached
Change drawing color to color
CPU usage in percents
Bar that shows CPU usage, height is
bar’s height in pixels
Download speed in kilobytes
Download speed in kilobytes with one
decimal
Executes a shell command and displays
the output in torsmo. warning: this
takes a lot more resources than other
variables. I’d recommend coding wanted
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
behaviour in C and posting a patch :-).
interval, shell Same as exec but with specific interval.
command
Interval can’t be less than
update_interval in configuration.
fs_bar
(height), (fs) Bar that shows how much space is used on
a file system. height is the height in
pixels. fs is any file on that file
system.
fs_free
(fs)
Free space on a file system available
for users.
fs_free_perc
(fs)
Free percentage of space on a file
system available for users.
fs_size
(fs)
File system size
fs_used
(fs)
File system used space
hr
(height)
Horizontal line, height is the height in
pixels
i2c
(dev), type, n I2C sensor from sysfs (Linux 2.6). dev
may be omitted if you have only one I2C
device. type is either in (or vol)
meaning voltage, fan meaning fan or temp
meaning temperature. n is number of the
sensor. See /sys/bus/i2c/devices/ on
your local computer.
kernel
Kernel version
loadavg
(1), (2), (3)
System load average, 1 is for past 1
minute, 2 for past 5 minutes and 3 for
past 15 minutes.
machine
Machine, i686 for example
mails
Mail count in mail spool. You can use
program like fetchmail to get mails from
some server using your favourite
protocol. See also new_mails.
mem
Amount of memory in use
membar
(height)
Bar that shows amount of memory in use
memmax
Total amount of memory
memperc
Percentage of memory in use
new_mails
Unread mail count in mail spool.
nodename
Hostname
outlinecolor
(color)
Change outline color
pre_exec
shell command
Executes a shell command one time before
torsmo displays anything and puts output
as text.
processes
Total processes (sleeping and running)
running_processes
Running processes (not sleeping),
requires Linux 2.6
shadecolor
(color)
Change shading color
execi
63
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
stippled_hr
swapbar
swap
swapmax
swapperc
sysname
time
(space),
(height)
(height)
Stippled (dashed) horizontal line
Bar that shows amount of swap in use
Amount of swap in use
Total amount of swap
Percentage of swap in use
System name, Linux for example
Local time, see man strftime to get more
information about format
Total download, overflows at 4 GB on
Linux with 32-bit arch and there doesn’t
seem to be a way to know how many times
it has already done that before torsmo
has started.
Total upload, this one too, may overflow
Number of updates (for debugging)
Upload speed in kilobytes
Upload speed in kilobytes with one
decimal
Uptime
Uptime in a shorter format
(format)
totaldown
net
totalup
updates
upspeed
upspeedf
net
net
net
uptime
uptime_short
seti_prog
seti_progbar
seti_credit
Seti@home current progress
Seti@home current progress bar
Seti@hoome total user credit
(height)
# variable is given either in format $variable or in ${variable}. Latter
# allows characters right after the variable and must be used in network
# stuff because of an argument
# stuff after ’TEXT’ will be formatted on screen
#${exec date}
#TEXT
#$nodename - $sysname $kernel on $machine
#$stippled_hr
#${color lightgrey}Uptime:$color $uptime ${color lightgrey}- Load:$color $loadavg
#${color lightgrey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 6}
#${color lightgrey}CPU Usage:$color $cpu% ${cpubar 6}
#${color lightgrey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 6}
#${color lightgrey}Processes:$color $processes ${color grey}Running:$color $running_process
#$color$stippled_hr
#${color lightgrey}Networking:
# Up:$color ${upspeed eth0} k/s${color lightgrey} - Down:$color ${downspeed eth0} k/s
#${color lightgrey}File systems:
64
# / $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
#${color}MPD: $mpd_artist - $mpd_title
#Name
Usage PID
#${color lightgrey} ${top name 1} ${top usage 1} ${top
#${color lightgrey} ${top name 2} ${top usage 2} ${top
#${color lightgrey} ${top name 3} ${top usage 3} ${top
#${color lightgrey} ${top name 4} ${top usage 4} ${top
pid
pid
pid
pid
1}
2}
3}
4}
TEXT
${color cyan}DEBIAN $sysname $kernel on $nodename
${color white}$hr
${color lightgray}${time %a, }${color white}${time %B %e %G}
${color lightgray}${time %Z, }${color white}${time %H:%M:%S}
${color white}$hr
${color cyan}${execi 40000 cal}
${color white}$hr
${color green}UpTime: ${color lightgray}$uptime
${color white}$hr
${color white}NETWORK INFO
${color green}ETH0:
${color lightgray}Up :${color white} ${upspeedf eth0} k/s
${color lightgray}Down:${color white} ${downspeedf eth0} k/s ${color white}
${color white}$hr
${color lightgray}I N F O
${color green}CPU :${color white} $cpu%
$cpubar
${color green}RAM :${color lightgray} $memperc% $mem/$memmax
$membar
${color green}SWAP :${color white} $swapperc% $swap/$swapmax
$swapbar
${color green}ROOT :${color lightgray} ${fs_free_perc /}% ${fs_free /}/ ${fs_size /}
${fs_bar /}
${color green}ALL PROCESSES: ${color cyan} $processes
${color green}ACTIVE PROCESSES: ${color cyan} $running_processes
$hr
${color white}Temp:
${color white}M/B: ${exec expr ‘cat /sys/bus/i2c/devices/1-0290/temp1_input‘ / 1000} C
CPU: ${exec expr ‘cat /sys/bus/i2c/devices/1-0290/temp2_input‘ / 1000} C
Temp3: ${exec expr ‘cat /sys/bus/i2c/devices/1-0290/temp3_input‘ / 1000} C
root-tail.sh
root-tail
-g
800x150+12+510 -font -schumacher-clean-medium-r-normal-*-*-120-*-*-c-*-iso885
65
mots clés pour ce document :
• Unix, linux, opensource, mac os x, freebsd, bsd, solaris, opensolaris, posix,
gnu
• Cours, notes, pense-bête, astuces et formation linux en français
pages générées le 09/13/2007
66

Documents pareils

Aide-mémoire Linux

Aide-mémoire Linux pour quitter (en mode commande) :q supprimer un caractère (en mode commande) x supprimer une ligne (en mode commande) dd Sans oublier le guide de survie sous vi (http://echo-linux.alienor.fr/articl...

Plus en détail