The fastest way to convert a VPS to Arch Linux!
Shell
Latest commit e378928 Feb 25, 2017 @drizzt Don't rely on lsblk line order (#27)
In util-linux-2.29 the lines of `lsblk -npsro NAME` are written in
different order, so use TYPE in order to be forward-compatible

README.md

VPS2Arch

The fastest way to convert a VPS to Arch Linux!

Author

Timothy Redaelli

Description

This script is used to convert a VPS, running another linux distro, to Arch Linux.
It should be only used if your VPS provider doesn't provide you an Arch Linux image.

Disclaimer

I'm not responsible for any damage in your system and/or any violation of the agreement between you and your vps provider.
Use at your own risk!

How To

Download the script on your VPS and execute it with root privileges

WARNING The script will delete any data in your VPS!

wget http://git.io/vps2arch
chmod +x vps2arch
./vps2arch

Some Debian VPS images don't have the CA certificates installed, so wget will give you the following errors:

ERROR: The certificate of `raw.githubusercontent.com' is not trusted.
ERROR: The certificate of `raw.githubusercontent.com' hasn't got a known issuer.

To fix them just execute apt-get install ca-certificates and then re-execute the previous commands.

How does it work?

It's Black Magic. Just kiddin' 😏, the script itself is very simple.

In a nutshell, it will download the Arch Linux Bootstrap Image and (see the wiki), extract the image to / and configure the Bootstrap chroot.

Now, about the critical part:

How can you wipe the system without breaking everything?

It's simple: using ld.so from the Bootstrap chroot to launch the chroot tool.

Since it will erase all the system directories except from the Bootstrap chroot, /dev, /proc, /sys and the like, the only way to launch a command inside the Bootstrap chroot is to using ld.so from the Bootstrap chroot itself.

At this point Arch Linux has been installed, but not configured. The script will provide a SSH-able system automagically configuring grub (or syslinux), network and restoring the root password from the original system (or by using vps2arch as password if no root password was set).

Once done doing its job, the script will ask you to manually reboot your VPS and voilà, PROFIT!

Does it really work?

Yes, it does!

On the Tested VPS Providers wiki page you can find a list of Tested VPS Providers.

Theoretically it should also work on real computers (running linux), but I think it's not worth it, because you can install it in the canonical way.

Contributing

If you have any useful modification, please use Pull requests.
If you have successfully used this script on a different distro - VPS combination, please contact me so that I can update the above list.

If you are not a developer, but you still want to contribute, you can donate me an account on your VPS provider and I'll do my best to support it.
Or you can just donate me some bucks I'll spend to buy a VPS on your provider in order to support it.

Caveats

IPv6 currently is not supported. If you need to use it, please configure it manually.