32M小内存仅IPv6地址的VPS换装Alpine Linux系统

域名服务器 把哥 168浏览 0评论

Sentris送的免费VPS,一直吃灰。1核,32M内存,1G硬盘,只有IPv6地址。配置太低,玩不转,本想用WARP给其联上虚拟IP4地址,可惜这点内存装不下WARP,所以即使装上v2ray,也只能访问IPv6。内存不足是硬伤。

既然只有32M内存,那么只能从系统瘦身入手,官方只带的系统最低只有Debian 8,开机启动后剩余不到2M内存,什么也做不了。

还不如换装Alpine Linux,Alpine Linux是轻量级Linux发行版操作系统,占用资源少,初始状态仅占用几M内存和几十M硬盘,稳定,适合小型服务器和设备使用。

网上找到的一个OpenVZ平台的Alpine Linux一键安装脚本:

wget https://cdn.jsdelivr.net/gh/cllccc/pic/2021/09/03/alpine.sh && bash alpine.sh

来自:https://gist.github.com/clicoc/046ded32509773266ef9325010ea8c2d

脚本原本只支持IPv4地址,不支持IPv6,因为我的VPS只有IPv6没有IPv4地址,所以要更改下脚本里的interfaces配置。

找到我们下载原来系统的interfaces文件替换掉Alpine Linux一键脚本的Alpine Linux配置。

我VPS原本是Debian,所以我备份了Debian系统VPS的interfaces,如下:

# This configuration file is auto-generated.
# WARNING: Do not edit this file, otherwise your changes will be lost.
# Please edit template /etc/network/interfaces.template instead.
auto lo
iface lo inet loopback
# Auto generated venet0 interfaces
auto venet0
iface venet0 inet static
	address 127.0.0.1
	netmask 255.255.255.255
	broadcast 0.0.0.0
	up route add default dev venet0
iface venet0 inet6 static
	address ::2
	netmask 128
	up ip -6 r a default dev venet0
	up ip addr add 2602:ff95:0:1::477:25e5/64 dev venet0

然后,下载上文的alpine.sh文件,然后修改里面的<<EOF到EOF之间

cat > /x/etc/network/interfaces << EOF
auto lo
iface lo inet loopback
 
auto $dev
iface $dev inet static
address $ip
netmask 255.255.255.255
up ip route add default dev $dev
 
hostname $hostname
EOF

改成如下,也就是用原Debian系统的interfaces内容替换掉一键脚本<<EOF到EOF之间的内容。

cat > /x/etc/network/interfaces << EOF
# This configuration file is auto-generated.
# WARNING: Do not edit this file, otherwise your changes will be lost.
# Please edit template /etc/network/interfaces.template instead.
auto lo
iface lo inet loopback
# Auto generated venet0 interfaces
auto venet0
iface venet0 inet static
	address 127.0.0.1
	netmask 255.255.255.255
	broadcast 0.0.0.0
	up route add default dev venet0
iface venet0 inet6 static
	address ::2
	netmask 128
	up ip -6 r a default dev venet0
	up ip addr add 2602:ff95:0:1::477:25e5/64 dev venet0

hostname $hostname
EOF

保存修改后的alpine.sh文件上传到VPS,然后运行bash alpine.sh

我测试的机器是sentris VPS,修改脚本的例子如下,供参考,您可按需修改IP地址在使用,不可直接使用。

https://cdn.jsdelivr.net/gh/cllccc/pic/2021/09/04/sentris-alpine.sh && bash sentris-alpine.sh

如果在安装过程中有错误提示,忽略即可,大多都是删除文件的是否提示文件不存在而已。安装完成会自动退出终端,我们使用原来的默认密码登陆即可。

如果服务器不停的修改/etc/inittab并添加一堆重新生成的getty,可运行命令:

apk add e2fsprogs-extra
chattr +i /etc/inittab

几分钟后即安装完成,安装后内存占用:

Alpine Linux

内存才占用4M,这样就有足够了的内存跑其他应用了,比如V2ray (源码见https://github.com/clicoc/alpinelinux-install-v2ray)。可是VPS只有IPv6,不能访问IPv4地址,好像也安装不了WARP,只有靠NAT64来解析IPv4域名。

附录:
Alpine常用命令:

apk update //更新最新镜像源列表
apk search //查找所以可用软件包
apk search -v //查找所以可用软件包及其描述内容
apk search -v 'acf*' //通过软件包名称查找软件包
apk search -v -d 'docker' //通过描述文件查找特定的软件包
apk add openssh //安装一个软件
apk add openssh openntp vim //安装多个软件
apk add --no-cache mysql-client //不使用本地镜像源缓存,相当于先执行update,再执行add
apk info //列出所有已安装的软件包
apk info -a zlib //显示完整的软件包信息
apk info --who-owns /sbin/lbu //显示指定文件属于的包
apk upgrade //升级所有软件
apk upgrade openssh //升级指定软件
apk upgrade openssh openntp vim //升级多个软件
apk add --upgrade busybox //指定升级部分软件包
apk del openssh //删除一个软件

#Alpine服务管理,alpine没有使用fedora的systemctl来进行服务管理,使用的是RC系列命令:
rc-update     //主要用于不同运行级增加或者删除服务
rc-status       //主要用于运行级的状态管理
rc-service     //主用于管理服务的状态
rc-status -a  //列出系统所有服务

原创不易,转载请附上本文链接:https://bawodu.com/ipv6-vps-alpine-linux/

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址