001_Install_Arch 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409
  1. # Au lancement on arrive sur un teminal qui est auto connecté.
  2. Note : j'utilise l'éditeur de texte vim, mais si vous avez
  3. l'habitude de nano il est installé aussi.
  4. ####~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~####
  5. L'invite se présente sous cette forme :
  6. "root@archiso #"
  7. Il n'y a pas les crochets qui encadre l'invite [ ]
  8. Ceci indique que l'on travaille à partir du CD ou de la clé
  9. ####~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~####
  10. 1 - Disposition du clavier :
  11. ####~~~~~~~~~~~~~~~~~~~~####
  12. Pour changer l'agencement du clavier, utilisez la commande loadkeys (le clavier
  13. par défaut étant le clavier QWERTY, il faut taper "loqdkeys fr)pc" sur un clavier
  14. AZERTY pour écrire loadkeys fr-pc).
  15. # loadkeys fr-pc
  16. 2 - Connexion au réseau
  17. ####~~~~~~~~~~~~~~~####
  18. # ip address show
  19. Doit retourner une adresse du type : "enp0s3"
  20. inet 192.168.2.2
  21. Autrement, il vous faut configurer votre réseau en vous assurant d'abord
  22. d'avoir arrêté le service dhcpcd :
  23. # systemctl stop dhcpcd.service
  24. # dhcpcd enpS03
  25. 3 - Mise à jour de l'heure système
  26. ####~~~~~~~~~~~~~~~~~~~~~~~~~~####
  27. # timedatectl
  28. System clock synchronized: no
  29. systemd-timesyncd.service active: no
  30. RTV in local TZ: no
  31. Il se peut que l'horloge nécessite d'être réglée.
  32. # timedatectl set-ntp true
  33. System clock synchronized: yes
  34. systemd-timesyncd.service active: yes
  35. RTV in local TZ: no
  36. 4 - Partitionnement des disques
  37. ####~~~~~~~~~~~~~~~~~~~~~~~####
  38. Table de partitions "MS-DOS (MBR)"
  39. Dans cet exemple le disque virtuel fait 21G
  40. # cfdisk
  41. Select label type
  42. "dos"
  43. # /dev/sda1 pour le /boot 100M
  44. # /dev/sda2 pour la swap Fonction de la RAM
  45. # /dev/sda3 pour le / 8G
  46. # /dev/sda4 pour le /home Le reste du disque
  47. =========================================================================
  48. Ici on peut utiliser un script qui est à récupérer à l'adresse suivante :
  49. wget http://sloteur.free.fr/arllinux/scripts.tar.gz
  50. =========================================================================
  51. # tar xvzf scripts.tar.gz
  52. # cd scripts
  53. Ici on a le choix entre exécuter les scripts 1 à 1 pour vérifer
  54. et apprendre, comme ceci :
  55. # 00_partitionnement.sh
  56. # 01_mirroirs.sh
  57. # 02_genfstab.sh
  58. Soit on lance les 3 commandes en même temps comme ceci :
  59. # 000_all_scripts.sh
  60. 5 - Formatage des partitions
  61. ####~~~~~~~~~~~~~~~~~~~~####
  62. # mkfs.ext2 /dev/sda1
  63. # mkfs.ext4 /dev/sda3
  64. # mkfs.ext4 /dev/sda4
  65. La swap est créée en utilisant mkswap :
  66. # mkswap /dev/sda2
  67. 6 - Montage des partitions
  68. ####~~~~~~~~~~~~~~~~~~####
  69. Historiquement les points de montage manuel se font dans /mnt
  70. Nous allons créer la configuration de notre futur système dans
  71. le répertoire "/mnt de notre système live."
  72. # mount /dev/sda3 /mnt
  73. Pour créer le(s) dossier(s) utilisateur, il nous faut monter la partition /home
  74. # mkdir /mnt/home && mount /dev/sda4 /mnt/home
  75. "Le swap doit également être activé" pour être détecté lors de la création du fstab à suivre :
  76. # swapon /dev/sda2
  77. Si vous avez un /boot séparé, il faut aussi le monter :
  78. # mkdir /mnt/boot && mount /dev/sda1 /mnt/boot
  79. #########################################################################
  80. #
  81. # Récupérer les scripts pour pouvoir exécuter les opérations suivantes
  82. # automatiquement
  83. #
  84. #########################################################################
  85. Exécuter ceci :
  86. # wget http://sloteur.free.fr/arlinux/scripts.tar.gz
  87. # tar xvzf scripts.tar.gz
  88. # cd scripts
  89. 7 - Sélection des mirroirs pour installation du système de base
  90. ####~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~####
  91. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  92. Si l'on a pas exécuté le script : "01_mirroirs.sh"
  93. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  94. Sélection du miroir
  95. Commençons par créer un fichier de backup :
  96. # cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
  97. Partie obsolète
  98. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  99. Editons maintenant le fichier backup.
  100. Nous allons décommenter TOUS les miroirs afin que rankmirrors puisse les tester.
  101. Pour se faire, sed s'avère très utile.
  102. # sed -s 's/^#Server/Server/' /etc/pacman.d/mirrorlist.backup
  103. Pour finir, nous allons laisser rankmirrors trouver les 10 meilleurs miroirs
  104. et écrire le résultat directement dans /etc/pacman.d/mirrorlist
  105. # rankmirrors -n 10 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist
  106. Cette commande va trier les 5 miroirs http les plus récemment synchronisés en France
  107. puis les trier par vitesse et enfin sauvegarder le résultat dans /etc/pacman.d/mirrorlist :
  108. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  109. Fin partie obsolète.
  110. Installer le programme reflector
  111. # pacman -Sy reflector
  112. Réflector remplace rankmirrors
  113. # reflector --verbose --country 'France' -l 5 -p http --sort rate --save /etc/pacman.d/mirrorlist
  114. 8 - Installation des paquets de base
  115. ####~~~~~~~~~~~~~~~~~~~~~~~~~~~~####
  116. Vous pouvez par exemple en profiter pour installer le groupe base-devel, nécessaire à l'utilisation de AUR :
  117. (Arch User Repository est un dépôt communautaire auquel tous les utilisateurs d'Arch peuvent participer.)
  118. # pacstrap /mnt base base-devel
  119. 9 - Configuration du système
  120. ####~~~~~~~~~~~~~~~~~~~~####
  121. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  122. #### Automatisé par le script 02_genfstab du dépot git ####
  123. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  124. Un fichier fstab existe dans notre /mnt/etc/fstab.
  125. Pour voir ce qui est inscrit dans le fichier avant de lancer
  126. la commande qui va configurer les points de montage, éditez le fichier :
  127. # vim /mnt/etc/fstab
  128. Le fichier ne contient que l'entête :
  129. # Static information about the filesystems.
  130. # See fstab(5) for details.
  131. #
  132. # <file system> <dir> <type> <options> <dump> <pass>
  133. Générer le /mnt/etc/fstab
  134. # genfstab -U -p /mnt >> /mnt/etc/fstab
  135. On réédite le fichier nouvellement créé pour voir si tout est correct :
  136. # vim /mnt/etc/fstab
  137. Le fichier contient maintenant la configuration des partitions :
  138. # Static information about the filesystems.
  139. # See fstab(5) for details.
  140. # <file system> <dir> <type> <options> <dump> <pass>
  141. # /dev/sda3
  142. UUID=a23dfd1a-39e5-400f-ba57-c446ca606991 / ext4 rw,relatime,data=ordered 0 1
  143. # /dev/sda4
  144. UUID=6e7efd15-ad90-4d5a-b280-26b24f6e9e79 /home ext4 rw,relatime,data=ordered 0 2
  145. # /dev/sda1
  146. UUID=51a3be2d-3897-4d01-864c-3463035ee25b /boot ext2 rw,relatime,block_validity,barrier,user_xattr,acl 0 2
  147. # /dev/sda2
  148. UUID=48641d8a-f4c8-4de3-bdc1-08371f7d15a9 none swap defaults 0 0
  149. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  150. #### Fin de l'automatisation du script 02_genfstab ####
  151. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  152. 10 - Chrooter dans le nouveau système :
  153. ####~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~####
  154. # arch-chroot /mnt
  155. ####~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~####
  156. A partir de maintenant l'invite se présente sous cette forme :
  157. "[root@archiso /] #"
  158. Ceci indique que l'on travaille dans le répertoire /mnt
  159. ####~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~####
  160. 11 - Réglages de base :
  161. ####~~~~~~~~~~~~~~~####
  162. Notes :
  163. - Dans les instructions suivantes la machine locale sera nommée : "virtualarch"
  164. - La commande "echo" écrit la chaine de caractère dans la console
  165. - ">" envoie le résultat de "echo" dans le fichier spécifié en "écrasant" le contenu
  166. - ">>" envoie le résultat de "echo" dans le fichier spécifié "à la suite" le contenu
  167. Note 2 : Pour récupérer la documentation et utiliser les scripts,
  168. il faut installer git :
  169. # pacman -S git vim
  170. (j'ai rajouté vim puisqu'on y est :)
  171. D'abord :
  172. Pour accéder au répertoire /root de notre système monté dans /mnt
  173. # cd /root
  174. # git clone https://git.espritslibres.fr/sloteur/archlinux
  175. Pour un peu plus de confort :
  176. 1 : # cd archlinux/scripts
  177. 2 : # ./000_config_git.sh
  178. 3 : # ./02_param.consoles.sh
  179. Après l'exécution de param.consoles.sh, taper la commande "cd"
  180. pour revenir dans le répertoire de root.
  181. Pour activer la coloration :
  182. # source .bashrc
  183. # cd archlinux/scripts
  184. 4 : # ./03_adjustInit.sh
  185. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  186. #### Automatisé par le script 03_adjustInit du dépot git ####
  187. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  188. Renseignez le nom de la machine dans le fichier /etc/hostname :
  189. # echo virtualarch > /etc/hostname
  190. Renseignez le nom de la machine dans le fichier /etc/hosts :
  191. # echo '127.0.1.1 virtualarch.virtualbox virtualarch' >> /etc/hosts
  192. Créez un lien symbolique /etc/localtime afin de choisir votre fuseau horaire, par exemple pour la France :
  193. # ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
  194. Note : la commande m'a retourné :
  195. "ln: failed to créate symbolic link '/etc/localtime' : File exists"
  196. J'ai donc éliminé le fichier "/etc/localtime"
  197. # rm /etc/localtime
  198. puis j'ai renouvelé la commande :
  199. # ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
  200. Confirmation :
  201. # readlink -f /etc/localtime
  202. /usr/share/zoneinfo/Europe/Paris
  203. Lien vers la solution :
  204. https://bbs.archlinux.org/viewtopic.php?id=222908
  205. Éditez le fichier /etc/locale.gen et décommentez votre locale,
  206. # vim /etc/locale.gen
  207. fr-FR.UTF-8 UTF-8
  208. puis exécutez la commande suivante :
  209. # locale-gen
  210. Generating locales...
  211. fr-FR.UTF-8... done
  212. Generation complete.
  213. Ajoutez le nom de la locale au fichier /etc/locale.conf (voir locale), par exemple pour le français en UTF-8 :
  214. # echo LANG="fr_FR.UTF-8" > /etc/locale.conf
  215. Vous pouvez spécifier la locale pour la session courante (ça évitera des messages d'alerte par la suite) avec la commande :
  216. # export LANG=fr_FR.UTF-8
  217. Éditez le fichier /etc/vconsole.conf afin d'y spécifier la disposition du clavier que vous souhaitez utiliser :
  218. # echo KEYMAP=fr > /etc/vconsole.conf
  219. Partie obsolète
  220. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  221. Ajout du dépot pour yaourt
  222. cp /etc/pacman.conf /etc/pacman.conf.backup
  223. cat >> /etc/pacman.conf << _PACMANconf_
  224. [archlinuxfr]
  225. SigLevel = Optional TrustAll
  226. Server = http://repo.archlinux.fr/x86_64
  227. _PACMANconf_
  228. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  229. Fin de la partie obsolète
  230. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  231. #### Fin de l'automatisation du script 03_adjustInit ####
  232. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  233. Configurez /etc/mkinitcpio.conf et créez les RAMdisks initiaux avec :
  234. # mkinitcpio -p linux
  235. La commande doit se terminer par :
  236. ==> Image generation successful
  237. Définissez un mot passe pour le root :
  238. # passwd
  239. Activer le dhcp
  240. # systemctl enable dhcpcd
  241. 12 - Installation d'un bootloader
  242. ####~~~~~~~~~~~~~~~~~~~~~~~~~####
  243. Installation
  244. # pacman -S grub
  245. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  246. #### Automatisé par le script 04_booloader du dépot git ####
  247. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  248. Mise en place
  249. Pour l'installer sur le disque /dev/sda :
  250. # grub-install --target=i386-pc --no-floppy --recheck /dev/sda
  251. Installation pour la plate-forme i386-pc.
  252. Installation terminée, sans erreur.
  253. Générer le fichier de configuration principal
  254. # grub-mkconfig -o /boot/grub/grub.cfg
  255. Création du fichier de configuration GRUB
  256. Image Linux trouvée : /boot/vmlinuz-linux
  257. Found initrd images(s) in /boot: initramfs-linux.img
  258. Found fallback intird images(s) in /boot: initramfs-linux-fallback.img
  259. fait
  260. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  261. #### Fin de l'automatisation du script 04_bootloader ####
  262. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  263. 13 - Démonter le tout
  264. ####~~~~~~~~~~~~~####
  265. Sortez de l'environnement chroot (exit ou Ctrl+D), puis :
  266. # exit ou (Ctrl + d)
  267. Attention à sortir de /mnt si vous êtes dedans sinon la commande retourne :
  268. (umount: /mnt: target is busy)
  269. # umount -R /mnt
  270. Éteindre l'ordinateur :
  271. # shutdown -h now
  272. Comme la procédure a été faite sur une machine virtuelle,
  273. la commande "reboot" relancerais l'image disque.
  274. C'est pourquoi une fois la machine éteinte il faut éjecter l'image disque.
  275. A ce niveau nous avons un système fonctionnel.
  276. La suite de la procédure dans : "002_PostInstall"
  277. -- Fin --