Benutzer:Peter Littmann/Arch Linux bei Kimsufi

Arch Linux bei Kimsufi beschreibt die Installation von Arch Linux bei Kimsufi. Ausgehend von der durch Kimsufi vorgenommenen Installation soll eine eigene Installation durchgeführt werden um so zu testen ob und wie es funktioniert und eventuelle Probleme und Lösungen zu ermitteln und anderen Benutzern bei der Installation behilflich zu sein. Für die Installation wurde die Standard Arch Linux Installation verwendet(2013). Eine Auswahl welchen Kernel man installieren will oder welche Sprache das zukünftige System als Standardsprache verwenden soll, hat man dabei im Gegensatz zu anderen Distributionen nicht.

Inspektion des neu installierten Systems Bearbeiten

Erstanmeldung zeigt folgende Ausgabe(issue):

Arch Linux

Linux ns3337690 3.10.23-xxxx-std-ipv6-64 #1 SMP Mon Dec 9 18:53:52 CET 2013 x86_64 GNU/Linux

server    : 223056
hostname  : ns3337690
eth0 IPv4 : 37.59.29.164
eth0 IPv6 : 2001:41d0:b:1a4::1/128

Last login: Tue Feb 11 20:47:48 2014 from cache.ovh.net

Es wird wieder der bei Kimsufi übliche statisch gebundene Kernel verwendet:

# ls -al /proc/modules
ls: cannot access /proc/modules: No such file or directory
# ls -al /boot
total 10211
drwxr-xr-x  4 root root    1024 Feb 11 20:43 .
drwxr-xr-x 19 root root    4096 Feb 11 20:47 ..
-rw-r--r--  1 root root 2727448 Dec 10 15:50 System.map-3.10.23-xxxx-std-ipv6-64
-rw-r--r--  1 root root 7665600 Dec 20 17:32 bzImage-3.10.23-xxxx-std-ipv6-64
drwxr-xr-x  6 root root    1024 Feb 11 20:43 grub
drwx------  2 root root   12288 Oct 10  2012 lost+found

Als Bootloader wurde auf diesem System grub2 installiert.

Das installierte Arch Linux benötigt ca. 640MB Speicherplatz:

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       3.9G  615M  3.1G  17% /
devtmpfs        7.8G     0  7.8G   0% /dev
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           7.8G  1.6M  7.8G   1% /run
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
tmpfs           7.8G  4.0K  7.8G   1% /tmp
/dev/md1        247M   26M  209M  11% /boot

Ein Blick in dmesg und /proc/mdstat zeigt, dass die beiden RAID1-PArtitionen korrekt erkannt wurden.

Aktualisieren der Repository-Informationen

pacman -Syu
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
:: The following packages should be upgraded first :
    pacman
:: Do you want to cancel the current operation
:: and upgrade these packages now? [Y/n]

Pacman, der Paketmanager musste also als erstes aktualisiert werden.

Ein Blick auf /etc/pac* zeigt, dass eine reduzierte mirrorlist vom 10. Oktober 2012 eingerichtet ist und als einziger Server

[root@ns3337690 ~]# cat /etc/pacman.d/mirrorlist
Server = ftp://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch
Server = http://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch

verwendet wird.

Um reflector und mc zu installieren, wird erstmal ein erneuter Aktualisierungsversuch gestartet:

