Arch 2012.03 - jak aktualizovat

Šablony, konfigurace - návrhy, připomínky a diskuze.
Ether
Příspěvky: 11
Registrován: úte 28. srp 2012 21:10:55

Arch 2012.03 - jak aktualizovat

Příspěvek od Ether »

Upozornění: S Linuxy obecně mám spíše letmé zkušenosti a v Arch Linuxu jsem úplný nováček.

Jelikož v Arch Linuxu v posledních měsících proběhlo pár problémových změn, update balíčků na aktuální šabloně arch-2012.03-x86_64 bohužel nejde provést úspěšně (a i když se něco podaří aktualizovat, pak bez dalších zásahů se k systému po restartu nejde přihlásit). Požádal jsem tedy o pomoc strýčka Googla a lidi v místnosti #archlinux na freenode a došel jsem k následující sekvenci příkazů, která by měla úspěšně systém ze šablony dovést do aktualizovaného stavu.

Kód: Vybrat vše

pacman -Sy
rm -rf /var/run /var/lock && pacman -Sf filesystem
reboot

pacman -S pacman
pacman-key --init
pacman-key --populate archlinux
pacman -S tzdata
pacman -Sd gcc-libs binutils
pacman -S acl attr bash bzip2 ca-certificates coreutils db dcron \
          dialog dirmngr e2fsprogs expat gawk glib2 gmp gnupg \
          gpgme gpm grep gzip hwids iana-etc inetutils initscripts \
          kbd keyutils kmod libarchive libcap libedit libffi \
          libgcrypt libgpg-error libldap libltdl libnl libpcap \
          libpipeline libssh2 libsystemd libusb-compat libusbx \
          linux-api-headers lsof man-db man-pages openssh openssl \
          pam pambase pciutils pinentry popt procps-ng psmisc \
          quota-tools readline run-parts shadow strace sudo \
          sysfsutils syslog-ng systemd-tools sysvinit usbutils \
          util-linux wget xz zlib

mv /etc/bash.bashrc.pacnew /etc/bash.bashrc
echo 'shm      /dev/shm      tmpfs     nodev,nosuid    0 0' >> /etc/fstab
pacman -S makedev
echo '/usr/sbin/MAKEDEV tty' >> /etc/rc.local
echo '/usr/sbin/MAKEDEV pty' >> /etc/rc.local
reboot

pacman -S glibc
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo 'LANG="en_US.UTF-8"' > /etc/locale.conf
reboot

pacman -Su
reboot
Některé příkazy jsou možná zbytečné, ale nechtěl jsem už do toho příliš šťourat. Po aktualizaci zbyde pár konfiguráků s příponou .pacnew, které by se měly také vyřešit, ale nezdá se, že by to bylo akutní. Uvítám jakoukoli rozumnou kritiku a připomínky.

Doplnění: Zapomněl jsem zmínit, že pokud se bude pacman ptát na nahrazení jednoho balíčku druhým, pak odpovídám ano (Y), pokud se bude ptát na instalaci něčeho jiného, pak odpovídám ne (N).
jancici
Příspěvky: 16
Registrován: úte 22. bře 2011 14:02:31

Re: Arch 2012.03 - jak aktualizovat

Příspěvek od jancici »

ano, aktualna sablona vznikla updatovanim predchadzajucej, trosku som sa o to pricinil :-)
uz som nad tym zacal uvazovat lebo posledne sa spravilo dost zmien ktore by bolo dobre mat uz v sablone.

4smart admin mi dal za update sablony kredit.
takze ak chces teraz to mozes spravit ty.

aky bol postup:
1) vytvorenie cisteho VPS z aktualnou sablonou
2) update, takze v podstate to co si pisal, v podstate prikaz pacman -Syu by mal povedat ze vsetko je okay.
3) takto updatnuty VPS 4smart admin pouzije na vytvorenie sablony

medzi bodom 2 a 3 by bolo dobre spravit este zmeny tykajuce sa rc.conf
zatial netreba riesit migraciu na systemd ale treba zmenit konfiguraciu networku cez netcfg s cim mam trosku problem
pozri moje vlakno http://forum.odorik.cz/viewtopic.php?f=6&t=835
v rc.configu by mal zostat len riadok DAEMONS
Ether
Příspěvky: 11
Registrován: úte 28. srp 2012 21:10:55

