- Jogi nyilatkozat
- 1. Alaprendszer telepítése
- 2. Felhasználói GUI telepítése
- 2.a GNOME telepítése
- 2.b KDE telepítése
- 3 POST install
- 4 Pacman
- 5 ISSUES
- 6 Egyéb csomagok telepítése
A következőket teheted a művel:
- szabadon másolhatod, terjesztheted, bemutathatod és előadhatod a művet
- származékos műveket (feldolgozásokat) hozhatsz létre
Az alábbi feltételekkel:
- Jelöld meg! A szerző vagy a jogosult által meghatározott módon kell meg- jelölni a művet (pl. a szerző és a cím feltüntetésével).
- Ne add el! Ezt a művet nem használhatod fel kereskedelmi célokra
A szerzői jogok tulajdonosának írásos engedélyével bármelyik fenti feltételtől eltérhetsz. A fentiek nem befolyásolják a szabad felhasználáshoz fűződő, illetve az egyéb jogokat
Ez a Legal Code (Jogi változat, vagyis a teljes licenc) szövegének közérthető nyelven megfogalmazott kivonata. Ez a kivonat a http://creativecommons.org/licenses/by-nc/2.5/hu/ oldalon is olvasha- tó. A teljes licensz a http://creativecommons.org/licenses/by-nc/2.5/hu/legalcode olda- lon érhető el.
E jegyzet hivatalos honlapjáról (https://github.com/csekme/arch_install_hun) tölthető le a mindenkori legfris- sebb verzió.
Ez a jegyzet tartalmaz OpenAI ChatGPT válaszokat is, melyek helyességét magam ellenőriztem.
Ez a jegyzet forrásként használja továbbá az Arch linux wiki oldalát.
Bootolható USB létrehozása
$ sudo dd if=archlinux-2024.03.01-x86_64.iso of=/dev/sda bs=515b status=progress
$ sync
Miután egy USB, vagy egyéb forrásból származó telepítő segítségével betöltöttük az Arch Linux telepítőt, megkapjuk a konzolt. Elsőként célszerű a billentyűzet kiosztást beállítani hogy könnyű dolgunk legyen a gépeléssel.
Billentyűzet kiosztás beállítása
$ loadkeys hu
Csatlakozás az internethez
Szükségünk lesz internet eléréshez hogy a csomagokat telepíteni tudjuk. WiFi esetén segítségünkre lesz az iNet wireless daemon (iwd) mely szolgáltat egy parancssoros kis programot az iwctl-t, segítségével tudunk csatlakozni egy routerhez.
Ha beütjük az iwctl parancsot majd egy entert ütünk akkor az iwd interaktív promptját kapjuk meg.
$ iwctl
[iwd]#
Ahhoz hogy csatlakozni tudjunk szükségünk lesz az eszköz nevére (wireless kártya) illetve az ssid-ra, a hálozat nevére. A device list segítségével megkereshetjük az eszközünket.
[iwd]# device list
#
# Devices
# -------------------------------------------------------------
# Name Address Powered Adapter Mode
# -------------------------------------------------------------
# wlan0 ... on ... ...
A példa alapján a wlan0 az eszközünk. Most már csatlakozhatunk is
[iwd]# station wlan0 connect wifid_ssid-ja
Lehetőségünk van interaktív prompt helyett egyből csatlakozni a router-hez az iwctl programocskával.
# Wireless esetén
$ iwctl stations wlan0 connect <ssid>
Rendszeróra frissítése
$ timedatectl set-ntp true
A kézikönyv kétféle telepítést mutat be, egy egyszerű telepítést grub bootloader segítségével, illetve egy titkosított partícióra való telepítést systemd-boot segítségével. Későbbiekben csak normál illetve titkosított-ként fogok rá hivatkozni.
A LUKS (Linux Unified Key Setup) egy lemez titkosítási szabvány, amelyet a Linux rendszer használ a lemezek és partíciók biztonságos titkosítására. A LUKS célja, hogy egységes és hordozható formátumot biztosítson a különböző disztribúciók és eszközök között, és a felhasználók számára egyszerűbbé tegye a titkosítás beállítását és használatát.
A LUKS közvetlenül támogatott a Linux kernelben, és felhasználói (user space)eszközökkel, mint például a cryptsetup, kezelhető.
# kilistázzuk a partíciókat
$ fdisk -l
# partícionálás cfdisk segítségével
$ cfdisk /dev/...
Hozz létre egy GPT partíciós táblát
A GPT (GUID Partition Table) egy modern partíciós tábla formátum, amelyet az MBR (Master Boot Record) korlátainak kiküszöbölésére fejlesztettek ki. A GPT az UEFI (Unified Extensible Firmware Interface) specifikáció része, és számos előnyt kínál az MBR-rel szemben.
- EFI rendszerpartíció (ESP) (512-1024 MiB,
type: EFI System
) - LUKS titkosított partíció (a maradék terület)
Formázd az ESP partíciót FAT32-re:
mkfs.fat -F32 /dev/sdX1
LUKS titkosítás és LVM
Titkosítsd a LUKS partíciót
cryptsetup luksFormat /dev/sdX2
Nyisd meg a LUKS konténert
cryptsetup open /dev/sdX2 cryptlvm
Hozz létre egy LVM fizikai kötetet
pvcreate /dev/mapper/cryptlvm
Hozz létre egy LVM volume groupot
vgcreate vg0 /dev/mapper/cryptlvm
Hozz létre logikai köteteket a root és swap számára
Root (például 20G):
lvcreate -L 20G vg0 -n root
Swap (például 2G):
lvcreate -L 2G vg0 -n swap
A fennmaradó hely (opcionális home partíció):
lvcreate -l 100%FREE vg0 -n home
Fájlrendszerek létrehozása
Formázd a logikai köteteket
Root:
mkfs.ext4 /dev/vg0/root
Swap:
mkswap /dev/vg0/swap
Home (opcionális):
mkfs.ext4 /dev/vg0/home
Mountold a root fájlrendszert
mount /dev/vg0/root /mnt
Hozd létre a szükséges könyvtárakat és mountold azokat
EFI rendszerpartíció:
mkdir /mnt/boot
mount /dev/sdX1 /mnt/boot
Home (ha van):
mkdir /mnt/home
mount /dev/vg0/home /mnt/home
Aktiváld a swapot
swapon /dev/vg0/swap
# kilistázzuk a partíciókat
$ fdisk -l
# partícionálás cfdisk segítségével
$ cfdisk /dev/...
cfdisk
Select label type: gpt/dos/sgi/sun
/dev/sda1 - 1G - for /boot EFI
/dev/sda2 - 5G - for root Linux
/dev/sda3 - 1G - for swap Linux swap / Solaris (érdemes a ram kétszeresét megadni, pl.: 16GB esetén 32GB-ot)
formázzuk meg a létrehozott partiíciókat
# Az efi partíció specifikáció szerint kötelezően előírja a FAT partíciós táblát ezért azt FAT-ra formázzuk
$ mkfs.fat -F 32 /dev/sdxy
# A root partíció ext4
$ mkfs.ext4 /dev/sdxy
# A swap partíció pedig
$ mkswap /dev/sdxy
csatoljuk a partíciókat
# A root partíciót a /mnt helyre
$ mount /dev/root_partition /mnt
# Az efi részére hozzuk létre az /mnt/efi helyet és csatoljuk fel
$ mkdir /mnt/efi
$ mount /dev/sdxy /mnt/efi
# csatoljuk a swap partíciót is
$ swapon /dev/sdxy
$ pacman -Syy
$ pacstrap /mnt base base-devel linux linux-headers linux-firmware vim dhcpcd
# Fstab: Generate an fstab file (use -U or -L to define by UUID or labels, respectively):
$ genfstab -U /mnt >> /mnt/etc/fstab
Váltsunk root-ot az új rendszerre:
$ arch-chroot /mnt
Időzóna beállítása
# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
$ ln -sf /usr/share/zoneinfo/Europe/Budapest /etc/localtime
$ hwclock --systohc
Lokalizáció beállítása
Szerkesszük meg a */etc/locale.gen' fájlt és vegyük ki a kommentezést a megfelelő bejegyzés mögül.
$ vim /etc/locale.gen
----------------------
...
# hu_HU.UTF-8 UTF-8
...
# Ezt követően generáljuk le
$ locale-gen
Hozzunk létre a locale.conf fájlt és adjuk meg a LANG értékét:
$ nano /etc/locale.conf
-----------------------
LANG=hu_HU.UTF-8
echo "LANG=hu_HU.UTF-8" > /etc/locale.conf
Hozzuk létre a konzolos billetnyűzet beállítását és adjuk meg a KEYMAP értékét:
$ nano /etc/vconsole.conf
-------------------------
KEYMAP=hu
echo "KEYMAP=hu" > /etc/vconsole.conf
Hálózat konfiguráció
Hozzuk létre a hostname fájlt és állítsuk be a hostnevet:
$ nano /etc/hostname
--------------------
myhostname
Állítsuk be a hosts fájlt
echo "127.0.0.1 localhost" >> /etc/hosts
echo "::1 localhost" >> /etc/hosts
Állítsuk be a DHCP szolgáltatását
$ systemctl enable dhcpcd
A root jelszó megadása
$ passwd
Hozzunk létre új felhasználót sudo jogokkal
$ useradd -m -g users -G wheel -s /bin/bash username
$ passwd username
# szerkesszük meg a sudoers fájlt
$ nano /etc/sudoers
# a root ALL=(ALL) ALL alá adjuk hozzá az új felhasználónkat
username ALL=(ALL) ALL
# illetve ha a weel csoport tagjait engedjük akkor az alábbi bejegyzést
%wheel ALL=(ALL) ALL
Az initramfs (initial RAM filesystem) egy ideiglenes fájlrendszer, amelyet a Linux kernel használ a rendszer indítási folyamatának korai szakaszában. Az initramfs biztosítja a szükséges környezetet ahhoz, hogy a kernel betölthesse a rendszer fő fájlrendszerét és elindíthassa az init folyamatot. Az initramfs tartalmazza azokat az eszközmeghajtókat, modulokat és segédprogramokat, amelyek szükségesek az alapvető rendszerindítási feladatok elvégzéséhez.
Állítsd be a megfelelő jogosultságokat: Győződj meg róla, hogy csak a root felhasználó férhet hozzá írási joggal A /boot mappához, míg más felhasználók csak olvasási joggal rendelkeznek:
chmod 755 /boot
TODO: fmask=0077 dmask=0077 az fstab-ban a boot-ra
Telepítsük a szükséges csomagokat
pacman -Syu efibootmgr cryptsetup lvm2
Initramfs beállítása
Szerkeszd a /etc/mkinitcpio.conf
fájlt, és add hozzá a keyboard
, keymap
, encrypt
és lvm2
hookokat a HOOKS
sorban:
HOOKS=(base udev autodetect modconf block keyboard keymap encrypt lvm2 filesystems)
Generáld újra az initramfs
mkinitcpio -p linux
Telepítsd a systemd-boot bootloadert
bootctl install
Konfiguráld a bootloadert:
Hozz létre egy loader.conf
fájlt az /boot/loader
könyvtárban és add hozzá a következő sorokat:
default arch
timeout 5
editor 0
Hozd létre az Arch Linux boot bejegyzést /boot/loader/entries/arch.conf:
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=/dev/sdX2:cryptlvm root=/dev/vg0/root rw
pacman -Sy grub efibootmgr dosfstools os-prober mtools
# létrehozzuk az EFI boot direktory-t
$ mkdir /boot/EFI
# felcsatoljuk a boot partíciót
$ mount /dev/sdxy /boot/EFI
# telepítjük a grubot EFI módon
$ grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
# telepítjük a grubhoz a nyelvi fájlokat
$ cp /usr/share/locale/hu/LC_MESSAGES/grub.mo /boot/grub/locale/hu.mo
# kiírjuk a GRUB configot
$ grub-mkconfig -o /boot/grub/grub.cfg
Kilépés a chrootból és újraindítás
exit
umount -R /mnt
swapoff -a
reboot
# Next, Install X Window System (xorg) using command:
$ sudo pacman -S xorg xorg-server
# install gnome
$ sudo pacman -S gnome gnome-tweaks gnome-nettool gdm archlinux-wallpaper networkmanager firefox xdg-desktop-portal-gnome xdg-desktop-portal gcr4
$ sudo systemctl enable gdm.service
$ systemctl enable NetworkManager
$ systemctl enable --user gcr-ssh-agent.socket
# indítsuk újra a gépet
# Ha problémák adódnának a hanggal
$ sudo pacman -S pulseaudio pulseaudio-alsa
A telepítést követően néhány fontos beállítás, utó telepítés. Régebbi GTK téma telepítése a mostmár legacy programokhoz. Illetve Flatpak programokhoz. Töltsd le az alábbi repót és telepítsd a témát: https://github.com/lassekongo83/adw-gtk3
Ha flatpak alkalmazásokat használsz célszerű lehet telepíteni az alábbi témákat flatpakon keresztül is.
$ flatpak install org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark
Engedélyezni tudod az adw-gtk3 témát a gnome-tweaks
-ben, vagy manuál terminálból:
# Change the theme to adw-gtk3 light
$ gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3' && gsettings set org.gnome.desktop.interface color-scheme 'default'0
# Change the theme to adw-gtk3-dark
$ gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3-dark' && gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
# Revert to GNOME's default theme
$ gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita' && gsettings set org.gnome.desktop.interface color-scheme 'default'
GDM billentyűzet kiosztás beállítása
# GDM language
$ localectl set-x11-keymap hu
dependencies:
sudo pacman -Sy gcr4
zsh export:
export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/gcr/ssh
enable gcr service
systemctl enable --now --user gcr-ssh-agent.socket
$ pacman -S xorg plasma plasma-wayland-session kde-applications
$ systemctl enable sddm.service
$ systemctl enable NetworkManager.service
A Yay csak az Arch User Repository-ban érhető el. Vegyük figyelembe, hogy manuálisan is telepíthetünk csomagokat az AUR-ból anélkül, hogy AUR segédprogramot használnánk (hasonlóan ahhoz, ahogy a Yay-t fogod telepíteni), de ahogy a neve is sugallja, egy "AUR segédprogram" segít a telepítési folyamatban, megkönnyítve a csomagok telepítését minimális felhasználói beavatkozással.
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Az arch alapértelmezett csomagkezelője a Pacman
Azoknak a csomagoknak a kilistázása amelyek nem a main repóból jöttek tehát AUR vagy pkgbuild csomagok.
sudo pacman -Qm
sudo pacman -U --noconfirm your-package.pkg.tar.zst
sudo pacman -Rcns <package>
Egyéb törléshez tartozó kapcsolók:
-R | csomag eltávolítása (törlés) flag |
---|---|
-c, --cascade | csomagok és az azokat igénylő csomagok eltávolítása |
-n, --nosave | törölje a konfigurációs fájlokat |
-s, --recursive | a feleslegessé váló függőségeket is távolítsa el (-ss a kézzel telepített függőségeket is eltávolítja) |
-u, --unneeded | más csomag által nem igényelt csomagok eltávolítása |
You can use Python's venv
like described here.
However if you really want to install packages that way, then there are a couple of solutions:
- use
pip
's argument--break-system-packages
, - add following lines to
~/.config/pip/pip.conf
:
[global]
break-system-packages = true
Postman telepítése flatpak-et követően nem indul el. A hiba az hogy hiányolja (vélhetően) nem települ cert amit a Postman használni szeretne. Megoldás generáljunk egy cert-et neki
mkdir -p ~/.var/app/com.getpostman.Postman/config/Postman/proxy
cd ~/.var/app/com.getpostman.Postman/config/Postman/proxy
openssl req -subj '/C=US/CN=Postman Proxy' -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -keyout postman-proxy-ca.key -out postman-proxy-ca.crt
yay visual-studio-code-bin
Gnome extensions places open vscode issue
xdg-mime default org.gnome.Nautilus.desktop inode/directory
Flameshot telepítése flatpak segítségével
flatpak install org.flameshot.Flameshot
flatpak permission-set screenshot screenshot org.flameshot.Flameshot yes
flatpak install io.missioncenter.MissionCenter
sudo pacman -Sy nerd-fonts