# pacman -Syu
...
(149/149) checking for file conflicts                                                                              [####################################################################] 100%
error: failed to commit transaction (conflicting files)
filesystem: /bin exists in filesystem
filesystem: /sbin exists in filesystem
filesystem: /usr/sbin exists in filesystem
Errors occurred, no packages were upgraded.

Diese Aktualisierung bricht mit einem Fehler ab, der am 3. Juni 2013 bereits auf Binary Verschiebung berichtt und dess Behebung beschrieben wurde. Das verwendete Installationsimage für den Server ist also doch recht alt.

# pacman -Ss mirrorlist
core/pacman-mirrorlist 20140107-1 [installed: 20130203-1]
    Arch Linux mirror list for use by pacman

Also geht es jetzt erstmal daran, diesen Fehler zu beheben.

# pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -
warning: /etc/default/grub saved as /etc/default/grub.pacsave
warning: /boot/grub/grub.cfg saved as /boot/grub/grub.cfg.pacsave
warning: /etc/locale.gen installed as /etc/locale.gen.pacnew
New optional dependencies for util-linux
    python: python bindings to libmount
New optional dependencies for glib2
    elfutils: gresource inspection tool
    python2: for gdbus-codegen and gtester-report
warning: directory permissions differ on /var/log/journal/
filesystem: 755  package: 2755
==> The /bin/systemd symlink has been removed. Any references in your
    bootloader (or elsewhere) must be updated to /usr/lib/systemd/systemd.
==> systemd 205 restructures the cgroup hierarchy and changes internal
    protocols. You should reboot at your earliest convenience.
==> The "timestamp" hook for mkinitcpio no longer exists. If you used
    this hook, you must remove it from /etc/mkinitcpio.conf. A "systemd"
    hook has been added which provides this functionality, and more.
chown: invalid group: ‘root:systemd-journal’
/tmp/alpm_7fE7f4/.INSTALL: line 9: sbin/ldconfig: No such file or directory
error: command failed to execute correctly
New optional dependencies for pinentry
    qt4: for qt4 backend
New optional dependencies for groff
    libxaw: for gxditview
( 92/147) installing grub                                                                                          [####################################################################] 100%
Copying /boot/grub/grub.cfg.pacsave to /boot/grub/grub.cfg
Generating grub.cfg.example config file...
This may fail on some machines running a custom kernel.
done.
Optional dependencies for grub
    freetype2: For grub-mkfont usage [installed]
    fuse: For grub-mount usage [installed]
    dosfstools: For grub-mkrescue FAT FS and EFI support
    efibootmgr: For grub-install EFI support
    libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue
    os-prober: To detect other OSes when generating grub.cfg in BIOS systems
    mtools: For grub-mkrescue FAT FS support
New optional dependencies for lvm2
    thin-provisioning-tools: For thin provisioning support.
warning: /etc/mdadm.conf installed as /etc/mdadm.conf.pacnew
warning: /etc/ssh/sshd_config installed as /etc/ssh/sshd_config.pacnew

==> The sshd daemon has been moved to /usr/bin alongside all binaries.
==> Please update this path in your scripts if applicable.
warning: /etc/pacman.d/mirrorlist installed as /etc/pacman.d/mirrorlist.pacnew
warning: /etc/sysctl.conf saved as /etc/sysctl.conf.pacsave
(134/147) upgrading procps-ng                                                                                      [####################################################################] 100%

==> The file /etc/sysctl.conf has been removed from this
==> package, as all its settings are now kernel defaults.

==> If you had customized it, you need to rename it as
==> /etc/sysctl.d/99-sysctl.conf since from version 207 on
==> systemd only applies settings from /etc/sysctl.d/* .
New optional dependencies for smartmontools
    heirloom-mailx: to get mail alerts to work
find: `/bin': No such file or directory
error: No package owns /sbin
error: No package owns /sbin/mpt-status
error: No package owns /sbin/lsiutil
error: No package owns /sbin/storcli
error: No package owns /sbin/MegaCli
error: No package owns /sbin/tw_cli
mv * /usr/bin/
rmdir sbin
(1/1) upgrading filesystem
warning: /etc/group installed as /etc/group.pacnew
warning: /etc/gshadow installed as /etc/gshadow.pacnew

# pacman -S mc python python3 elfutils reflector
# pacman -S mkinitcpio mkinitcpio-busybox mkinitcpio-nfs-utils hwdetect

In pacman.conf habe ich multilib aktiviert, in mkinitcpio.conf mdadm den HOOKS hinzugefügt und "COMPRESSION=lzma.

# pacman -S linux

[root@ns3337690 /]# reboot
Failed to issue method call: Job mode replace-irreversibly is invalid.

Broadcast message from root@ns3337690 on pts/1 (Tue 2014-02-11 23:30:37 CET):

The system is going down for reboot NOW!

Der Reboot hat so aber nicht funktioniert, das System musste per Webinterface rebootet werden.

Nach dem Reboot habe ich verschiedenes versucht(Anpassung /boot/grub/grub.cfg von Hand, Anpassung /etc/default/grub, sogar /boot/grub/grubenv, es wird aber immer mit dem OVH-Kernel gebootet.

Um mehr Informationen über den Bootprozess zu erhalten installiere ich das Paket bootinfoscripts. Dies befindet sich jedoch in AUR, daher installiere ich vorher package-query und yaourt[1].


[2014-02-12 02:33] [PACMAN] Running 'pacman --color auto -U /tmp/yaourt-tmp-peter/PKGDEST.ofV/man-pages-pt_br-1:2004.7.26-1-any.pkg.tar.xz'
[2014-02-12 02:33] [PACMAN] upgraded man-pages-pt_br (2010.1.01-6 -> 1:2004.7.26-1)
[2014-02-12 02:34] [PACMAN] Running 'pacman --color auto -S --asdeps --needed community/asciidoc'
[2014-02-12 02:34] [PACMAN] installed libxslt (1.1.28-3)
[2014-02-12 02:34] [PACMAN] installed docbook-xml (4.5-5)
[2014-02-12 02:34] [PACMAN] installed docbook-xsl (1.78.1-1)
[2014-02-12 02:34] [PACMAN] installed asciidoc (8.6.9-1)
[2014-02-12 02:34] [PACMAN] Running 'pacman --color auto -U /tmp/yaourt-tmp-peter/PKGDEST.Fj5/netcfg-3.2-1-any.pkg.tar.xz'
[2014-02-12 02:34] [PACMAN] upgraded netcfg (3.0-1 -> 3.2-1)
[2014-02-12 02:36] [PACMAN] Running 'pacman --color auto -U /tmp/yaourt-tmp-peter/PKGDEST.Yk0/bootinfoscript-0.61-1-x86_64.pkg.tar.xz'
[2014-02-12 02:36] [PACMAN] installed bootinfoscript (0.61-1)

Bei der Aktualisierung wurden also auch gleich man-pages-pt_br und netcfg erneuert, warum allerdings "man-pages-pt_br (2010.1.01-6 -> 1:2004.7.26-1)" dabei scheinbar aus 2004 kommt, könnte man auch mal klären. Leider habe ich bei Verwendung des bootinfoscripts festgestellt, daß dieses scheinbar nur grub2 bis 1.99 unterstützt, für Debian wheezy kein Problem, aber Arch verwendet grub 1:2.02.beta2-1. :-(