Arch Linux install ja seadistus
Sisukord
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