Pour avoir du bépo dès grub
http://bepo.fr/wiki/Console_GNU/Linux
claviers :
Ça se passe dans les préférences de clavier
Dans /etc/default/grub
# ajout d'après http://bepo.fr/wiki/Console_GNU/Linux GRUB_TERMINAL_INPUT=at_keyboard
Dans /etc/grub.d/40_custom
# Aj DC (http://bepo.fr/wiki/Console_GNU/Linux) insmod keylayouts # faut d'abord générer ce fichier bepo.gkb, avec (en root), et le mettre dans la partition racine # (pas dans /boot s'il est séparé) # ckbcomp fr bepo | grub-mklayout -v -o /root/grub/bepo.gkb keymap /root/grub/bepo.gkb
Dans une console sous X, c'est X qui décide, mais en single mode faut avoir fait un
# choisir UTF-8 puis dvorak puis dvorak french bepo # (pas la variante UTF-8 qui déclenche une erreur sous stretch) dpkg-reconfigure console-data
Et pour mettre <> en accès direct faut modifier /usr/share/X11/xkb/symbols/fr (cf http://bepo.fr/wiki/Trucs_et_astuces)
Il faut juste avoir un grub qui marche déjà, récupérer l'initrd.gz et le vmlinuz nécéssaire au 1er boot (par exemple sur http://debian.osuosl.org/debian/dists/etch/main/installer-i386/current/images/netboot/debian-installer/i386/), et ajouter dans le menu du grub qui marche (remplacer (hd0,0)/boot/newinstall/ par le bon chemin).
title Debian Install kernel (hd0,0)/boot/newinstall/vmlinuz root=/dev/ram0 ramdisk_size=12000 initrd (hd0,0)/boot/newinstall/initrd.gz
cf http://www.us.debian.org/releases/stable/i386/ch05s01.html.fr#boot-initrd
Avec une clé USB, c'est simple aussi (cf http://wiki.debian-facile.org/wiki/doku.php?id=manuel:installation:installusb), pour une lenny, avec la clé dans /dev/sdf
wget http://ftp.fr.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/boot.img.gz wget http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-506-i386-netinst.iso zcat boot.img.gz > /dev/sdf mount /dev/sdf /mnt/test cp debian-506-i386-netinst.iso /mnt/test umount /mnt/test
Y'a plus qu'à booter sur la clé…
Dans cette exemple, la clé se retrouve avec 256Mo, ça doit être possible de partitionner la clé avant et de faire un zcat boot.img.gz > /dev/sdf1 pour pouvoir mettre une iso + grosse sur /dev/sdf2 (pas testé)
cf http://live.debian.net/manual/current/html/live-manual/the-basics.fr.html
Pour créer une clé bootable avec un installer et un environnement complet
mkdir debian-live-64 cd debian-live-64/ # pour une clé usb, le bootloader est forcément isolinux, et il ne supporte que ntfs en --binary-filesystem lb config --clean --apt apt --binary-images iso-hybrid --binary-filesystem ntfs --debian-installer cdrom --distribution wheezy --debian-installer-gui true --bootappend-live "locales=fr_FR.UTF-8 keyboard-layouts=fr" --updates true --backports true # en root lb build # #using-usb-extra-space # On branche la clé, df ou mount pour vérifier le X de /dev/sdX, ATTENTION à pas se gourer ! # en la laissant montée cp binary.hybrid.iso /dev/sdX # pour créer une 2e partition gparted ${USBSTICK}
quelques exemples
truc ~i
paquets dont le nom contient “truc” qui sont installés, ?name(truc) ~i
est équivalent et recommandé (mais le raccourci est quand même pratique)?exact-name(apt)
pour avoir apt mais pas apt-get ni aptitude~c
configurés et pas installés (y'a eu install puis remove sans purge)aptitude search '!?origin(debian) ~i'
pour voir tous les paquets non debian (dotdeb, mongo, nginx & co)~o
pour les paquets obsolètes (qui ne sont pas dans les dépôt actuels), en général les deb installés localement, mais ça peut être un ancien paquet installé sorti de debian depuisaptitude search '?narrow(?installed, !?archive(stable))'
trouver tous les paquets installés qui ne sont pas dans stable (de toutes origines)aptitude -F “%p” search “$pattern”
-F pour le formatage de sortie, on ne veut que les noms de paquets?depends(python) ~i
tous les paquets qui dépendent de python ?for x: ?depends(?recommends( ?=x ) ) ~i
pour lister les paquets installés qui ont en dépendance un paquet qui le recommande (pas d'une utilité folle, mais c'est un exemple)
On peut combiner ça, par exemple pour voir pourquoi les paquets marqués auto sont installés :
aptitude search -F ”%p“ ~i~M | while read p; do echo -e “\n$p”; aptitude why $p; done;
ou pour voir ceux qui ne sont là “que” par recommandation
aptitude search -F ”%p“ ~i~M | while read p; do aptitude why $p; done |grep Recommends
(long et gourmand)
Marquer tous les libXX en auto : aptitude -F ”%p“ search ^lib~i\!~M > list; aptitude markauto $(<list); rm list
# on récupère la liste
aptitude -F "%p" search ~i\!~M > liste
et sur l'autre machine on installe tous ces paquets aptitude install $(<liste)
(de Gilles Mocellin via debian-user-french _ad_ lists.debian.org)
Pour avoir cette liste depuis un backup qui ne tourne pas, on peut faire
dpkg --admindir=/path/to/backup/var/lib/dpkg -l
(merci à Roberto C. Sánchez de la liste debian-user-french _ad_ lists.debian.org)
Depuis que les backports sont officiels, le package pinning n'est plus très utiles (et y'a parfois des pbs de libc entre une version et la suivante qui rend le pinning impossible sans recompilation, du coup il vaut mieux récupérer ponctuellement des sources et les reconstruire avec apt-build par ex), je laisse ça là pour mémoire
Le pinning ou comment mélanger les debian stable/testing/unstable en limitant les risques
Package: * Pin: release a=testing Pin-Priority: 990 Package: * Pin: release a=unstable Pin-Priority: 99
d'après http://www.bxlug.be/articles/194 (vu ailleurs aussi)
Rmq : un attribut intéressant, le o=Debian pour préciser l'origine debian des paquets (pour les distinguer par exemple de o=dotdeb), et une commande pour voir les attributs des différentes sources :
for f in /var/lib/apt/lists/*Release; do echo "$f :"; cat $f; echo; done;
Mon sources.list lenny (en squeeze on mettra plutôt les ajouts dans des /etc/apt/sources.list.d/truc.list)
deb http://mir2.ovh.net/debian/ lenny main contrib non-free deb-src http://mir2.ovh.net/debian/ lenny main contrib non-free deb http://security.debian.org/ lenny/updates main contrib non-free deb-src http://security.debian.org/ lenny/updates main contrib non-free deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free deb ftp://ftp.debian-multimedia.org lenny main non-free # backports devenu officiel, cf http://backports.debian.org/ # on prend le mirror debian.netcologne.de en ftp deb ftp://debian.netcologne.de/debian-backports/ lenny-backports main contrib non-free
et dans /etc/apt/apt.conf (pour squeeze on mettra ça plutôt dans un fichier de /etc/apt/apt.conf.d/, par ex 80no_reco_ni_sugg pour passer après les autres)
// on veut pas des recommandés ou suggérés APT::Install-Recommends "0"; APT::Install-Suggests "0";
Et pour /etc/apt/preferences (en squeeze préférer des fichier comme /etc/apt/preferences.d/openoffice)
Package: openoffice.org openoffice.org-gnome Pin: release a=lenny-backports Pin-Priority: 999
Rq: on ne peut pas utiliser de wildcard ici, faut lister tous les paquets. Comme c'est fastidieux, pour les avoir tous on pourra lancer par ex
aptitude -t lenny --disable-columns -F "%p" search 'openoffice.org-'|tr '\n' ' '
Pour faire des paquets plus proprement qu'avec checkinstall (à la sauce debian pour de vrai), cf http://www.catapulse.org/articles/view/81, http://boisson.homeip.net/faireunpaquet.html, http://alp.developpez.com/tutoriels/debian/creer-paquet/, http://fr.wikipedia.org/wiki/Utilisateur:Sbrunner/Cr%C3%A9ation_de_paquets_Debian et bien sûr la doc officielle pour faire tout bien comme il faut http://www.debian.org/doc/manuals/maint-guide/ch-start.fr.html
Pour exporter ses clés : gpg --export -o fichier
et on récupère avec gpg --import fichier
cf http://linux.jpvweb.com/imageiso.html
et un autre tuto détaillé sur la gravure http://www.labo-linux.org/articles-fr/la-gravure-sous-linux/gravure-de-dvd
cf http://aplawrence.com/Words2005/2005_04_13.html
The “Magic Sysrequest key” is Alt (left or right Alt key) and Sysrq (up there under Print Screen, next to F12 on most keyboards). To use it, you need to have it enabled in your kernel (CONFIG_MAGIC_SYSRQ). It usually is; if you have a file called '/proc/sys/kernel/sysrq' you have this. To ENABLE the magic functions, you need a “1” in that file. If it has 0, Alt-SysRq just returns you to the previous console you were using.
If you have this enabled, it can be useful in the case where the system has escaped your control and nothing else is working. The following sequence may be better than just hitting the power button:
I can remember that with “So Everything Is Unusual - Boot!”
Un billet sur le mirroring de dépots (ubuntu, mais idem pour debian), pour une install ailleurs sans adsl : http://blog.racoon97.net/index.php?2007/04/07/90-installer-ubuntu-sans-connexion-internet-a-partir-des-depots-sur-un-disque-dur-externe
Le reste sur http://www.prendreuncafe.com/blog/post/2007/05/19/Petit-pense-bete-des-raccourcis-Mac-OS-X
Juste un exemple de /etc/sudoers, plus rapide qu'un long discours
# des alias de commandes Cmnd_Alias NET=/sbin/ifconfig,/usr/sbin/iftop,/usr/bin/gnome-ppp Cmnd_Alias HALT=/sbin/halt,/sbin/reboot Cmnd_Alias OTHERBIN=/usr/bin/ionice,/usr/bin/renice,/usr/bin/truecrypt # et on donne le droit au user daniel d'exécuter depuis n'importe quel host (ALL), # en tant que root et sans mot de passe les commandes suivantes daniel ALL=(root) NOPASSWD:NET,NOPASSWD:HALT,NOPASSWD:OTHERBIN # et on donne le droit aux users du groupe adm d'exécuter ces commandes en root # (mais ils devront fournir leur mot de passe) %adm ALL=(root) NET,HALT,OTHERBIN
Pour se simplifier iptables : http://firehol.sourceforge.net/commands.html, avec un exemple de port forwarding http://mel.icious.net/blog/2007/07/10/give-me-a-reason-to-stop-playing-with-your-heart/
D'autres utilitaires pour iptables http://wiki.debian.org/Firewalls
howto iptables http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html
iptables -A INPUT -s ip.un.peu.louche -j DROP
, iptables -D INPUT -s ip.un.peu.louche -j DROP
iptables -t nat -A POSTROUTING -s ip.privee.de.la.vm -o vmbr0 -j SNAT --to ip.publique.a.utiliser
iptables -t nat -A PREROUTING -p tcp -d ip.publique --dport $port_ip_pub -j DNAT --to-destination ip.privee.de.la.vm:$port_ip_privee
(on peut aussi ajouter -i $interface si on veut se limiter à cette interface)
Et pour virer ces règles, remplacer le -A par -D
explications tunnels ssh http://www.institut.math.jussieu.fr/informatique/tunnel/tunnel_ssh.html
ssh -f -N -L $localPort:$destServer:$destPort $user@$sshServer
(souvent, $sshServer et $destServer sont identiques, mais c'est pas obligé, et c'est même pratique pour rerouter un port vers une machine sur laquelle on a pas de compte ssh, le tunnel étant entre la machine locale et $sshServer)
Pour garder la connexion active, même sans traffic, ssh -o ServerAliveInterval=300 -f -N -L $localPort:$destServer:$destPort $user@$sshServer
(envoie un ~ping toutes les 5min).
ssh -f -N -R $remotePort:$destServer:$destPort $user@$remoteServer
S'il n'y a pas besoin de chiffrer les communication, c'est bcp plus simple de rediriger le trafic avec iptables (source utilisée)
# vérifier que ça répond 1 cat /proc/sys/net/ipv4/ip_forward # exemple en redirigeant le trafic arrivant sur le port 80 vers $newIP iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-destination $newIP iptables -t nat -A POSTROUTING -p tcp -d $newIP –dport 80 -j MASQUERADE
tune2fs -L monlabel /dev/hda1
LABEL=monlabel
(à la place de /dev/… ou UUID=…)Si vous utiliser les uuid (dans grub2 par ex, ou dans votre fstab), et que vous faites des backup restaurations avec partimage, vous pouvez vous retrouver avec 2 partitions ayant le même UUID (sdaN backupée et restaurée sur sdbM), et là c'est pas terrible
Mais ça peut s'arranger (http://doc.ubuntu-fr.org/uuid_et_label#modifier_manuellement_l_uuid_d_un_systeme_de_fichiers)
# pour voir les uuid (et les labels) blkid # ls -l /dev/disk/by-uuid/ donne les mêmes infos # on a sda3 et sda5 avec le même UUID, on en veut un nouveau pour sda5 # on en génère un avec uuidgen newu=$(uuidgen) echo $newu #pour voir ;) # puis on l'affecte à sda5 avec tune2fs tune2fs -U $newu /dev/sda5
(penser à modifier /boot/grub/grub.cfg et /etc/fstab en conséquence)
tune2fs -c 90 -i 3m /dev/hda1
.
simplement avec dd if=/dev/sdX | gzip > /mnt/backup/bkp_sdX_avec_dd.gz
, que l'on récupère (sur la même machine) avec zcat /mnt/backup/bkp_sdX_avec_dd.gz | dd of=/dev/sdX
Ça marche d'une machine à l'autre sur des partitions de même taille, si le /dev/sdX cible est plus grand que l'origine, ça fait de la place perdue, et s'il est plus petit je sais pas trop, mais je déconseillerais
Pour faire des images de partitions restaurables sur d'autres partitions de taille différentes, utiliser plutôt partimage.
MBR : Master Boot Record, c'est ce qui permet d'appeller le lanceur de l'OS, grub, lilo ou celui de windows).
Normalement, c'est le bootloader du 1er disque (le 1er déclaré dans le bios) qui est lu, et s'il est vide celui de la partition active de ce disque. Pour ceux qui ont plusieurs OS et veulent conserver à chacun son bootloader, ça peut être pratique de le mettre dans le MBR de la partition de boot (/boot plutôt que / si c'est différent) de l'OS concerné, histoire d'être sûr qu'il se fera pas écraser par le bootloader d'un autre OS installé ensuite. Reste ensuite, éventuellement, à mettre un bootloader sur le disque complet qui ne fait que du chaînage vers les différents bootloader des différents OS sur leur partitions respectives).
Par ex un linux sur sda1 avec son grub sur sda1, un autre linux sur sdb3 avec son grub2 sur sdb3, et un grub (ça marche même si les partitions changent de taille, mais pas si son menu.lst disparait) ou un lilo (n'a pas besoin de menu.lst mais ne marchera plus si les partitions sont plus à la même place) sur sda qui ne fait que du chainloader +1 vers sda1 ou sdb3.
Pour sauvegarder le MBR (446 octets de bootloader + 64 octets de table des partitions + 2 octets de signature, cf http://www.cyberciti.biz/faq/howto-copy-mbr/)
# sauvegarde du MBR de sda (COMPLET car 512 octets, prendre 446 pour bootloader only) dd if=/dev/sda of=/mnt/bkpdisk/mbr-sda.bak bs=512 count=1 # récup du MBR complet de sda dd if=/mnt/bkpdisk/mbr-sda.bak of=/dev/sda bs=512 count=1 # recup du bootloader only (sans table des partitions) que l`on met sur un autre disque (sdb) dd if=/mnt/bkpdisk/mbr-sda.bak of=/dev/sdb bs=446 count=1
Et pour effacer un MBR (le bootloader mais pas les partitions), on met juste des 0 dedans avec
dd if=/dev/zero of=/dev/sdX bs=446 count=1
Pour créer un volume lvm (ici toto dans vg3) et une partition chiffrée avec luks dedans (cf http://www.debian-administration.org/articles/469)
# le volume lvcreate -n toto --size 200G vg3 # On le chiffre (ça efface tout s’il y avait qqchose dedans) cryptsetup luksFormat /dev/vg3/toto # On l’ouvre en lui donnant un nom (ici toto aussi, mais ça peut être ce que l’on veut) cryptsetup luksOpen /dev/vg3/toto toto # On a alors un /dev/mapper/vg3-toto qui est le volume lvm # et un /dev/mapper/toto qui est le volume luks (et pourrait avoir un autre nom) # On peut créer un filesystem dedans mkfs.ext4 /dev/mapper/toto # et le monter normalement mount /dev/mapper/toto /toto
Cf http://www.gigahype.com/resize-luks-encryped-lvm-partition/
# On démonte umount /dev/mapper/toto # On check fsck.ext4 -f /dev/mapper/toto # On ferme le volume luks cryptsetup luksClose toto # On agrandit le volume lvm lvextend -L +20G /dev/vg3/toto # idem lvextend -L +20G /dev/mapper/vg3-toto # On rouvre luks cryptsetup luksOpen /dev/vg3/toto toto # resize luks cryptsetup --verbose resize toto # On peut vérifier le fs si on est méfiant fsck.ext4 -f /dev/mapper/toto # et le monter mount /dev/mapper/toto /toto
Pour monter une partition chiffrée avec luks (le système de chiffrement proposé par debian à l'install), bien utile pour de la maintenance quand on boot sur usb (pour modifier les tailles de partitions, les backuper, etc.).
Attention, ici c'est un volume luks, sur une partition physique, qui contient des lv (ce que fait l'installeur debian), plus haut on parlait de lv qui contiennent du luks, les deux sont possible (mais pour avoir du luks dans un lv, il faut avoir un système qui tourne et a lancé lvm avant).
# on crée le device mapper qui va bien (nommé ici "crypt") pour sda2 (par ex) crypsetup luksOpen /dev/sda2 crypt # ça crée un /dev/mapper/crypt # si c`est du lvm dedans vgscan # doit suffire à retrouver les volumes, suffit de vérifier avec lvdisplay # mais faut encore les rendre actifs (créer les /dev/vg/lv qui vont bien) vgchange -ay # et ensuite on peut les monter normalement
Un peu de doc et des liens sur isalo et linuxpedia
mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/sda1 /dev/sdb1
mdadm –detail –scan –verbose
, cat cat /proc/mdstat
donne aussi des infos utiles (UU ⇒ 2 disques en Usage, OK)
mdadm –assemble /dev/md0 /dev/sda1 /dev/sdb1
(si y'a du lvm dedans, faudra probablement lancer des pvscan et vgscan + activation des lv avec vgchange -ay
)
cp -a /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.$(date '+%F').bak && mdadm –detail –scan –verbose > /etc/mdadm/mdadm.conf
mdadm –manage /dev/md0 –remove /dev/sdb1
mdadm –manage /dev/md0 –add /dev/sdb1
Avec un Carte mère Asus P5QL pro, sensors ne détecte que la température des 4 cœurs du CPU, avec un petit w83627ehf force_id=0x8860
ça va nettement mieux, merci à cet |article qui reprenait cette info.
Depuis buster, j'ai régulièrement des connexions ssh qui échouent (il n'utilise pas la clé et me demande un pass), lancer
gnome-keyring-daemon --replace --daemonize --components=pkcs11,secrets,gpg,ssh
règle le pb (il me demande alors bien le pass de la clé à utiliser)