Recommendations generale : Différence entre versions

De ArchwikiFR
m (Robot : Enlève modèles : I18n, Lang, Stub, Translateme)
m (Robot : Enlève modèles : Out of date, Bad translation)
Ligne 1 : Ligne 1 :
  
{{Bad translation}}
+
 
  
 
==Introduction==
 
==Introduction==

Version du 18 mars 2011 à 21:59


Introduction

Voici quelques astuces, et informations utiles pour les débutants sous Arch Linux.

Auto-reconnaissance du matérielle

  • lshwd est votre outil d'auto-reconnaissance materielle. Il vous informera sur les modules que vous devez charger et utiliser.
  • Vous pouvez aussi utiliser hwdetect. Certains disent qu'il détecte plus de materiel et est plus rapide que lshwd.

Plus d'information : hwdetect

Accélération du processus de boot de Lilo

  • Pour accélérer le démarrage de Lilo, ajouter la commande suivante à votre /etc/lilo.conf:
 compact

Fin du démarrage

À la fin du démarrage, l'écran est effacé et l'invite de connexion apparaît. Certains voudront peut-être modifier ce comportement afin de pouvoir voir les messages du système en n'effaçant pas l'écran.

Il suffit d'ajouter une de ces lignes à la fin de votre fichier /etc/rc.local :

  • Attendre que vous appuyiez sur une touche pour effacer l'écran :
 read -n1
  • Même comportement que la commande précédente, mais l'écran s'effacera de lui-même après 5 secondes :
 read -t5 -n1

