sh [Linode的Alpine Bootstrapping脚本]通过lish / rescue console安装高山linode的脚本 - 来自https://github.com/jco
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh [Linode的Alpine Bootstrapping脚本]通过lish / rescue console安装高山linode的脚本 - 来自https://github.com/jco相关的知识,希望对你有一定的参考价值。
#!/bin/sh
HOST=${HOST:-alpine}
INTERFACES="auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
hostname $HOST
"
ALPINE_VER=${ALPINE_VER:-"latest-stable"}
APK_TOOLS_VER=${APK_TOOLS_VER:-"2.9.1-r0"}
ARCH=$(uname -m)
MIRROR="https://nl.alpinelinux.org/alpine"
BOOT_DEV="/dev/sda"
ROOT_DEV="/dev/sdb"
DATA_DEV="/dev/sdc"
SWAP_DEV="/dev/sdd"
mkdir /alpine
mount $ROOT_DEV /alpine
cd /alpine
mkdir boot
mount $BOOT_DEV /alpine/boot
curl -s $MIRROR/$ALPINE_VER/main/$ARCH/apk-tools-static-${APK_TOOLS_VER}.apk | tar xz
./sbin/apk.static --repository $MIRROR/$ALPINE_VER/main/ --update-cache --allow-untrusted --root /alpine --initdb add alpine-base alpine-mirrors
cat <<EOF >> /alpine/etc/fstab
$ROOT_DEV / ext4 defaults,noatime 0 0
$BOOT_DEV /boot ext4 defaults,noatime 0 1
$DATA_DEV /data ext4 defaults,noatime 0 0
$SWAP_DEV swap swap defaults 0 0
EOF
cat <<EOF > /alpine/etc/inittab
# /etc/inittab
::sysinit:/sbin/openrc sysinit
::sysinit:/sbin/openrc boot
::wait:/sbin/openrc default
# Put a getty on the serial port
ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
# Stuff to do for the 3-finger salute
::ctrlaltdel:/sbin/reboot
# Stuff to do before rebooting
::shutdown:/sbin/openrc shutdown
EOF
mkdir /alpine/boot/grub
cat <<EOF > /alpine/boot/grub/grub.cfg
set root=(hd0)
set default="Alpine Linux"
set timeout=0
menuentry "Alpine Linux" {
linux /vmlinuz-hardened root=/dev/sdb modules=sd-mod,usb-storage,ext4 console=ttyS0 quiet
initrd /initramfs-hardened
}
EOF
mkdir /alpine/etc/mkinitfs
cat <<EOF > /alpine/etc/mkinitfs/mkinitfs.conf
features="ata ide scsi virtio base ext4"
EOF
cp /etc/resolv.conf /alpine/etc
echo ttyS0 >> /alpine/etc/securetty
mount --bind /proc /alpine/proc
mount --bind /dev /alpine/dev
chroot /alpine /bin/sh<<CHROOT
setup-apkrepos -f
apk update
setup-hostname -n $HOST
printf "$INTERFACES" | setup-interfaces -i
rc-update add networking boot
rc-update add urandom boot
rc-update add crond
apk add linux-grsec
CHROOT
以上是关于sh [Linode的Alpine Bootstrapping脚本]通过lish / rescue console安装高山linode的脚本 - 来自https://github.com/jco的主要内容,如果未能解决你的问题,请参考以下文章
sh Alpine的包裹经理
Docker Alpine /bin/sh apk 未找到
alpine安装telnet等工具
docker alpine中遇到 sh: ./go: not found
sh 在Alpine Linux 3.4上的PHP 7.1.7中打破了strftime()%P修饰符
如何在 Alpine Docker 容器中运行 Bash 脚本?