Re: Arch 2012.03 - jak aktualizovat

Příspěvek od Ether »

Šablonu s updaty připravit můžu, s tou konfigurací sítě ještě nevím. Vrhnu se na to večer a uvidím.
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: Arch 2012.03 - jak aktualizovat

Příspěvek od 4smart.cz »

Dobrý den.

Oceňuji Vaši snahu a zájem o spolupráci, pokud jde o aktualizaci ArchLinuxu.

V příloze tohoto přízpěvku najdete tar.gz archiv s jednim konfiguracnim souborem promennych a nekolika vykonnymi scripty z prostredi OpenVZ,
ktere zajistuji operace prideni/odebrani IP adresy, nastaveni hostname a nastaveni kvoty druhe urovne - to vse uvnitr VPS, ktere je vytvoreno na bazi
distribuce ArchLinuxu.

Scripty zobrazuji soucasny stav - muzete s jejich pomoci zjistit, co vse se skutecne modifikuje a kde v aktualni verzi ArchLinux sablony a odvodit z toho,
jake zmeny bude treba udelat a kde.

V zakladu by mohlo stacit vytvorit aktualizovany VPS ArchLinuxu a do emailu (podpora[at]4smart.cz) presne popsat, co v updatovanem distru a kde menit.
OpenVZ scripty (viz priloha) si pote upravim sam a vse radne otestuji.

Doporucuji drzet se pravidla - dvakrat mer a jednou rez :-)

J.M.
Přílohy
arch.tar.gz
OpenVZ scripty ArchLinux sablon.
(2.39 KiB) Staženo 337 x
jancici
Příspěvky: 16
Registrován: úte 22. bře 2011 14:02:31

Re: Arch 2012.03 - jak aktualizovat

Příspěvek od jancici »

arch linux meni SysV za systemd, s tym suvisi to ze rc.conf uz nebude konfiguracny subor.
predtym ako sa zmigruje treba migrovat konfiguraciu, novy sysem konfiguracie funguje a s SysV.
takze zatial by som migroval iba konfiguraciu a migrovanie na systemd nechal na pozdejsie, ky sa to odladi

a)
vytvorit subor: /etc/vconsole.conf a tam dat toto

Kód: Vybrat vše

KEYMAP=us
FONT=lat9w-16
FONT_MAP=8859-1_to_uni
potom subor: /etc/locale.conf s obsahom

Kód: Vybrat vše

LANG=en_US.UTF-8
LC_MESSAGES=C
LC_COLLATE=C
potom skontrolovat timezone, ci je spravne spravena linka

Kód: Vybrat vše

ls -la /etc/localtime 
lrwxrwxrwx 1 root root 37 Apr  5 09:16 /etc/localtime -> /usr/share/zoneinfo/Europe/Bratislava
ak chyba tak vytvorit subor /etc/adjtime s obsahom

Kód: Vybrat vše

0.0 0.0 0.0
0
UTC
a na zaver vytvorit subor /etc/hostname obsah suboru je iba meno serveru.

Kód: Vybrat vše

meno_serveru
/etc/hostname je dynamicky a bude ho menit spominany skript.

zaroven treba zakomentovat nepotrebne veci v rc.conf, moj rc.conf vyzera takto, ja som nepotrebne uz zmazal

Kód: Vybrat vše

cat /etc/rc.conf
INTERFACES=(       "lo"  "venet0"  "venet0_0"   )
gateway="default gw 192.168.0.1"
ROUTES=( !gateway "rt_default" )
NETWORK_PERSIST="no"
DAEMONS=(syslog-ng iptables network @crond @sshd mysqld @httpd @dovecot postfix)
lo="lo 127.0.0.1"
venet0="venet0 127.0.0.1 netmask 255.255.255.255 broadcast 0.0.0.0"
rt_default="default dev venet0"
venet0_0="venet0:0 xxx.xxx.xxx.xxx netmask 255.255.255.255 broadcast 0.0.0.0"
na tomto mieste sa moze spravit testovaci restart


