Apline是个适合小内存折腾的好系统
官网:
https://www.alpinelinux.org/
官网教程:
https://wiki.alpinelinux.org/wiki/Tutorials_and_Howtos
1 Alpine中Error required by: world
构建alpine的docker镜像时总是出现问题: 下载ERROR失败,required by: world;这里大概率是源有问题,修改一下即可
Alpine官方相关资源地址
查询alpine中apk包的依赖关系:https://pkgs.alpinelinux.org/
其中分多个大版本,edge为最新发布的编译版本,v3.12等为依次的稳定版本。;每个大版本号中,有main,community,testing等测试分支;
查看各个镜像源地址:https://mirrors.alpinelinux.org/
科大源帮助文档 http://mirrors.ustc.edu.cn/help/alpine.html
2 安装脚本
脚本1.
wget --no-check-certificate https://github.com/ylqjgm/Alpine/raw/master/alpine.sh && chmod +x alpine.sh && ./alpine.sh
执行脚本后会要求输入当前VPS环境,目前仅支持lxc及openvz两种,其余未测试,不知是否可行。
设定VPS环境后选择网卡名称,脚本设定网络为DHCP自动获取,若需配置静态IP请在安装完成后自行设定。
脚本2
脚本会安装最新的Alpine Linux,并会清除服务器数据,请先备份好数据
脚本在CentOS、Debian和Ubuntu大多数版本上测试通过,且仅支持OpenVZ。
wget https://www.moerats.com/usr/shell/alpine.sh && bash alpine.sh
以下摘抄来自知乎
4 Alpine配置ssh远程登录
注意:安装完成之后是不允许远程登录的,需要我们修改配置文件,修改完配置文件之后重启服务
修改ssh的配置文件 vi /etc/ssh/sshd_config
找到 #PermitRootLogin prohibit-password 取消注释
修改为 PermitRootLogin yes
# 命令行一键修改
sed -ri 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
重启ssh
rc-service sshd restart
5.1 查看IP
ip a
ip addr
6. Alpine linux包管理
配置源的方法:
localhost:cd /etc/apk
localhost:/etc/apk# vim repositories //阿里云源
http://mirrors.aliyun.com/alpine/v3.15/main
http://mirrors.aliyun.com/alpine/v3.15/community
6.1 apk update
apk update # 更新最新镜像源列表
6.2 apk search
apk search # 查找所有可用软件包
apk search -v # 查找所用可用软件包及其描述内容
apk search -v ‘包名’ # 通过软件包名称查找软件包
apk search -v -d ‘docker’ # 通过描述文件查找特定的软件包
6.3 apk add
apk add openssh # 安装一个软件
apk add openssh vim bash nginx # 安装多个软件
apk add --no-cache mysql-client # 不使用本地镜像源缓存,相当于先执行update,再执行add
6.4 apk info
apk info # 列出所有已安装的软件包
apk info -a zlib # 显示完整的软件包信息
apk info --who-owns /usr/sbin/nginx # 显示指定文件属于的包
6.5 apk upgrade
apk upgrade # 升级所有软件
apk upgrade openssh # 升级指定软件
apk upgrade openssh vim bash nginx # 升级多个软件
apk add --upgrade busybox # 指定升级部分软件包
6.6 apk del
apk del openssh # 删除一个软件
apk del nginx mysql # 删除多个软件
7. Alpine Linux服务管理
rc-update # 主要用于不同运行级增加或者删除服务。
rc-status # 主要用于运行级的状态管理。
rc-service # 主用于管理服务的状态
openrc # 主要用于管理不同的运行级。
# 重启网络服务: rc-service networking restart
# 列出所有服务: rc-status -a
8. Alpine常用命令
# 安装vim命令 apk add vim
(1/3) Installing xxd (8.2.3650-r0)
(2/3) Installing lua5.3-libs (5.3.6-r1)
(3/3) Installing vim (8.2.3650-r0)
Executing busybox-1.34.1-r3.trigger
OK: 885 MiB in 156 packages
apk add --no-cache openssh # 不使用本地镜像源缓存,相当于先执行update,再执行add
localhost:~# apk del openssh # 卸载软件包
WARNING: Ignoring https://mirrors.aliyun.com/alpine/: No such file or directory
(1/8) Purging openssh (8.8_p1-r1)
(2/8) Purging openssh-sftp-server (8.8_p1-r1)
(3/8) Purging openssh-server (8.8_p1-r1)
(4/8) Purging openssh-server-common (8.8_p1-r1)
(5/8) Purging openssh-client-default (8.8_p1-r1)
(6/8) Purging openssh-client-common (8.8_p1-r1)
(7/8) Purging openssh-keygen (8.8_p1-r1)
(8/8) Purging libedit (20210910.3.1-r0)
Executing busybox-1.34.1-r3.trigger
OK: 881 MiB in 150 packages
localhost:~# apk search -v 'gcc' # 通过软件包名称查找软件包
WARNING: Ignoring https://mirrors.aliyun.com/alpine/: No such file or directory
gcc-zsh-completion-5.6.2-r0 - Zsh completions for gcc
gcc-8.3.0-r0 - The GNU Compiler Collection
gcc-objc-8.3.0-r0 - GNU Objective-C
gcc-gnat-8.3.0-r0 - Ada support for GCC
libgc++-7.6.4-r2 - A garbage collector for C and C++
gcc-doc-8.3.0-r0 - The GNU Compiler Collection (documentation)
libgcc-8.3.0-r0 - GNU C compiler runtime libraries
localhost:~# apk info gcc # 列出安装已安装软件包的信息
WARNING: Ignoring https://mirrors.aliyun.com/alpine/: No such file or directory
gcc-8.3.0-r0 description:
The GNU Compiler Collection
gcc-8.3.0-r0 webpage:
http://gcc.gnu.org
gcc-8.3.0-r0 installed size:
72 MiB
localhost:~# apk upgrade gcc # 升级指定的软件
fetch https://mirrors.aliyun.com/alpine/x86_64/APKINDEX.tar.gz
ERROR: https://mirrors.aliyun.com/alpine/: No such file or directory
WARNING: Ignoring https://mirrors.aliyun.com/alpine/: No such file or directory
OK: 881 MiB in 150 packages
localhost:~# rc-service apache2 restart # 重启apache服务
* Starting apache2 ...
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ::1\. Set the 'ServerName' directive globally to suppress this message
localhost:~# rc-update add apache2 boot # 将apache服务设置开机自启
* service apache2 added to runlevel boot
# 创建用户
localhost:~# addgroup -g 10001 -S admin # 先指定一个GID组
# 指定一个UID的用户,指定shell,让其属于指定的用户组
localhost:~# adduser admin -u 20001 -D -S -s /bin/bash -G admin
localhost:~# deluser admin # 删除用户
9. Alpine常用软件安装
# 系统软件
apk add --no-cache vim openssh util-linux bash bash-doc bash-completion curl net-tools
10. Apline网卡配置
10.1 打开配置文件
vi /etc/network/interfaces
10.2 配置DHCP
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
10.3 配置静态IP
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.1.3.200
netmask 255.255.255.0
gateway 10.1.3.3
dns1 114.114.114.114
dns2 8.8.8.8
10.4 双网卡配置默认路由
假如有多个网卡,在路由表中会出现多个名为default的默认路由,会导致我们期望的网络访问失败。可以通过命令查看所有路由配置:
ip route show
需要外网访问的网卡我们常设置为默认路由。这里先删除所有默认路由:
ip route del default
再添加默认路由,比如默认路由网关是10.0.0.2
ip route add default via 10.0.0.2
评论 (0)