{"id":18767289,"url":"https://github.com/rambod-rahmani/arch-linux-install","last_synced_at":"2025-04-13T06:32:19.835Z","repository":{"id":97341276,"uuid":"99139013","full_name":"rambod-rahmani/arch-linux-install","owner":"rambod-rahmani","description":"Installazione Arch Linux Full Disk Encryption (LVM on LUKS) (incluso /boot)","archived":false,"fork":false,"pushed_at":"2019-04-16T09:14:34.000Z","size":116,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-07T15:51:16.277Z","etag":null,"topics":["arch","arch-linux","archlinux","disk-encryption","encryption","grub","grub2","install","italiano","kde","kde-applications","kde-plasma-5","linux","llvm","luks","luks-partition","lvm","lvm2"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rambod-rahmani.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-02T16:33:26.000Z","updated_at":"2024-12-26T10:27:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"f656f2a2-6a35-4867-a068-ae5f5b20f420","html_url":"https://github.com/rambod-rahmani/arch-linux-install","commit_stats":null,"previous_names":["rambod-rahmani/arch-linux-install","rambodrahmani/arch-linux-install"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rambod-rahmani%2Farch-linux-install","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rambod-rahmani%2Farch-linux-install/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rambod-rahmani%2Farch-linux-install/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rambod-rahmani%2Farch-linux-install/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rambod-rahmani","download_url":"https://codeload.github.com/rambod-rahmani/arch-linux-install/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248674674,"owners_count":21143760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arch","arch-linux","archlinux","disk-encryption","encryption","grub","grub2","install","italiano","kde","kde-applications","kde-plasma-5","linux","llvm","luks","luks-partition","lvm","lvm2"],"created_at":"2024-11-07T19:07:00.663Z","updated_at":"2025-04-13T06:32:19.808Z","avatar_url":"https://github.com/rambod-rahmani.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Installazione Arch Linux Full Disk Encryption (LVM on LUKS) (incluso /boot)\n\nLa seguente repo contiene istruzioni minimali per installare Arch Linux con Full Disk Encryption (LVM su LULS) inclusa la partizione /boot.\n\nPer istruzioni dettagliate fare riferimento alla guida ufficiale: [Installation guide (Italiano)](https://wiki.archlinux.org/index.php/Installation_guide_(Italiano))\n\n#### N.B.: Nella cartella ```images``` sono presenti gli screenshot relativi ad una installazione di prova su macchina virtuale.\n\n***\nScaricate una immagine iso da: https://www.archlinux.org/\n\nCreate una pennina bootable utilizzando la ISO che avete scaricato:\n\n```shell\ndd if=archlinux.img of=/dev/sdX bs=16M \u0026\u0026 sync # su linux\n```\n\nEseguite il Boot dalla pennina USB appena creata.\n\n\u003cimg src=\"images/1.png\" height=\"200px\" /\u003e\n\u003cimg src=\"images/2.png\" height=\"200px\" /\u003e\n\u003cimg src=\"images/3.png\" height=\"200px\" /\u003e\n\nNelle istruzioni che seguono si assume che il boot sia stato eseguito correttamente e che vi troviate nella shell fornita dal setup di Arch Linux.\n\n***\n\nConnettetevi a una rete Wi-Fi utilizzando il comando\n\n```shell\nroot@archiso ~ # wifi-menu\n```\noppure usate un cavo ethernet.\n\nAssicuratevi che la vostra connessione ad internet sia funzionante:\n```shell\nroot@archiso ~ # ping google.com\nPING google.com (216.58.198.46) 56(84) bytes of data.\n64 bytes from mil04s04-in-f46.1e100.net (216.58.198.46): icmp_seq=1 ttl=51 time=19.4 ms\n64 bytes from mil04s04-in-f46.1e100.net (216.58.198.46): icmp_seq=2 ttl=51 time=18.5 ms\n64 bytes from mil04s04-in-f46.1e100.net (216.58.198.46): icmp_seq=3 ttl=51 time=19.7 ms\n64 bytes from mil04s04-in-f46.1e100.net (216.58.198.46): icmp_seq=4 ttl=51 time=18.6 ms\n^C\n--- google.com ping statistics ---\n4 packets transmitted, 4 received, 0% packet loss, time 3004ms\nrtt min/avg/max/mdev = 18.538/19.119/19.783/0.541 ms\n```\n\n***\n\nIdentificate il disco sul quale volete installare Arch Linux utilizzando il comando:\n\n```shell\nroot@archiso ~ # lsblk\n```\nIn questa guida utilizzeremo il disco\n\n```shell\nNAME          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT\nsda             8:0    0 232.9G  0 disk\n```\n\nLa struttura finale che vogliamo ottenere:\n\n```shell\nNAME          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT\nsda             8:0    0 232.9G  0 disk  \n└─sda1          8:1    0 232.9G  0 part  \n  └─lvm       254:0    0 232.9G  0 crypt \n    ├─vg-swap 254:1    0     4G  0 lvm   \n    ├─vg-root 254:2    0    20G  0 lvm   /\n    └─vg-home 254:3    0 208.9G  0 lvm   /home\n```\n\n***\n\nEseguiamo una pulizia del disco per eliminare eventuali dati sensibili:\n\n```shell\nshred -vfz --random-source=/dev/urandom -n 1 /dev/sda\n```\n\nCi vorranno un paio di ore (minimo).\n\n***\n\nIniziamo ora a partizionare il disco:\n\n```shell\nroot@archiso ~ # parted -s /dev/sda mklabel msdos\nroot@archiso ~ # parted -s /dev/sda mkpart primary 2048s 100%\nroot@archiso ~ # cryptsetup -c aes-xts-plain64 -y --use-random --key-size 512 luksFormat /dev/sda1\n```\n```shell\nroot@archiso ~ # cryptsetup luksOpen /dev/sda1 lvm\nroot@archiso ~ # pvcreate /dev/mapper/lvm\nroot@archiso ~ # vgcreate vg /dev/mapper/lvm\n```\n```shell\nroot@archiso ~ # lvcreate -L 4G vg -n swap\nroot@archiso ~ # lvcreate -L 15G vg -n boot\nroot@archiso ~ # lvcreate -l +100%FREE vg -n home\n```\n```shell\nroot@archiso ~ # mkswap -L swap /dev/mapper/vg-swap\nroot@archiso ~ # mkfs.ext4 /dev/mapper/vg-boot\nroot@archiso ~ # mkfs.ext4 /dev/mapper/vg-home\n```\n```shell\nroot@archiso ~ # mount /dev/mapper/vg-boot /mnt\nroot@archiso ~ # mkdir /mnt/home\nroot@archiso ~ # mount /dev/mapper/vg-home /mnt/home\n```\nUn partizionamento di questo tipo mantiene separate le partizioni boot e home.\n\n***\n\nEseguiamo il back up del file /etc/pacman.d/mirrorlist:\n\n```shell\ncp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup\n```\nDopo di che, eseguiamo il ranking dei mirrors utilizzando il parametro -n 6 per mostrare solamente i 6 mirror piu veloci:\n\n```shell\nrankmirrors -n 6 /etc/pacman.d/mirrorlist.backup \u003e /etc/pacman.d/mirrorlist\n```\nA questo punto possiamo installare il sistema. Ho aggiunto anche alcuni pacchetti che tornano sicuramente utili al primo avvio del sistema:\n\n```shell\nroot@archiso ~ # pacstrap -i /mnt base base-devel zsh vim git efibootmgr dialog wpa_supplicant\n```\nGenerate l'fstab:\n\n```shell\nroot@archiso ~ # genfstab -pU /mnt \u003e\u003e /mnt/etc/fstab\n```\nAggiungete questa riga al file ```/mnt/etc/fstab:```\n```shell\ntmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0\n```\n\n***\n\nA questo punto, ho notato che queando si tenta di installare grub nei passaggi successi si incorre nell'errore\n\n```shell\nFailed to connect to lvmetad: No such file or directory.  Falling back to internal scanning. \n```\n\nper evitare che ci siamo provlemi con lvm nei passaggi successivi, eseguite questi comandi:\n\n```shell\nroot@archiso ~ # mkdir /mnt/hostrun\nroot@archiso ~ # mount --bind /run /mnt/hostrun\nroot@archiso ~ # arch-chroot /mnt /bin/bash\n[root@archiso /]# mkdir /run/lvm\n[root@archiso /]# mount --bind /hostrun/lvm /run/lvm\n```\n\nNotate che con ```root@archiso ~ # arch-chroot /mnt /bin/bash``` siamo anche entrati nella shell del nuovo sistema.\n\n***\n\nPassiamo ora alla configurazione di alcuni parametri minori del sistema:\n\nTimezone:\n```shell\n[root@archiso /]# ln -sf /usr/share/zoneinfo/Europe/Rome /etc/localtime\n[root@archiso /]# hwclock --systohc\n```\n\nImpostazioni di localizzazione:\n\nNel file ```/etc/locale.gen``` rimuovete il commento a ```en_US.UTF-8 UTF-8``` o altre localizzazioni di cui potreste aver bisogno.\n\nDopo di che:\n```shell\n[root@archiso /]# locale-gen\n```\n\nImpostate la variabile LANG in locale.conf ```/etc/locale.conf```:\n```shell\n[root@archiso /]# echo LANG=en_US.UTF-8 \u003e\u003e /etc/locale.conf\n```\n\nHostname ```/etc/hostname```:\n```shell\n[root@archiso /]# echo myhostname \u003e\u003e /etc/hostname\n```\n\nAggiungete la corrispondente entry nel file ```/etc/hosts```:\n```shell\n127.0.0.1\tlocalhost.localdomain\tlocalhost\n::1\t\tlocalhost.localdomain\tlocalhost\n127.0.1.1\tmyhostname.localdomain\tmyhostname\n```\n\nImpostate la password per l'utente root:\n```shell\n[root@archiso /]# passwd\n```\n\nAggiungete un nuovo utente di sistema:\n```shell\n[root@archiso /]# useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash username\n```\n\nImpostate la password per l'utente appena creato:\n```shell\n[root@archiso /]# passwd username\n```\n\nInstallate alcuni pacchetti che ci serviranno per terminare l'installazione:\n```shell\n[root@archiso /]# pacman -S sudo grub-bios os-prober\n```\n\n***\n\nPossiamo ora configurare mkinitcpio:\n\n```shell\n[root@archiso /]# nano /etc/mkinitcpio.conf\n```\n\nAggiungete ```ext4``` a ```MODULES``` e ```encrypt``` e ```lvm2``` a ```HOOKS``` prima di ```filesystems```.\n\nRigenerate l'immagine initrd:\n```shell\n[root@archiso /]# mkinitcpio -p linux\n```\n\n***\n\nOra possiamo configurare GRUB: dato che abbiamo criptato il disco interamente dobbiamo fornire alcune indicazioni nel file di configurazione di GRUB ```/etc/default/grub```.\n\nModifichiamo con nano\n```shell\n[root@archiso /]# nano /etc/default/grub\n```\n\naggiungiamo il parametro ```cryptdevice``` per il kernel:\n```shell\nGRUB_CMDLINE_LINUX=\"cryptdevice=/dev/sda1:lvm\"\n```\n\ne aggiungiamo la riga\n```shell\nGRUB_ENABLE_CRYPTODISK=y\n```\nin fondo al file di configurazione.\n\nDopo di che possiamo eseguire:\n\n```shell\n[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg\n[root@archiso /]# grub-install /dev/sda\n```\n***\n\nSiamo giunti alla conclusione del processo di installazione. Potete semplicemente riavviare con i comandi:\n\n```shell\n[root@archiso /]# exit\nroot@archiso ~ # reboot\n```\n\n***\nDopo il riavvio, se l'installazione ha avuto esito positivo, vi ritroverete con le seguenti schermate per \nil boot: dovrete innanzitutto fornire la password a GRUB, dopo di che apparira' il menu di GRUB e, una \nvolta scelto di avviare Arch Linux, dovrete inserire la password per decriptare il disco nuovamente.\n\n\u003cimg src=\"images/4.png\" height=\"200px\" /\u003e\n\u003cimg src=\"images/5.png\" height=\"200px\" /\u003e\n\u003cimg src=\"images/6.png\" height=\"200px\" /\u003e\n\n***\n\n# Installazione KDE Plasma\nDato che come ambiente di lavoro utilizzo KDE Plasma, di seguito le istruzioni necessarie per installarlo.\n\nPer i comandi che seguono si presume che l'installazione di Arch Linux sia stata eseguita correttamente, che avete eseguito il boot del nuovo sistema installato e che siati loggati con l'utente `root`.\n\nEseguite il login con le credenziali di root,\n\nAl primo boot dopo l'installazione il servizio dhcpcd non viene avviato automaticamente. Quindi \nconnettetevi ad internet utilizzando una connessione Wi-Fi con il comando:\n```shell\n[root@myhostname ~]# wifi-menu\n```\n\noppure ottenete il nome della vostra connessione ethernet con il comando\n```shell\n[root@myhostname ~]# ip addr\n```\ned avviate il servizio dhcpcd:\n```shel\n[root@myhostname ~]# dhcpcd eth0\n```\ndove si suppone che l'interfaccia ethernet si chiami eth0.\n\nAssicuratevi che la vostra connessione ad internet sia funzionante:\n```shell\n[root@myhostname ~]# ping google.com\nPING google.com (216.58.198.46) 56(84) bytes of data.\n64 bytes from mil04s04-in-f46.1e100.net (216.58.198.46): icmp_seq=1 ttl=51 time=19.4 ms\n64 bytes from mil04s04-in-f46.1e100.net (216.58.198.46): icmp_seq=2 ttl=51 time=18.5 ms\n64 bytes from mil04s04-in-f46.1e100.net (216.58.198.46): icmp_seq=3 ttl=51 time=19.7 ms\n64 bytes from mil04s04-in-f46.1e100.net (216.58.198.46): icmp_seq=4 ttl=51 time=18.6 ms\n^C\n--- google.com ping statistics ---\n4 packets transmitted, 4 received, 0% packet loss, time 3004ms\nrtt min/avg/max/mdev = 18.538/19.119/19.783/0.541 ms\n```\n\n***\n\nPrima di procedere con l'installazione apportiamo alcune modifiche al file di configurazione del gestore di \npacman di Arch ```/etc/pacman.conf```:\n```shell\n[root@myhostname ~]# nano /etc/pacman.conf\n```\nrimuovere i commenti per\n```shell\n[multilib]\ninclude = /etc/pacman.d/mirrorlist\n```\ne aggiungere il seguente contenuto in fondo al file di configurazione:\n```shell\n[archlinuxfr]\nSigLevel = Never\nServer = http://repo.archlinux.fr/$arch\n```\n\nAggiorniamo le repo:\n```shell\n[root@myhostname ~]# pacman -Syyu\n```\n\nIniziamo installando i pacchetti di cui abbiamo bisogno:\n\n```shell\n[root@myhostname ~]# pacman -Syu xorg-server xorg-apps yaourt plasma sddm sddm-kcm \n[root@myhostname ~]# pacman -Syu firefox kde-applications breeze-gtk breeze-kde4 kde-gtk-config plasma-nm xorg-xinit linux-headers \n[root@myhostname ~]# pacman -Syu virtualbox-guest-utils virtualbox-guest-modules-arch\n```\npotete anche installare i pacchetti separatamente se preferite. Questo processo di installazione risulta \nparecchio lungo a seconda della connessione internet che state utilizzando e della macchina su cui vi \ntrovate a lavorare.\n\n###### N.B: i pacchetti ```virtualbox-guest-utils virtualbox-guest-modules-arch``` sono stati \ninstallati per permettere a xorg di funzionare correttamente con VirtualBox.\n\nSuccessivamente abilitate sddm\n```shell\n[root@myhostname ~]# systemctl enable sddm\n```\ne il networkmanager\n```shell\n[root@myhostname ~]# systemctl enable NetworkManager\n```\n\nA questo punto potete riavviare il sistema:\n```shell\n[root@myhostname ~]# reboot\n```\n\n***\n\nAl successivo riavvio dovrebbe avviarsi la schermata di login fornita da sddm, dove potete eseguire l'accesso con l'utente creato durante il processo di installazione.\n\n***\n\n# Riferimenti\nPer maggiori informazioni e per capire quello che state facendo, potete consultare i seguenti riferimenti \nche ho utilizzato per mettere assieme i comandi necessari.\n\n[How To Securely Destroy/Wipe Data On Hard Drives With \nshred](https://www.howtoforge.com/how-to-securely-destroy-wipe-data-on-hard-drives-with-shred)\n\n[Full disk encryption with LUKS (including /boot) · Pavel \nKogan](http://www.pavelkogan.com/2014/05/23/luks-full-disk-encryption/)\n\n[KDE (Italiano) - ArchWiki](https://wiki.archlinux.org/index.php/KDE_(Italiano))\n\n[Minimal instructions for installing arch linux on an UEFI system with full system encryption using \ndm-crypt and luks · GitHub](https://gist.github.com/mattiaslundberg/8620837)\n\n[How to install Arch Linux with Full Disk \nEncryption](https://www.howtoforge.com/tutorial/how-to-install-arch-linux-with-full-disk-encryption/)\n\n[Arch Grub-mkconfig Lvmetad Failures Inside Chroot \nInstall](https://www.google.it/amp/s/www.pckr.co.uk/arch-grub-mkconfig-lvmetad-failures-inside-chroot-install/amp/)\n\n[Xorg (Italiano)](https://wiki.archlinux.org/index.php/Xorg_(Italiano))\n\n[KDE](https://wiki.archlinux.org/index.php/KDE)\n\n[How to install Kde Plasma 5 on Arch \nLinux](http://fasterland.net/how-to-install-kde-plasma-5-on-arch-linux.html)\n\n[How To Install Yaourt In Arch Linux](https://www.ostechnix.com/install-yaourt-arch-linux/)\n\n[Arch User Repository (Italiano)](https://wiki.archlinux.org/index.php/Arch_User_Repository_(Italiano))\n\n[SDDM](https://wiki.archlinux.org/index.php/SDDM)\n\n--\n\nRambod Rahmani \u003c\u003crambodrahmani@autistici.org\u003e\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frambod-rahmani%2Farch-linux-install","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frambod-rahmani%2Farch-linux-install","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frambod-rahmani%2Farch-linux-install/lists"}