b)
oznam http://www.archlinux.org/news/netcfg-28 ... atibility/ hovori o tom ze konfiguracia siete uz bude cez netcfg
konfiguracia je v dvoch suboroch:

netcfg by mal byt staticky

Kód: Vybrat vše

cat /etc/conf.d/netcfg

NETWORKS=(venet)
WIRED_INTERFACE="venet0"
venet by sa mal manit cez spominane skripty : del_ip a add_ip

Kód: Vybrat vše

cat /etc/network.d/venet

    CONNECTION='ethernet'
    DESCRIPTION='OpenVZ connection'
    INTERFACE='venet0'
    IP='static'
    IPCFG=(
    #default
    'addr add 127.0.0.1/32 broadcast 0.0.0.0 dev venet0'
    #IPv4 address
    'addr add xxx.xxx.xxx.xxx/32 broadcast 0.0.0.0 dev venet0'
    #IPv4 route
    'route add default dev venet0'
    ##IPv6 address
    ##'addr add xxxx:xx:xx::x/128 dev venet0'
    ##IPv6 route
    ##'-6 route add default dev venet0'
    )

    DNS=('Q81.Q31.Q33.Q19' 'Q80.Q79.Q16.Q5')
na otestovanie spravnosti netcfg by mal stacit tento prikaz

Kód: Vybrat vše

rc.d stop network && ip addr flush venet0 && netcfg venet
co zhodi siet a potom ju znovu nahodi cez netcfg
mne to nechce zafungovat lebo nastane nejaky problem

Kód: Vybrat vše

rc.d stop network && ip addr flush venet0 && netcfg venet
Warning: Your network settings are deprecated.
  Please refer to 'man 5 rc.conf' on how to define a single wired
  connection, or use a utility such as netcfg.
:: Stopping network                                                                                                                  [FAIL]
:: venet up                                                                                                                          [BUSY]
/usr/lib/network/connections/ethernet: line 208: echo: write error: Operation not permitted
> Cannot set hostname to wizo
zatial s tym neviem pohnut, takze migrovanie na netcfg je z mojho pohladu zatial zastavene

ked bude fungovat netcfg tak treba zmenit DAEMONS riadok v rc.conf.
nahradit "network" s "net-profiles"
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: Arch 2012.03 - jak aktualizovat

Příspěvek od 4smart.cz »

Zdravím.

Na úvod: změna hostname v prostředí VPS by měla být možná. Je vždy však pouze dočasná a od okamžiku restartu VPS se použije hostname definované
přes www rozhraní 4smart.cz. Naopak nevhodná změna nastavení sítě (např. změna IP adresy) vede k nedostupnosti VPS, které je po restartu sice ve stavu
"running", ale z pohledu sítě nefunguje správně.

Vzhledem ke složitosti celého problému bych doporučil vycházet z konfigurace aktualizované distribuce (obsahující systemd), instalované na obyčejném PC. Konfiguraci sítě pro venet0, resp. venet0:0 bych pak vydedukoval analogicky podle např. eth0. Jakmile se podaří udělat si jasno ve všech změnách, které mají být provedeny, pokusil bych se je přenést do konfigurace VPS, tedy začal bych od nuly - aktualizací distribuce a pokračoval krok po kroku podle potřeby, třeba podle poznámek, které bych si sestavoval při sondování instalace aktualizovaného distra ArchLinuxu někde na svém PC.

Warning, který se objevuje ve Vašem posledním příspěvku je dle mého názoru následkem přítomnosti nějakého zastaralého nastavení (možná jen chybné syntaxe) v /etc/rc.conf a nemá zásadní vliv na funkčnost.

Vzhledem k tomu, že systemd je také do jisté míry závislý na udevd (odkud čerpá informace), věnoval bych pozornost i této relaci. 4smart.cz z důvodů vysoké stability používá starší jádro RHEL5, které je pro udevd příliž staré. Proto nelze očekávat, že by udevd ve VPS v dohledné době bylo možné v nějaké podobě spustit. Větev RHEL6 je pro nás zatím stále neperspektivní, neboť jak jsem včera zjistil, poslední stable jádro OpenVZ z větve RHEL6 prošlo poměrně rozsáhlými změnami a opravami. Postupem času se k RHEL 6 kernelu ale začneme přiklánět.

