Arch Linux install ja seadistus

Allikas: Kuutõrvaja

Arch.png

Arch linuxi plussid

  • Kergekaaluline
  • Võimaldab õppida lähemalt tundma linuxi ehitust

Arch linuxi miinused

  • Pakette on ametlikus pakihalduses vähe, palju olulisi pakette (nagios nt) asub auris. Mõningaid pole leida kummastki.
  • Aurile pole ametlikus pakihalduse repos installerit
  • Ei ole leidnud siiani vahendit, mis suudaks genereerida teateid installitud pakettides leiduvatest turvavigadest

Paigaldamine

Installiiso saab tõmmata aadressilt http://ftp.eenet.ee/pub/archlinux/iso/2015.06.01/archlinux-2015.06.01-dual.iso

Detailse ametliku juhendi leiab urlilt https://wiki.archlinux.org/index.php/Installation_guide

Kirjeldus wikis http://et.wikipedia.org/wiki/Arch_Linux

Peale archi installi bootimist ilmub ette käsurida,

Eesti klaver

# loadkeys et

Ketta partitsioneerimine (kettaks virtuaalmasinas virtio seade vda)

echo ',,L,*' | sfdisk /dev/vda
mkfs.ext4 /dev/vda1
mount /dev/vda1 /mnt -o noatime

Võrgu manuaalne seadistus (olemas ka dhcp klient)

ip ad add 193.40.0.120/24 dev eth1
ip ro add default via 193.40.0.1
echo nameserver 193.40.0.12 >> /etc/resolv.conf

Kasutame Eesti mirrorit

cd /etc/pacman.d
mv mirrorlist mirrorlist.orig
grep eenet mirrorlist.orig > mirrorlist

Baas süsteemi pakettide paigaldamiseks

pacstrap /mnt base

Muuhulgas paigaldatakse ka kernel, täpsem nimekiri paigaldatud tarkvarast https://www.archlinux.org/groups/x86_64/base/

Fstab paika

genfstab -p /mnt >> /mnt/etc/fstab

Seejärel siseneme chroot alla ja seadistame hostname ja ajatsooni

arch-chroot /mnt
echo htm-vips > /etc/hostname
ln -sf /usr/share/zoneinfo/Europe/Tallinn /etc/localtime

Kella sünkroniseerimine

systemctl enable systemd-timesyncd

Root parool

passwd root

Mõned vajalikud pakid

pacman -S syslinux openssh

Võtame kasutusele syslinux bootloaderi

syslinux-install_update -i -a -m

Kuna meil on tegemist virtio seadmega KVM all siis sda asemel on meil vda nimeline seade

sed -i 's/sda3/vda1/' /boot/syslinux/syslinux.cfg
exit
reboot

IP aadress tuleb ülalkirjutatud juhendi järgi uuesti seadistada

systemctl enable sshd
systemctl start sshd

Nüüd saab juba ssh-ga sisse

Selleks, et IP tuleks automaatselt külge tuleb tekitada /etc/systemd/system/eth1.service järgneva sisuga

[Unit]
Description=Network connectivity
Wants=network.target
Before=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/ip li set dev eth1 up
ExecStart=/usr/bin/ip ad add 193.40.0.160/24 dev eth1
ExecStart=/usr/bin/ip ro add default via 193.40.0.1
ExecStop=/usr/bin/ip li set dev eth1 down
[Install]
WantedBy=multi-user.target

Ja lubame loodud teenuse

# systemctl enable eth1.service

Kui ei taha eno1 jne seadmeid vaid eth0 jne näha siis kerneli laadimisel APPEND reale net.ifnames=0

Teenuste juhtimiseks vajalikele utiliitidele võib teha abialiased

alias sc=systemctl

Ja logivaatamiseks

alias jc=journalctl

Logide jooksva jälgimise puhul on tail -f analoogiaks

journalctl -f

Aga küsida saab ka näiteks vabas vormis

journalctl --since "20 min ago"

Pakettide andmebaasi uuendamine

pacman -Sy

Pakkide andmebaasi värskendamine ja kõigi vananenud pakettide uuendamiseks sobib anda käsk

pacman -Syu

Palju pakette asub AUR nimelises süsteemis, mis mitteametlik "user" repo https://aur4.archlinux.org/ nende paigaldamine käib käsitsi

Paneme kõigepealt peale ehitamiseks vajalikud vahendid

# pacman -S --needed base-devel

Seejärel tuleks tekitada kaust kuhu panna aurist tõmmatud PKGBUILD fail. Mõne suurema paki puhul on otstarbekas kloonida alla kogu giti haru aurist

# git clone https://aur.archlinux.org/php55.git
Cloning into 'php55'...
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 24 (delta 7), reused 15 (delta 3)
Unpacking objects: 100% (24/24), done.
Checking connectivity... done.

Seejärel tuleb käivitada nt aurbuild kasutajana ja kaustas, kuhu failid said paigaldatud käsk makepkg -sri. See käsk tõmbab alla ülejäänud vajaliku koodi, lahendab sõltuvused packmani abil, kompileerib ja installib koodi. Käsk on piisavalt nutikas, et suudab isegi eemaldada ehitamise ajaks paigaldatud mittevajalikud sõltuvused

Võimalus on paigaldada ka mõni packmani imisteeriv automatiseerimise abivahend auriga tegelemiseks. Üks selliseid on yaourt nimeline. Selle enda paigaldamiseks ava pacman.conf fail

# nano /etc/pacman.conf

Lisa sinna mitteametlik repo

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

Salvesta ja paigalda pacman käsuga yaourt

$ yaourt <name of the package>

Croni kasutamiseks tuleb paigaldada pakk cronie

Croni asemel on võimalik Archis kasutada systemd timerit. Dokud: https://wiki.archlinux.org/index.php/Systemd/Timers http://www.freedesktop.org/software/systemd/man/systemd.timer.html

Näiteks backupi jaoks tuleks teha kaks unitit sellise sisuga

== upback.timer ==
[Unit]
Description=Backup Timer

[Timer]
# Igal öösel kell 2:13
OnCalendar=2:13
== /upback.timer == 

Teine fail

== upback.service ==
[Unit]
Description=Backup Service

[Service]
Type=oneshot
ExecStart=/root/bin/rsync -av /srv varundus@varundaja.zoo.tartu.ee:mail
== /upback.service ==

Mõlemad panna /etc/systemd/system/ kataloogi ja siis "systemctl enable upback.timer".

Võrreldes crontabi ühe reaga on see ebamugavalt tüütu tõesti, see-eest pole vaja arcile eraldi croni pakki.

Levinud programmide kasutamine

Ping käsk tuleb iputils pakist

# pacman -S iputils

Apache logid journalisse

CustomLog "| /usr/bin/logger -t harid_access -p user.info" "%V %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""
ErrorLog "| /usr/bin/logger -t harid_error -p user.err"

ErrorLogi saab muidu otse syslogi kah suunata, kuid tollele ei saanud kaasa anda tagi seega read tekkisid httpd nime all. loggeriga saab erinevaid tage kasutana, nagu üldise errori jaoks error_log ja vhosti errori jaoks harid_error

https://viki.pingviin.org/Arch_Linux