gh2o / Digitalocean Debian To Arch
Licence: mit
Script to convert a Debian installation on DigitalOcean to Arch Linux
Stars: ✭ 783
Programming Languages
shell
77523 projects
Projects that are alternatives of or similar to Digitalocean Debian To Arch
Shadowsocks Tutorial
🐱给小白的Shadowsocks和V2ray翻墙教程
Stars: ✭ 1,273 (+62.58%)
Mutual labels: digitalocean, vps
Procsd
Manage your application processes in production hassle-free like Heroku CLI with Procfile and Systemd
Stars: ✭ 181 (-76.88%)
Mutual labels: digitalocean, vps
vps
A laravel 5 package to easily create and maintain vps on digital ocean
Stars: ✭ 59 (-92.46%)
Mutual labels: digitalocean, vps
LiDeploy
🚀 A DigitalOcean Reseller written with Ruby On Rails
Stars: ✭ 20 (-97.45%)
Mutual labels: digitalocean, vps
offensive-docker-vps
Create a VPS on Google Cloud Platform or Digital Ocean easily with Offensive Docker included to launch assessment to the targets.
Stars: ✭ 66 (-91.57%)
Mutual labels: digitalocean, vps
Do Agent
Collects system metrics from DigitalOcean Droplets
Stars: ✭ 552 (-29.5%)
Mutual labels: digitalocean
Anlinux App
AnLinux allow you to run Linux on Android without root access.
Stars: ✭ 614 (-21.58%)
Mutual labels: arch-linux
Squid Pac
利用国外VPS搭建多协议代理服务,squid PAC代理服务器,25端口翻墙 ....墙已加高,https网站已失效,普通站点仍可代理..建议使用ssr替代
Stars: ✭ 514 (-34.36%)
Mutual labels: vps
Porter
Kubernetes powered PaaS that runs in your own cloud.
Stars: ✭ 498 (-36.4%)
Mutual labels: digitalocean
Dynamic Wallpaper
A simple bash script to set wallpapers according to current time, using cron job scheduler.
Stars: ✭ 762 (-2.68%)
Mutual labels: arch-linux
Customarch
Arch Linux Based Custom ISOs Made With "Archiso"
Stars: ✭ 606 (-22.61%)
Mutual labels: arch-linux
Hacktoberfest 2020
Welcome to Open-source! Simply add your details to contributors | Repo for Hacktoberfest 2020 ✅
Stars: ✭ 621 (-20.69%)
Mutual labels: digitalocean
Dotfiles
🐲 My Arch Linux config [i3-gaps + i3blocks + Zsh + Spacemacs + Rofi + Alacritty + Neofetch]
Stars: ✭ 725 (-7.41%)
Mutual labels: arch-linux
Direwolf Arch Rice
🐺🍚 A guide to replicating my riced Arch Linux set-up.
Stars: ✭ 501 (-36.02%)
Mutual labels: arch-linux
Control
Control manages the lifecycle of clusters on your infrastructure and allows deployment of applications via HELM. Its deployment and configuration workflows will help you to get up and running with Kubernetes faster.
Stars: ✭ 680 (-13.15%)
Mutual labels: digitalocean
DigitalOcean Debian to Arch
DigitalOcean deprecated Arch Linux a while back because it was relatively difficult to support due to the rolling updates. I wrote this script to bring it back! This script downloads a bootstrap Arch Linux image, updates it to the latest version, then overwrites the host operating system with it.
Warning / Disclaimer
This script may cause your VPS to become unbootable. I only recommend running this script on newly created droplets with no important data. ALL DATA ON THE DROPLET WILL BE UNCONDITIONALLY DESTROYED.
Installation
-
Create a new Debian 9.x droplet (either 32-bit or 64-bit is fine).
-
In the droplet, run the following as root:
# wget https://raw.githubusercontent.com/gh2o/digitalocean-debian-to-arch/debian9/install.sh -O install.sh # bash install.sh
-
Follow the instructions when prompted.
-
Sit back and relax! The system will automatically reboot once complete, and you should have a fully updated Arch Linux system in within minutes.
Advanced Configuration
This script supports several flags, all of which are optional.
-
--archlinux_mirror
The Arch Linux mirror from which the bootstrap image and packages should be downloaded. Defaults to http://mirrors.kernel.org/archlinux. -
--extra_packages
Installs any extra packages to the Arch installation (e.g. base-devel). Packages should be space-separated and quoted (e.g.--extra_packages "git wget"
). -
--grub_timeout
Overrides the default GRUB_TIMEOUT value of 5 seconds. -
--kernel_package
The kernel package to install. Defaults to the vanillalinux
package. Other options includelinux-lts
for long term support andlinux-hardened
for a kernel with patches from linux-hardened. -
--mkfs_options
Extra options to pass tomkfs
. Useful for settings bytes per inode on ext4, e.g.--mkfs_options="-i 65536"
. -
--target_architecture
The architecture of the new Arch Linux installation. Defaults to the architecture of the original Debian image as provided byuname -m
. A 64-bit Debian image may convert to eitherx86_64
ori686
. A 32-bit Debian image may only convert toi686
. -
--target_disklabel
The type of partition table to use. Defaults togpt
(GUID partition table as used by EFI). The alternative isdos
(traditional MBR). -
--target_filesystem
The filesystem on which the Arch Linux installation should be installed. Defaults toext4
. The alternative isbtrfs
.
How it Works
- A sparse disk image is created with the same size of the droplet's disk.
- Three partitions are made and formatted.
- DORoot: A "dummy" partition to keep DigitalOcean happy. When snapshots are restored, new passwords are written here.
- BIOSBoot: The virtual machine BIOS cannot boot from GPT partitions directly, so a small partition is placed here for bootloader code.
- ArchRoot: The main root filesystem for Arch Linux.
- The Arch Linux bootstrap image is downloaded and unpacked onto ArchRoot.
-
pacman -Syu
is called inside the image to pull in all the base packages along with OpenSSH and any other packages put in the --extra_packages option. - The root password and SSH host keys are copied into the image.
- A special script called
digitalocean-synchronize
is installed into the image. This script is run at every startup to autodetect the network settings from the metadata service. It also detects if the droplet was just restored, and if so, it resets the root password and regenerates the host SSH keys. - The image is now ready. The script then generates a "blockplan". It is essentially a list of instructions to image the virtual disk with the sparse disk image without requiring any extra space.
- A minimal root filesystem is generated on RAM so that the disk can be unmounted.
- The script calls
systemctl switch-root
to enter the minimal root filesystem. - The disk is unmounted.
- The blockplan is executed.
- The bootloader (Grub) is installed.
- Reboot!
- Done!
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].