Romanian PC Forum

Romanian PC Forum (http://www.rpc-forum.ro/index.php)
-   Arch GNU/Linux (http://www.rpc-forum.ro/forumdisplay.php?f=115)
-   -   Instalare Arch Linux LVM-dm-crypt (http://www.rpc-forum.ro/showthread.php?t=5149)

AnbuBlack 30.03.2014 21:04

Instalare Arch Linux LVM-dm-crypt
 
Un mic ghid pentru instalarea distribuției Arch GNU/Linux într-un volum logic (LVM - logical volume manager). Mai multe despre LVM găsiți aici. După cum spune și titlul thread-ului vom cripta acest volum logic cu ajutorul lui dm-crypt (device-mapper) și Luks (Linux Unified Key Setup).

Eu am ales metoda LVM pe luks, mai pe românește o singură partiție logică criptată, asta înseamnă că atunci când sistemul bootează nu trebuie să introduc decât o parolă pentru a decripta și încarca sistemul. Altă metodă este cea cu parole pentru fiecare partiție/fișier existent pe sistemul respectiv (metoda Luks pe LVM). De asemenea mai există și metoda criptări doar a partiției root sau cea a criptări dispozitivelor usb. Recomandarea mea ar fi primele două metode: LVM pe Luks la sistemele home și Luks pe LVM la cele server.
Să nu o mai lungim mult cu vorba și să trecem la fapte!

Până să pornim procesul de instalare facem câțiva pași mici:
- creăm o partiție de vreo 20MB de tip EF02 (pentru o tabelă de partiții GPT), altfel pentru tabela de tip MBR nu este necesară această partiție
- apoi creăm o partiție de vreo 200MB pentru /boot de tipul 8300
- și restul spațiului disponibil pe hdd pentru lvm tot de tip 8300

1. Pentru a avea tastatura în limba română ( pas opțional).
Code:

# loadkeys ro_std
2. Încărcăm modulul pentru criptare.
Code:

# modprobe dm-crypt
3. Metoda de criptate AES (Advanced Encryption Standard) cu o cheie de criptare pe 512 biti; va trebui introduceți parola dorită pentru criptare și apoi să tastați YES (cu litere mari).
Code:

# cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda2
4. Pentru a putea crea și instalat sistemul decriptăm partiția.
Code:

# cryptsetup luksOpen /dev/sda2 lvm
5. Trecem la crearea volumului logic(LVM) și a partițiilor în interiorul acestuia:
Code:

# pvcreate /dev/mapper/lvm
# vgcreate tank /dev/mapper/lvm
# lvcreate -n lvswap -L 4G tank
# lvcreate -n lvroot -L 25G tank
# lvcreate -n lvvar -L 6G tank (am creat o partiție specială pentru var datorită abs și cache-ului pacman )
# lvcreate -n lvhome -l 100%FREE tank

La grup eu i-am zis tank, puteți să puneți ce nume doriți. Mărimea parțițiilor este în funcție de mărimea hard disk-ului. Pe un hdd de 320Gb, eu am ales pentru root=25GB, swap=4GB, var=6GB, restul pentru home; am făcut o partiție separată pentru /var datorită cache-ului mangerului de pachete (pacman) și a abs (sistemul de porturi Arch).
Dacă ați greșit în timpul creări partițiilor din interiorul LVM puteți folosi: lvremove /dev/mapper/tank-lvvar pentru a îndepărta să zicem partiția var; cu lvs putem vizualiza ce partiți am creat în interiorul volumului logic.

6. Trecem la formtarea partițiilor și pornim swapul.
Code:

# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/mapper/tank-lvroot
# mkfs.ext4 /dev/mapper/tank-lvvar
# mkfs.ext4 /dev/mapper/tank-lvhome
# mkswap /dev/mapper/tank-lvswap
# swapon /dev/mapper/tank-lvswap

7. Montăm partițiile:
Code:

# mount /dev/mapper/tank-lvroot /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot
# mkdir /mnt/var
# mount /dev/mapper/tank-lvvar /mnt/var
# mkdir /mnt/home
# mount /dev/mapper/tank-lvhome /mnt/home

8. Edităm lista mirrors pentru a beneficia de serverele apropiate de locația noastră.
Code:

# nano /etc/pacman.d/mirrorlist
9.Instalăm sistemul:
Code:

# pacstrap -i /mnt base base-devel sudo
10. Generăm fișierul fstab:
Code:

# genfstab -U -p /mnt > /mnt/etc/fstab
# nano /mnt/etc/fstab (pentru a vizualiza fișierul fstab)

11. Intrăm în mediul chroot:
Code:

# arch-chroot /mnt /bin/bash
12. Cofigrăm sistemul:tastatura pentru consolă, limba locală, numele mașini, zona (timpul) și sincronizarea la UTC.
Alegem layoutul tastaturi pentru consolă (tty)
Code:

# echo KEYMAP=ro_win > /etc/vconsole.conf
# echo LANG=ro_RO.UTF-8 > /etc/locale.conf
# nano /etc/locale.gen (aici am selectat următoare layout-uri: en_US.UTF-8, en_US.ISO-8859-1, ro_RO.UTF-8, ro_RO.ISO-8859-2)
# locale-gen
# export LANG=ro_RO.UTF-8

Zona geografică în care ne aflăm:
Code:

# ln -s /usr/share/zoneinfo/Europe/Bucharest /etc/localtime
și sincronizarea la UTC:
Code:

# hwclock --systohc --utc
Adăugăm numele sistemului:
Code:

# echo arch-test > /etc/hostname
13. Următoru pas este foarte importat, altfel riscăm să avem un sistem nefuncțional la repornire.
Code:

# nano /etc/mkinitcpio.conf
la linia HOOKS adăugăm: keyboard (dacă nu există) keymap encrypt lvm2 și salvăm. Apoi regenerăm scriptul mkinitcpio în următorul fel:
Code:

# mkinitcpio -p linux
Dacă nu am primit nici o eroare, atunci lucrurile au decurs normal.
14. Instalăm un manager de boot, eu am ales grub, dar puteți instala Lilo, Syslinux,etc.
Code:

# pacman -S grub
După instalarea grub edităm fișierul grub din /etc/default:
Code:

# nano /etc/default/grub
și la linia:
Code:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"
ștergem quiet și adăugăm:cryptdevice=/dev/sda2:vgtank lang=ro locale=ro_RO.UTF-8 (în loc de sda2 treceți partiția pe care ați instalat lvm-ul)
Code:

GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/sda2:tank lang=ro locale=ro_RO.UTF-8"
15. Executăm comanda:
Code:

# grub-mkconfig -o /boot/grub/grub.cfg
pentru a plasa fișierul în partiția de botare.
16. Instalăm managerul de boot pe hard disk:
Code:

# grub-install /dev/sda
17. Introducem parola pentru root:
Code:

# passwd
Opțional putem adăuga și userul/useri care vor foloși mașina și parola/parolele acestora.
Code:

# useradd -m -g users -G wheel,storage,power -s /bin/bash anbu
# passwd anbu

Tot opțional adăugăm serverul dhcp ca să pornească la repornire:
Code:

# systemctl enable dhcpcd.service
18. Ieșim din chroot și demontăm parțiile:
Code:

# exit
pentru a ieși din chroot

Demontăm partițiile în ordinea inversă montări (adică începem întâi cu home, var și terminăm cu root)
Code:

# umount /mnt/home
# umount /mnt/var
# umount /mnt/boot
# umount /mnt

sau
Code:

#umount -R /mnt
(în felul acesta demontăm recursiv toate partițiile montate în /mnt).

19. Restartăm sistemul.

Cam asta ar fi instalarea distribuției Arch Linux pe un volum logic criptat.
Mai multe detalii despre customizarea și instalarea restului de componente ale sistemului (xorg, Kde,Gnome, diverse programe) găsiți aici.


All times are GMT +2. The time now is 16:01.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.


~ Copyright © 2007-2015 Romanian PC Forum ~
Toate drepturile rezervate