• Stars
    star
    274
  • Rank 150,274 (Top 3 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The fastest way to convert a VPS to Arch Linux! (forked from gitlab:drizzt/vps2arch)

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 https://felixc.at/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 `gitlab.com' is not trusted.
ERROR: The certificate of `gitlab.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.

More Repositories

1

dnsmasq-china-list

Chinese-specific configuration to improve your favorite DNS server. Best partner for chnroutes.
Ruby
5,533
star
2

BaiduPCS-Go

Re-upload of iikira/BaiduPCS-Go
Go
911
star
3

fcitx5-pinyin-zhwiki

Fcitx 5 Pinyin Dictionary from zh.wikipedia.org
Python
561
star
4

ydcv

YouDao Console Version - Simple wrapper for Youdao online translate (Chinese <-> English) service API, as an alternative to the StarDict Console Version(sdcv).
Python
503
star
5

archriscv-packages

Modified Arch Linux packages for archriscv
Shell
203
star
6

aur3-mirror

Git archive of the Arch User Repository 3. (Cloned from pkgbuild.com/git/aur-mirror.git)
Shell
61
star
7

chnroutes-alike

Personal collection of IP ranges not in China but work good enough
Python
26
star
8

archlinux-futils

Felix's Arch Linux utilities
Python
25
star
9

telegramirc

Telegram as your IRC client
Python
23
star
10

fcitx-tsundere

Fcitx Tsundere Addon
C
17
star
11

anycast-routes

Experimental collection of anycast routes
16
star
12

bottle-github-webhook

A very simple github post-receive web hook handler
Python
8
star
13

pmgmusic

PMG, a VOS clone for linux.
C
8
star
14

dotfiles

Yet another dotfiles repo
6
star
15

felixonmars

4
star
16

suds-ng

A lightweight SOAP python client for consuming Web Services forked from suds (https://fedorahosted.org/suds/).
Python
4
star
17

github-show-contributions-language

Userscript to show repository language next to your contribution history on GitHub
JavaScript
3
star
18

6rdctl

6rd Control Tool
Python
3
star
19

LogChecker

LogChecker macro for Moinmoin
Python
3
star
20

pacman-dkms

Pacman hook to trigger DKMS installation after kernel headers installed
2
star
21

froute

froute = Felix route, a simple route config tool for myself.
Shell
2
star
22

nss-no-cnnic

Patch to remove CNNIC and other suspect CA in China by default from nss in system-wide
2
star
23

volume_key

Unofficial mirror of https://pagure.io/volume_key.git
C
2
star
24

nvchecker-contrib

Additional source for nvchecker
2
star
25

openvpn-reloader

Reload your openvpn process when packet loss suddenly arise.
Python
2
star
26

driver-center

Collect anonymous hardware info and give correct drivers to you
Python
1
star
27

panda-topbar

System topbar.
C++
1
star
28

autoswap

(Deprecated) Systemd unit to enable all swap area in current machine
1
star
29

tagbot

Tagbot for Twitter - Instant Tagging Bot Using Streaming API
Python
1
star
30

debootstrap

Unofficial mirror of https://anonscm.debian.org/git/d-i/debootstrap.git
Shell
1
star
31

select-to-speech

A simple select-to-speech tool for Linux
Python
1
star
32

process

process Action for Moinmoin
Python
1
star