Ou :

  • Supprimez les 3 premiers caractères du fichier /etc/issue (qui servent à effacer l'écran). Évidemment, cela signifie aussi que l'écran ne sera pas effacé lors de chaque déconnexion.
  • Utilisez la commande dmesg pour voir les messages envoyés par le kernel.
  • Commentez l'instance de agetty qui tourne dans vc/1 dans le fichier /etc/inittab.
#c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux

Colorisez votre invite de commandes (PS1)

~/.bashrc et /root/.bash_profile contiennent les variables PS1 (invite de commande) pour l'utilisateur courant et root, respectivement.

En tant qu'utilisateur normal :

$ (votre éditeur) ~/.bashrc

Commentez l'invite de commande par défaut :

#PS1='[\u@\h \W]\$ '

Puis ajoutez :

PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[m\] \[\e[1;32m\]\$ \[\e[m\]\[\e[1;37m\] '

Vous obtiendrez une invite pleine de couleurs et du texte blanc. Cette chaîne de caractères étrange contient des séquences d'échappement (commencer la coloration : \[\e[couleur\], fin de la coloration : \[\e[m\]) et des indicateurs pour certaines informations :

  • \u - nom de l'utilisateur, l'ancienne invite avait aussi \h - nom de la machine
  • \w - chemin courant absolu, utilisez \W pour un chemin relatif
  • \$ - le caractère propre à l'invite (# pour root, par exemple)

La dernière séquence traitant de la couleur ( \[\e[1;37m\] ) n'est pas fermée et donc le reste du texte (ce que vous tapez) sera coloré de cette couleur (blanc). En la supprimant, vous obtiendrez la couleur par défaut (gris).

En tant que root, éditez /root/.bash_profile :

# (votre éditeur) /root/.bash_profile

Commentez l'invite par défaut :

#PS1='[\u@\h \W]\$ '

L'invite suivante est pratique pour l'utilisateur root, car elle le différencie de l'utilisateur courant :

PS1='\[\e[0;31m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[0;31m\]\$ \[\e[m\]\[\e[0;32m\] '

Pour en savoir plus, consultez Color Bash Prompt.

Colorer la sortie de la commande « ls »

Votre ~/.bashrc devrait déjà avoir la ligne suivante (copié depuis votre /etc/skel/.bashrc) si ce n'est pas le cas ajoutez-la :

alias ls='ls --color=auto'

Il vous suffit ensuite d'ajouter la ligne suivante dans votre ~/.bashrc

eval `dircolors -b`

Ceci va colorer la sortie de ls. Par exemple les liens symboliques invalides (Orphelins) seront colorés en rouge. etc.
Faites attention à l'apostrophe utilisée car ce n'est pas celle que vous utilisez habituelement : « ` » au lieu de « ' ».

Colorer la sortie de la commande « grep »

Plus que pour l'esthétisme, colorer la sortie de grep est vraiment utile pour apprendre à utiliser les expressions rationnelles avec grep.

Pour ce faire rajoutez ceci dans votre ~/.bashrc :

export GREP_COLOR="1;33"
alias grep='grep --color=auto'


La variable GREP_COLOR est utilisée pour spécifier la couleur de sortie (jaune clair dans notre exemple). Cependant le manuel de grep nous encourage à utiliser GREP_COLORS au lieu de GREP_COLOR mais cette variable ne fonctionne pas (testé avec grep 2.5.4). Il est donc nécessaire d'utiliser GREP_COLOR pour l'instant.

Coloration et shell d'Emacs: ne plus avoir de symboles étranges

Par défaut le shell d'Emacs affiche les séquences d'échappement utilisées pour afficher la couleur de manière redondante. Cela forme des suites de symboles assez étranges. Pour corriger ça il vous suffit d'inclure la ligne suivante dans votre ficher .emacs (ou dans .emacs.el selon votre configuration) :

(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

Less on steroids

If you are a frequent user of the command line interface, you might want to install lesspipe (which you can find in the community repository). It will allow you to type:

less lesspipe.tar.gz
==> use tar_file:contained_file to view a file in the archive
-rw------- solstice/users  695 2008-01-04 19:24 lesspipe/PKGBUILD
-rw------- solstice/users   43 2007-11-07 11:17 lesspipe/lesspipe.sh
lesspipe.tar.gz (END)

i.e. use less to see the content of many files, instead of using specific command each time. Use man lesspipe to see how to activate it.

Changer la police de caractère du terminal

Terminus est une police de caractère populaire parmi les utilisateurs d'Archlinux (Archers). Installez-la avec :

pacman -S terminus-font

Ensuite ajoutez la ligne suivante dans votre /etc/rc.conf:

CONSOLEFONT="ter-v16b"

Vous trouverais d'autres polices ainsi que d'autres tailles dans /usr/share/kbd/consolefonts. Vous pouvez changer de police de caractère à la volée avec la commande « setfont »:

setfont ter-v16b

Si la police de caractère change durant le boot et si vous obtenez des caractères bizarres, rajoutez « keymap » dans votre liste de HOOKS dans votre ficher /etc/mkinitcpio.conf (ce qui charge la même police que celle de votre rc.conf) et ensuite refaite votre image initramfs :

# mkinitcpio -p kernel26

Hooks utilisables dans mkinitcpio.

Obtenir des pages man colorées

Si vous etes nouveaux a linux, you aurez a lire beaucoup de pages man si vous souhaitez apprendre. Cependant la couleur peut permettre une representation plus claire du contenu et ,avec espoir, une digestion plus facile de l'information. Il y a dux manieres pour obtenir de la couleur dans les pages man.

Premiere methode

La premiere, plus simple, est d'installer un programme de lecture comme most(8).

# pacman -S most

Celui-ci est similaire a less et more, mais permet aussi de rendre du texte en couleur plus facilement.

Pour le rendre operationnel, changez le fichier /etc/man.conf et changez la variable PAGER et BROWSER pour:

PAGER           /usr/bin/most -s
BROWSER         /usr/bin/most -s

Note: Depuis fevrier 2009, Arch utilise man-db a la place de man. Modifiez /etc/man_db.comf, decommentez la definition de pager, et changez la pour:

DEFINE          pager     most -s

Maintenant, vous pouvez ecrire:

$ man whatever_man_page

pour voir en couleurs claires.

Si vous voulez changer les couleurs, experimentez avec le fichier ~/.mostrc (creez le si il n'existe pas) ou utilisez /etc/most.conf.

exemple ~/.mostrc:

% Color settings

color normal lightgray black
color status yellow blue
color underline yellow black
color overstrike brightblue black

un autre exemple pour des raccourcis-clavier ressemblant a less:

% less-like keybindings

unsetkey "^K"
unsetkey "g"
unsetkey "G"
unsetkey ":"

setkey next_file ":n"
setkey find_file ":e"
setkey next_file ":p"
setkey toggle_options ":o"
setkey toggle_case ":c"
setkey delete_file ":d"
setkey exit ":q"

setkey bob "g"
setkey eob "G"
setkey down "e"
setkey down "E"
setkey down "j"
setkey down "^N"
setkey up "y"
setkey up "^Y"
setkey up "k"
setkey up "^P"
setkey up "^K"
setkey page_down "f"
setkey page_down "^F"
setkey page_up "b"
setkey page_up "^B"
setkey other_window "z"
setkey other_window "w"
setkey search_backward "?"
setkey bob "p"
setkey goto_mark "'"
setkey find_file "E"
setkey edit "v"

Deuxieme methode

Comme alternative, vous pouvez avoir le meme resultat colore por les pages man avec less. Cette methode a l'avantage que less a beaucoup plus de fonctions que most, donc cela est beaucoup plus utilie pour les utilisateurs avances. N'ajoutez que les lignes suivantes a votre fichier ~/.SHELLrc (i.e., ~/.bashrc si vous utilisez bash, ou ~/.zshrc si vous utilisez zsh). Pour modifier les couleurs, utilisez les differents codes de couleur ANSI; voir http://en.wikipedia.org/wiki/ANSI_escape_code.

export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'                           
export LESS_TERMCAP_so=$'\E[01;44;33m'                                 
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'

Source: http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html

Accéder à AUR de manière simple

Tout le monde devrait savoir comment utiliser AUR, ABS et makepkg pour construire leurs paquets s'ils le souhaitent. Maintenir et suivre vos paquets peut devenir particulièrement complexe si vous en possédez beaucoup. Il existe des scripts et des programmes qui peuvent vous aider à construire vos paquets de manière plus pratique.

Une liste de programmes qui peuvent vous être utile

Activer la recherche dans l'historique des commandes

Habituellement si vous tapez ls, par exemple, puis que vous appuyez sur la flèche vers le haut alors votre ls sera remplacé par la dernière commande que vous aviez lancée. Maintenant si vous activez la recherche dans l'historique des commandes, alors seules les commandes commençant par « ls » seront affichées.

Vous pouvez activer ce comportement en ajoutant la section suivante à votre fichier /etc/inputrc pour l'activer de manière globale ou à votre fichier ~/.inputrc pour l'activer pour un unique utilisateur :

"\e[A":history-search-backward
"\e[B":history-search-forward

Complètement automatique rapide

Si vous ajoutez ceci à votre ~/.bashrc

set show-all-if-ambiguous on

Vous n'aurez plus besoin d'appuyer sur <Tab> deux fois pour obtenir une liste de toutes les possibilités ; une seule fois suffira.

Complètement shell intelligent

Bash peut être « amélioré » en activant l'utilisation du complétement automatique en fonction du contexte :

# pacman -Sy bash-completion

Si cela ne suffit pas vous pouvez ajouter la section suivante dans votre ~/.bashrc

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

Activer le support de la souris dans la console (gpm)

  • Vous pouvez activer le support de la souris in la console en installant gpm :
# pacman -S gpm

Il vous suffit de le démarrer pour en profiter tout de suite :

# /etc/rc.d/gpm start
  • Si votre curseur a tendance à scintiller et si cela ne marche pas correctement vous devez changer une ligne dans votre /etc/conf.d/gpm :

Pour une souris PS/2 remplacez la ligne existante par celle-ci :

GPM_ARGS="-m /dev/psaux -t ps2"

Pour une souris USB remplacez-là par :

GPM_ARGS="-m /dev/input/mice -t imps2"

Pour un touchpad IBM remplacez-là par :

GPM_ARGS="-m /dev/input/mice -t ps2"
  • Une fois que cela marche convenablement vous n'avez qu'à rajouter gpm dans votre liste de DAEMONS au sein de votre fichier /etc/rc.conf pour en profiter à chaque démarrage.

Lancer X au boot

Magnifier les polices de caractère pour les écrans LCD

Voir Fonts

Activer le pavé numerique au démarrage

ABS pour compiler vos propres paquets

  • Si vous utilisez ABS pour compiler vos propres paquets, faites-le à l'extérieur de l'arbre principal /var/abs. Copiez le PKGBUILD et tous les fichiers l'accompagnant dans un répertoire vide de votre /home et compilez de cet endroit. Ainsi, il vous est plus facile de garder la trace de ces paquets et vous évitez que vos modifications soit effacées à la prochaine synchronisation de ABS.

Compilation optimisée pour votre architecture

  • Pour optimiser la compilation de paquets compilés avec makepkg (le kernel est un bon exemple), modifiez vos préferences GCC dans votre /etc/makepkg.conf

Voir l'article Safe CFlags pour plus d'informations.

Alias-commandes Pour Gagner du Temps

  • Vous pouvez créé votre propres alias-commandes utilisant <homedir>/.bashrc ou /etc/profile. Chacun peuvent être utiliser pour définir votre propres alias:
alias ll="ls -lh"
alias la="ls -a"
alias exit="clear; exit"
alias x="startx"

# Vous laissez cherché à travers tous les packages disponibles utilisant simplement 'pacsearch packagename'
alias pacsearch="pacman -Sl | cut -d' ' -f2 | grep "

# sudo pacman -Syu en tapant pacup (sudo faut être installé et configuré avant.)
alias pacup="sudo pacman -Syu"

# sudo pacman -S en tapant pac
alias pac="sudo pacman -S"
  1. Sortie teintées de recherche pacman -Ss:
alias pacs="pacsearch"
pacsearch() {
   echo -e "$(pacman -Ss "$@" | sed \
     -e 's#^core/.*#\\033[1;31m&\\033[0;37m#g' \
     -e 's#^extra/.*#\\033[0;32m&\\033[0;37m#g' \
     -e 's#^community/.*#\\033[1;35m&\\033[0;37m#g' \
     -e 's#^.*/.* [0-9].*#\\033[0;36m&\\033[0;37m#g' ) \
     \033[0m"
}

Vous pouvez aussi télécharger pacman-color de AUR.

Désactivation de l'IPv6

Jusqu'à ce que l'IPv6 soit répandu, vous pourriez bénéficier de la désactivation de ce module.

Useful Commands & Programs

  • grep - searches for files by its contents (example: grep -i syslog /etc/* will search all files in /etc for those containing the word "syslog"; NOT case-sensitive (using the -i parameter))
  • pkill/killall <process_name> - kills processes by name (example: killall kdm)
  • pidof <process_name> - find the pid of the processes by name (example: pidof init)
  • ps - display process status (example: ps xau will display all active processes)
  • locate - quickly locates files on your hard drive (use updatedb to create a database of them first) (example: locate Xservers will find all files named Xservers)

pacman

There are some nice ways to do a bunch of things easily with bash commands. If we want to install a number of packages sharing similar patterns in their names - not the entire group nor all matching packages - eg. kdemod, we can do:

pacman -S kdemod-{applets,theme,tools}

Of course, that is not limited and can be expanded to however many levels you need:

pacman -S kdemod-{ui-{kde,kdemod},kdeartwork}

Pacman has the -q option to hide the version column, and we can do something like reinstall packages with "compiz" as part of their name:

pacman -S `pacman -Qq | grep compiz`

The above can be achieved without -q by issuing an awk operation:

pacman -S `pacman -Q | awk '/compiz/ { print $1 }'`

Want to reinstall everything? Easy! Wait - not so fast. Listing currently installed packages will output everything including those that have been built with makepkg. Simply running

pacman -S `pacman -Qq`

will output errors because some (or many) of them were not found in the database. We need a way to list only packages that have been installed by pacman. In order to do so, we must combine a command to list all packages, and another to hide the list of foreign packages. This, we achieve by using comm -3 to show only the packages that are not foreign packages.

pacman -S $(comm -3 <(pacman -Qq) <(pacman -Qqm))

makepkg

An automated tool to create packages - it actually automates the ./configure && make && make install procedure, (or whatever combination of commands involved in the building of the application) and packs it up into a .pkg.tar.gz to be easily installed with pacman. It uses a script file called a PKGBUILD which must exist in the build directory. View a PKGBUILD file and read the installation document to learn more about how to work with makepkg.

ABS

An automated toolkit that allows you to rebuild any of pacman's packages (so you may provide your own compiler and linker settings, for better optimization, debugging info, etc). Simply executing abs will synchronize all PKGBUILD scripts from the SVN repository into /var/abs.

Extracting compressed files

For tar archives, the easiest method is to let tar automatically handle the file according to its contents:

 file.EXTENSION : tar axvf file.EXTENSION (the file may be an uncompressed, gzipped or bzipped tar archive)

Or you can force a given format:

 file.tar : tar xvf file.tar
 file.tgz : tar xvzf file.tgz
 file.tar.gz : tar xvzf file.tar.gz
 file.bz : bzip -cd file.bz | tar xvf -
 file.bz2 : tar xvjf file.tar.bz2 OR bzip2 -cd file.bz2 | tar xvf -
 file.zip : unzip file.zip
 file.rar : unrar x file.rar

The construction of these tar arguments is quite archaic (but nevertheless handy). Have a look at the tar manpage, section COMPATIBILITY for how they work in detail. (tar comes in the tar package)

The following function will decompress a wide range of compressed filetypes. Add the function to '~/.bashrc' and then run with the syntax 'extract MyCompressedFile'

 extract () {
   if [ -f $1 ] ; then
       case $1 in
           *.tar.bz2)   tar xvjf $1    ;;
           *.tar.gz)    tar xvzf $1    ;;
           *.bz2)       bunzip2 $1     ;;
           *.rar)       unrar x $1     ;;
           *.gz)        gunzip $1      ;;
           *.tar)       tar xvf $1     ;;
           *.tbz2)      tar xvjf $1    ;;
           *.tgz)       tar xvzf $1    ;;
           *.zip)       unzip $1       ;;
           *.Z)         uncompress $1  ;;
           *.7z)        7z x $1        ;;
           *)           echo "don't know how to extract '$1'..." ;;
       esac
   else
       echo "'$1' is not a valid file!"
   fi
 }

Speeding up DNS queries