目录
1.Alpine Linux介绍
Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时,Alpine 还提供了自己的包管理工具 apk,可以通过 https://pkgs.alpinelinux.org/packages 网站上查询包信息,也可以直接通过 apk 命令直接查询和安装各种软件。
Alpine 由非商业组织维护的,支持广泛场景的 Linux发行版,它特别为资深/重度Linux用户而优化,关注安全,性能和资源效能。Alpine 镜像可以适用于更多常用场景,并且是一个优秀的可以适用于生产的基础系统/环境。
2.Alpine Linux安装与网络配置
2.1 Alpine Linux安装
2.1.1 下载Alpine Linux的ISO镜像
进入Alpine官网,下载Alpine Linux的ISO镜像,Alpine Linux提供了专门的虚拟机版本。
2.1.2 新建虚拟机
新建一台虚拟机,类型选Linux,版本选Linux 2.6 / 3.x / 4.x (64-bit),内存一般1G够用,虚拟磁盘8G够用。
2.1.3 加载ISO镜像
在虚拟机的设置窗口中,加载刚才下载的ISO镜像。
2.1.4 安装
设置好Alpine Linux虚拟机基本参数,启动虚拟机安装。
1: 启动虚拟机,首次启动时使用root这个用户名登录,不需要密码
2: 登录成功后,执行setup-alpine进入安装向导,向导会询问你一系列的问题,然后等待你的输入。如果途中操作有失误,可以按Ctrl + c 退出向导,再重新开始向导。
3.下面是每个问题的具体含义及操作步骤。
Select keyboard layout [none]:
选择键盘布局,系统默认给你选了none,直接回车Enter system hostname (short form, e.g. 'foo') [localhost]
选择虚拟机host名称,系统给你选了localhost,没有特殊需要的话直接回车Which one do you want to initialize? (or '?' or 'done') [eth0]
选择要不要设置网卡,系统给你选了需要初始化eth0那张网卡,直接回车Ip address for eth0? (or 'dhcp', 'none', '?') [dhcp]
输入eth0网卡的IP地址,或者直接通过dhcp协议自动获取IP,系统给你选了dhcp,直接回车Do you want to do any manual network configuration? [no]
还需要手工修改网卡的其他配置吗?系统给你选了no,直接回车Changeing password for root
New password:
安装完成后,就不能像现在这样不用密码就登录了,系统提示你输入root帐号的密码。
Retype Password:
确认一遍密码Which timezone are you in? ('?' for list) [UTC]
输入时区,国内可以输入"Asia/Shanghai"HTTP/FTP pxory URL?
需要使用HTTP代理连接网络吗?一般不需要,可以直接回车Enter mirror number (1-21) or URL to add (or r/f/e/done) [f]
Alpine Linux自带的包管理器需要联网下载软件包
此时屏幕上会打出多个镜像站的URL,但都是国外的,这里推荐使用国内镜像:
这时候按下e,编辑镜像配置文件,把国内的镜像地址填进去:
-中科大
-阿里云
https://mirrors.ustc.edu.cn/alpine/latest-stable/community/
https://mirrors.ustc.edu.cn/alpine/latest-stable/main/
https://mirrors.aliyun.com/alpine/latest-stable/community/
https://mirrors.aliyun.com/alpine/latest-stable/main/
退出编辑后向导会检查地址是否可用,没问题的话会继续下面的步骤。
Which SSH server? ('openssh', 'dropbear' or 'none') [openssh]
SSH服务器(用于登录Linux)有两种可供选择,默认选择openssh,回车Which NTP client to run? ('busybox', 'openntpd', 'chorony' or 'none') [chrony]
选择NTP客户端(用来调整系统时钟)的类型,保持默认的chrony即可,回车Available disks are:
sda (8.6 GB ATA VBOX HARDDISK )
Which disk(s) would you like to use? (or '?' for help or 'none') [none]
这一步比较关键,系统发现了有块8.6GB大小,名称叫sda的硬盘
问你需不需要使用硬盘,因为Alpine Linux可以运行在内存里,这里的默认选项是不使用硬盘
所以要手动键入sda,后面的步骤才会将系统安装在硬盘上The following disk is selected:
sda (8.6 GB ATA VBOX HARDDISK )
How would you like to use it? ('sys', 'data', 'lvm' or '?' for help) [?]
以何种方式安装系统,这里需要键入"sys",表示把整个系统安装在硬盘上。
其他选项并不适用于虚拟机WARNING: The following disk(s) will be erased:
sda (8.6 GB ATA VBOX HARDDISK )
WARNING: Erase the above disk(s) and continue? [y/N]
向导让你确认选择的sda磁盘上的数据会全部丢失
虚拟机磁盘,初始肯定是没数据的,键入"y"确认
随着屏幕滚动,系统会安装一阵子,等出现这行字时,就算安装完成了。
Instalation is complete. Please reboot
安装完成,请重启(先别着急)
应该遗漏了一个重要的点:安装完成、reboot前,要在虚拟机设置里删掉iso 挂载的光盘,否则reboot 后还是从光盘启动,引导的还是安装之前的系统 (因为alpine 可以从光盘 iso 文件启动),感觉就像reboot 后刚才装的都丢失了。
2.2 Alpine Linux网络配置
NAT模式的优点是可以连接外网,缺点是主机ping不通,ssh连不上;
Host Only模式的优点是主机和虚拟机可以互相ping通,SSH可以连接,但是不能连接外网,Github和软件在线安装就是一个很大的问题了。
综上,我就在一个虚拟机上配置了NAT模式和Host Only模式,这样SSH能连上,外网也可以访问了。(当然你也可以直接桥接模式)。
NAT、Host Only和桥接模式的异同参考文章:VirtualBox Ubuntu16虚拟机网络环境NAT/Host Only模式
2.2.1 Alpine Linux连接互联网
VirtualBox上网卡一的配置:
2.2.2 Alpine Linux使用SSH客户端登录
VirtualBox上网卡二的配置:
准备ssh登录
修改 /etc/ssh/sshd_config
增加:
PermitRootLogin yes
GatewayPorts yes
AllowTcpForwarding yes
PermitEmptyPasswords yes
service sshd restart
映射虚拟机22端口
2.2.3 Alpine Linux IP配置
编辑interfaces vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet dhcp
hostname localhost
重启网络服务
service networking restart
reboot Alpine Linux,可以测试下SSH方式连接客户端。
至此,Alpine Linux的安装及网络配置成功。