Outils pour utilisateurs

Outils du site


linux:start

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
linux:start [04/08/2017 09:40] daniellinux:start [10/04/2024 09:40] (Version actuelle) – [récupérer la liste des paquets pour réinstall à l'identique] daniel
Ligne 1: Ligne 1:
 ====== Linux ====== ====== Linux ======
  
-Des pages sur le sujet... et+===== Bépo ===== 
 +Pour avoir du bépo dès grub
  
 +http://bepo.fr/wiki/Console_GNU/Linux
  
-===== qq trucs en vrac =====+claviers :  
 +  * [[https://trulyergonomic.com/ergonomic-keyboards/mechanical-keyboards/products/cleave-truly-ergonomic-mechanical-keyboard/|cleave]] 
 +  * [[https://x-bows.com/|x-bows]] 
 +  * redox ou ergodox chez [[https://falba.tech/cart/|falbatech]] (~300€) 
 +==== xorg ==== 
 +Ça se passe dans les préférences de clavier
  
-==== Bépo ==== +==== grub ====
-Cf http://bepo.fr/wiki/Trucs_et_astuces+
  
-==== debian install sans cd ====+Dans /etc/default/grub 
 +<file> 
 +# ajout d'après http://bepo.fr/wiki/Console_GNU/Linux 
 +GRUB_TERMINAL_INPUT=at_keyboard 
 +</file> 
 + 
 +Dans /etc/grub.d/40_custom 
 +<file> 
 +# 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 
 +</file> 
 + 
 +==== console single mode ==== 
 +Dans une console sous X, c'est X qui décide, mais en single mode faut avoir fait un 
 +<code bash> 
 +# 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 
 +</code> 
 + 
 +==== keymap ==== 
 + 
 +Et pour mettre <> en accès direct faut modifier /usr/share/X11/xkb/symbols/fr (cf http://bepo.fr/wiki/Trucs_et_astuces) 
 + 
 +===== debian install sans cd =====
  
 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  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 
Ligne 35: Ligne 69:
 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é) 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é)
  
-=== Clé USB live ===+===== Clé USB live =====
  
 cf http://live.debian.net/manual/current/html/live-manual/the-basics.fr.html cf http://live.debian.net/manual/current/html/live-manual/the-basics.fr.html
Ligne 57: Ligne 91:
 </code> </code>
  
-==== Gestion des paquets debian ==== +===== Gestion des paquets debian =====
-Depuis que les backports sont officiels, le package pinning sert pas trop (et pb de libc entre lenny et squeeze), je laisse ça là pour mémoire+
  
-Un autre lien (http://www.andesi.org/index.php?node=130) et un article intéressant sur apt-build (http://www.andesi.org/index.php?node=108).+  * apt howto http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html 
 +  * doc aptitude pour les pattern de recherche https://www.debian.org/doc/manuals/aptitude/ch02s04s05.fr.html#exampleSearchEqual 
 +  * d'autres exemples sur http://doc.ubuntu-fr.org/aptitude#motifs_de_recherche_utilisation_avancee 
 +  * https://wiki.debian.org/Aptitude
  
-Le apt howto http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html+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 depuis 
 +  * ''aptitude 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 
 +  * ~i => les paquets installés 
 +  * !~M => mais pas les paquets automatiquement installés (on peut mettre '~i!~M' au lieu de ~i\!~M, mais attention de ne pas quoter avec " sinon bash va interprêter le !) 
 +  * ''?depends(python) ~i'' tous les paquets qui dépendent de python 
 +  * ?for permet du récursif '' ?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)
  
-Rmq : un attribut intéressantle 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 : \\ +On peut combiner ça, par exemple pour voir pourquoi les paquets marqués auto sont installés :\\ 
-''%%for f in /var/lib/apt/lists/*Release; do echo "$f :"; cat $fecho; done;%%''+''aptitude search -F "%p" ~i~M | while read p; do echo -e "\n$p"; aptitude why $pdone;''\\ 
 +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 > listaptitude markauto $(<list); rm list'' 
 + 
 +==== récupérer la liste des paquets pour réinstall à l'identique ==== 
 +# 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) 
 + 
 + 
 +==== backports ==== 
 +Cf http://backports.debian.org/ 
 + 
 +==== package pinning ==== 
 + 
 +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
  
-=== package pinning === +Le pinning ou comment mélanger les debian stable/testing/unstable en limitant les risques
-Ou  comment mélanger les debian stable/testing/unstable de debian en limitant les risques+
   * mettre les sources testing et unstable dans le sources.list   * mettre les sources testing et unstable dans le sources.list
-  * créer un fichier /etc/apt/preferences qui contient+  * créer un fichier /etc/apt/preferences avec par ex (ici pour favoriser testing) 
 <code bash> <code bash>
 Package: * Package: *
Ligne 80: Ligne 149:
 Pin-Priority: 99 Pin-Priority: 99
 </code> </code>
 +
 d'après http://www.bxlug.be/articles/194 (vu ailleurs aussi) d'après http://www.bxlug.be/articles/194 (vu ailleurs aussi)
  
-=> et sun-java5-jdk s'installe tout seul ;-) . +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;%%''
-=== backports === +
-Tout est expliqué http://backports.debian.org/ +
  
-=== sources.list et préférences apt ===+==== sources.list et préférences apt ====
 Mon sources.list lenny (en squeeze on mettra plutôt les ajouts dans des /etc/apt/sources.list.d/truc.list) Mon sources.list lenny (en squeeze on mettra plutôt les ajouts dans des /etc/apt/sources.list.d/truc.list)
 <file> <file>
Ligne 127: Ligne 194:
 </code> </code>
  
-==== Création de paquet debian ====+===== Création de paquet debian =====
 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 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
  
-==== transfert de clés gpg ====+===== transfert de clés gpg =====
 Pour exporter ses clés : ''%%gpg --export -o fichier%%'' \\ Pour exporter ses clés : ''%%gpg --export -o fichier%%'' \\
 et on récupère avec ''%%gpg --import fichier%%'' et on récupère avec ''%%gpg --import fichier%%''
  
- +===== modif image iso =====
- +
- +
- +
-==== récupérer la liste des paquets pour réinstall à l'identique ==== +
-# 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)// +
- +
-  * -F "%p" => formatage de sortie, on ne veut que les noms de paquets +
-  * ~i => les paquets installés +
-  * !~M => mais pas les paquets automatiquement installés +
-(on peut mettre '~i!~M' au lieu de ~i\!~M, mais attention de ne pas quoter avec " sinon bash va interprêter le !). Cf http://doc.ubuntu-fr.org/aptitude#motifs_de_recherche_utilisation_avancee pour la syntaxe de recherche. +
- +
-Ça peut servir 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'' +
- +
-==== lister les paquets "hors stable" ==== +
-cf [[https://wiki.debian.org/Aptitude|doc]] :  +
- +
-  aptitude search '?narrow(?installed, !?archive(stable))' +
- +
- +
-==== modif image iso ====+
 cf http://linux.jpvweb.com/imageiso.html 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 et un autre tuto détaillé sur la gravure http://www.labo-linux.org/articles-fr/la-gravure-sous-linux/gravure-de-dvd
  
-==== SysRq ====+===== SysRq =====
  
 cf http://aplawrence.com/Words2005/2005_04_13.html cf http://aplawrence.com/Words2005/2005_04_13.html
Ligne 199: Ligne 238:
 http://blog.racoon97.net/index.php?2007/04/07/90-installer-ubuntu-sans-connexion-internet-a-partir-des-depots-sur-un-disque-dur-externe http://blog.racoon97.net/index.php?2007/04/07/90-installer-ubuntu-sans-connexion-internet-a-partir-des-depots-sur-un-disque-dur-externe
  
-==== Raccourcis clavier ==== +===== Raccourcis clavier ===== 
-=== Mac OS X ===+==== Mac OS X ====
   * | -> shift + alt + L   * | -> shift + alt + L
   * { -> alt + (   * { -> alt + (
Ligne 208: Ligne 247:
  
  
-==== screen ====+===== screen =====
 http://www.amitu.com/blog/2004/12/screen-howto.html http://www.amitu.com/blog/2004/12/screen-howto.html
  
-==== sudo ====+===== sudo =====
 Juste un exemple de /etc/sudoers, plus rapide qu'un long discours Juste un exemple de /etc/sudoers, plus rapide qu'un long discours
 <file> <file>
Ligne 228: Ligne 267:
 </file> </file>
  
- +===== iptables =====
- +
-==== iptables ====+
 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/ 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/
  
Ligne 237: Ligne 274:
 howto iptables http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html howto iptables http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html
  
-=== exemples ===+==== exemples ====
   * Pour bloquer une ip, c'est ''iptables -A INPUT -s ip.un.peu.louche -j DROP'',    * Pour bloquer une ip, c'est ''iptables -A INPUT -s ip.un.peu.louche -j DROP'', 
   * et pour la débloquer c'est ''iptables -D INPUT -s ip.un.peu.louche -j DROP''   * et pour la débloquer c'est ''iptables -D INPUT -s ip.un.peu.louche -j DROP''
Ligne 251: Ligne 288:
 Et pour virer ces règles, remplacer le -A par -D Et pour virer ces règles, remplacer le -A par -D
  
-==== tunnel ssh ====+===== tunnel ssh =====
 explications tunnels ssh http://www.institut.math.jussieu.fr/informatique/tunnel/tunnel_ssh.html explications tunnels ssh http://www.institut.math.jussieu.fr/informatique/tunnel/tunnel_ssh.html
  
-=== Port local redirigé vers ailleurs ===+==== Port local redirigé vers ailleurs ====
 ''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) ''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)
  
Ligne 260: Ligne 297:
  
  
-=== Port distant redirigé vers ailleurs ===+==== Port distant redirigé vers ailleurs ====
 ''ssh -f -N -R $remotePort:$destServer:$destPort $user@$remoteServer'' ''ssh -f -N -R $remotePort:$destServer:$destPort $user@$remoteServer''
  
-==== Redirection IP ====+===== Redirection IP =====
 S'il n'y a pas besoin de chiffrer les communication, c'est bcp plus simple de rediriger le trafic avec iptables ([[http://www.simplehelp.net/2009/04/15/how-to-redirect-traffic-to-another-machine-in-linux/|source utilisée]]) S'il n'y a pas besoin de chiffrer les communication, c'est bcp plus simple de rediriger le trafic avec iptables ([[http://www.simplehelp.net/2009/04/15/how-to-redirect-traffic-to-another-machine-in-linux/|source utilisée]])
 <code bash> <code bash>
Ligne 273: Ligne 310:
 </code> </code>
  
-==== label disques ====+===== label disques =====
   * donner un label à une partition : ''tune2fs -L monlabel /dev/hda1''   * donner un label à une partition : ''tune2fs -L monlabel /dev/hda1''
   * monter d'après le label dans fstab : ''LABEL=monlabel'' (à la place de /dev/... ou UUID=...)   * monter d'après le label dans fstab : ''LABEL=monlabel'' (à la place de /dev/... ou UUID=...)
  
-==== uuid ====+===== 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 ;-) 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 ;-)
  
Ligne 295: Ligne 332:
  
  
-==== nb montages avant check disque ====+===== nb montages avant check disque =====
   * check tous les 90 mounts ou 3 mois (le 1er qui arrive) ''tune2fs -c 90  -i 3m /dev/hda1''.   * check tous les 90 mounts ou 3 mois (le 1er qui arrive) ''tune2fs -c 90  -i 3m /dev/hda1''.
  
  
-==== Backup simple d'une partition ====+===== Backup simple d'une partition =====
 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'' 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''
  
Ligne 308: Ligne 345:
  
  
-=== Manipulation MBR ===+===== Manipulation MBR =====
 //MBR : Master Boot Record, c'est ce qui permet d'appeller le lanceur de l'OS, grub, lilo ou celui de windows).// //MBR : Master Boot Record, c'est ce qui permet d'appeller le lanceur de l'OS, grub, lilo ou celui de windows).//
  
Ligne 330: Ligne 367:
 </code> </code>
  
- +===== Créer une partition chiffrée =====
- +
- +
-==== Créer une partition chiffrée ====+
 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) 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)
  
Ligne 355: Ligne 389:
 </code> </code>
  
-==== Redimensionner un volume luks ====+===== Redimensionner un volume luks =====
 Cf http://www.gigahype.com/resize-luks-encryped-lvm-partition/ Cf http://www.gigahype.com/resize-luks-encryped-lvm-partition/
 <code bash> <code bash>
Ligne 385: Ligne 419:
  
  
-==== Montage de partitions chiffrées ====+===== Montage de partitions chiffrées =====
 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.). 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.).
  
Ligne 403: Ligne 437:
 </code> </code>
  
-==== Raid soft ====+===== Raid soft =====
 Un peu de doc et des liens sur [[http://www.isalo.org/wiki.debian-fr/index.php?title=Raid_logiciel_%28mdadm%29|isalo]] et [[http://www.linuxpedia.fr/doku.php/expert/mdadm|linuxpedia]] Un peu de doc et des liens sur [[http://www.isalo.org/wiki.debian-fr/index.php?title=Raid_logiciel_%28mdadm%29|isalo]] et [[http://www.linuxpedia.fr/doku.php/expert/mdadm|linuxpedia]]
   * créer un raid1 sur md0 avec les partitions sda1 et sdb1   * créer un raid1 sur md0 avec les partitions sda1 et sdb1
Ligne 418: Ligne 452:
 ''mdadm --manage /dev/md0 --add /dev/sdb1'' ''mdadm --manage /dev/md0 --add /dev/sdb1''
  
-==== sensors ====+===== sensors =====
 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 [[http://www.kanonbra.com/index.php/projects/various||article]] qui reprenait cette [[http://article.gmane.org/gmane.linux.drivers.sensors/17253|info]]. 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 [[http://www.kanonbra.com/index.php/projects/various||article]] qui reprenait cette [[http://article.gmane.org/gmane.linux.drivers.sensors/17253|info]].
 +
 +===== Pb de connexion ssh =====
 +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)
linux/start.1501832400.txt.gz · Dernière modification : 04/08/2017 09:40 de daniel