Otázkou tedy je, jestli je vůbec možné ArchLinux updatovat a provozovat pod OpenVZ z větve RHEL5.
Předběžně myslím, že ano, ale bude třeba trochu úsilí a možná provézt pár nestandardních změn.

Edit:
Mám dojem, že "wizo" v nastavení hostname je jaksi navíc viz. /etc/hosts.

J.M.
jancici
Příspěvky: 16
Registrován: úte 22. bře 2011 14:02:31

Re: Arch 2012.03 - jak aktualizovat

Příspěvek od jancici »

neviem do akej miery bude nutne migrovat na systemd, zatial by uplne stacilo premigrovat nastavenia z rc.conf do novych konfiguracnych suborov.

kazdopadne warnign o ktorom hovorite je okay, vsak je tam napisane ze moje nastavenia siete v rc.conf su deprecated a mam zacat pouzivat netcfg, co sa prave snazim.

na mojom laptope aj na pracovnom PC som migraciu na netcfg a systemd absolvoval bez problemov.
hostname napriklad viem zmenit takto

Kód: Vybrat vše

echo "moo" > /proc/sys/kernel/hostname
ale na mojom VPS sa toto neda spravit, nemam prava

pozrel som tie skripty, nastavenie hostname nieje take tazke, ale del_ip a add_ip je uz na mna zlozite.
pripajam modifikovany set_hostname
Přílohy
arch-set_hostname.sh.tar.bz2
(996 bajtů) Staženo 315 x
Ether
Příspěvky: 11
Registrován: úte 28. srp 2012 21:10:55

Re: Arch 2012.03 - jak aktualizovat

Příspěvek od Ether »

jancici píše:pripajam modifikovany set_hostname
Jo, tuhle úpravu jsem taky ještě zvládl. :)

Jak píše admin, ideální by bylo, kdyby šablona co nejpřesněji odpovídala čistě nainstalovanému systému, takže instaluju Arch do VM a uvidím posléze, co se mi podaří zjistit. Přes víkend nebudu ale u svého počítače, takže výsledky budou nejdříve v pondělí.
Ether
Příspěvky: 11
Registrován: úte 28. srp 2012 21:10:55

Re: Arch 2012.03 - jak aktualizovat

Příspěvek od Ether »

Abych měl co nejjednodušší práci, snažil jsem se ve VM nainstalovat stejnou množinu balíčku, jaká je na VPS, a případné přebývající odinstalovat. Našel jsem nějaké netriviální rozdíly: dcron (VPS) x cronie (VM), libfetch (VPS), tcp_wappers (VPS), systemd (VM), dbus-core (VM). Předpokládám, že z hlediska VPS má být balíček dcron nahrazen balíčkem cronie, balíčky libfetch a tcp_wrappers odinstalovány a balíčky systemd a dbus-core nainstalovány. Nevím, jestli zrovna systemd půjde lehce. Taky bych do šablony zrovna dal i balíček mc, čistě pro pohodlí.

Pak bych prošel rozdíly v /etc mezi VPS a VM, pokusil se je nějak sloučil dohromady a posléze bych zkusil rozchodit u sebe na VM netcfg a pak to nějak aplikovat na VPS a pokusit se aktualizovat konfigurační skripty.

Pokud mě někdo s některým úkonem předběhne nebo mi poradí, které z balíčků by mohly být problémové, budu rád. Stále platí, že od pátku do neděle na to asi nešáhnu, ale fórum si občas snad přečtu.
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: Arch 2012.03 - jak aktualizovat

Příspěvek od 4smart.cz »

Systemd je tak trochu vic nez jen vylepseny sys V Init. Prave v tom, jak zminujete tcp wrapper a cron. Systemd ma totiz schopnosti nahrazujici prastary cron a dokonce i xinetd. Krome toho dbus-core je zcela jiste nutnou soucasti systemd, protoze sbernice d-bus je pouzivana pri startu demonu na pozadani.
Takze je treba vzit v uvahu to, ze cron a xinetd jiz neni nutnou soucasti aktualizovane instalace (muze ji pouze doplnovat, pokud neni v konfliktu s jinym balickem).

J.Marák
Zamčeno