This tutorial is aimed at the more advanced users of Linux who wish to use/install Arch Linux on their VPS. It is basically a compilation of solutions to the different problems I have encountered thus far. This may be updated as I find more issues that need to be resolved.
Several assumptions are made as to the Linux background of the VPS user:
- You know basic shell and filesystem commands (i.e. filesystem traversal and file manipulation)
- You know how to use a text editor
- You understand all of the words in this post so far
- You know how to use pacman, Arch's package manager
- You are using Arch Linux 32-bit on your VPS
Background One of the reasons why this exists is due to the fact that Arch cannot use the most up to date kernel available in the repository, and in fact relies on the kernel running on the virtualization system set up by OpenVZ, currently at 2.6.18. This causes a host of problems, primarily with glibc and udev, which can result in an unusable system. Thus, workarounds must be sought.
What is Arch Linux? Arch Linux is a distribution whose core philosophy centers around simplicity, minimalism, and code elegance. It is not aimed at the beginner to Linux, and is not a derivative of Debian/Ubuntu or Red Hat/Fedora. Arch's packages tend to be bleeding-edge, i.e. providing binary versions of the latest versions of applications from the Linux community. Read more at http://www.archlinux.org/about/.
Issue 1: FATAL: kernel too old This problem stems from trying to upgrade your system to bleeding edge. The latest version of glibc in most repositories will break your system as soon as it is installed, causing these messages to appear whenever you try to run a command. The solution is to use a version of glibc that has been specially compiled to work on OpenVZs kernel. Thus, to preserve your sanity and prevent you from repeatedly banging your head on the desk, the following steps must be done before any further pacman actions are carried out:
- Add the following in /etc/pacman.conf above [core]
...snip...[glibc-vps]Server= http://dev.archlinux.org/~ibiru/openvz/glibc-vps/i686[core]# Add your preferred servers here, they will be used firstInclude=/etc/pacman.d/mirrorlist [extra]# Add your preferred servers here, they will be used firstInclude=/etc/pacman.d/mirrorlist [community]# Add your preferred servers here, they will be used firstInclude=/etc/pacman.d/mirrorlist ...snip...Edit/etc/pacman.d/mirrorlist as necessaryRun 'pacman -Syu'
Issue 2: PTY allocation request failed on channel 0 This problem stems after performing a system upgrade on the VPS (or upgrading udev), rebooting the VPS, then trying to log in via SSH (or the VPS console). This is a result of updating udev, which for some reason doesn't allow for the necessary virtual terminals to be created. To fix, the following must be done before rebooting the system:
- Add the following to /etc/rc.local
rm -rf /dev/ptmx mknod /dev/ptmx c 52 chmod 666/dev/ptmx umount /dev/pts rm -rf /dev/pts mkdir /dev/pts mount /dev/pts