Alpine Linux 系统安装教程
Alpine Linux 是一个超轻量级的发行版,这个轻量不仅体现在系统体积上,这系统的安装过程也是没有图形界面的,和常见的各种发行版都不同。虽然一般来说接触到的这个系统都是现成安装好的,比如 docker 容器或者 vps 里直接灌进去的现成系统,但是有部份用户需要单独安装这个系统,下面对安装过程做一个说明。
测试安装是在Esxi虚拟机里,Alpine 的安装是先把系统载入内存中,然后需要手动输入命令才开始安装过程。
加载镜像后,首先会看到此提示,输入用户名 root 直接回车登录:
然后按照提示输入 setup-alpine 开始安装:
键盘布局输入两次 cn 再回车确认:
接着就是选择网络配置,绑定域名和设置 DNS 之类,一般情况下一律直接回车即可,然后设定 root 用户密码:
时区先按?调出选项,国内当然就是输入 PRC 了,注意时区要区分大小写,然后代理和 NTP 都默认设置即可:
然后需要稍等一会,会自动检测软件源,按照提示设置,r 是代表随机指定一个源,f 是自动检测速度最快的源,e 是编辑系统对应文件,可以添加指定的源,这里输入 38,选个上海交大的源(建议按F让自动选择最快的源):
然后选择硬盘,我这里就一块硬盘,所以直接输入名称 sda,当做系统盘,后面输入 sys,按照提示确定格式化即可:
最后看到如下界面就是安装完毕了,输入 reboot 重启即可进入系统:
注意默认装好的 Alpine 不允许 SSH 远程连接,十分不方便,开启远程 SSH 连接的话使用以下指令:
vi /etc/ssh/sshd_config
编辑器的用法和其他 linux 一样,按 i 进入编辑模式,esc 退出,:wq 保存退出等。
把配置文件里 #PermitRootLogin prohibit-password 这一行修改为:PermitRootLogin yes ,并注意取消注释,然后重启系统即可。
补充:alpine使用说明
一,配置本机hostname
#修改主机名为jenreyAlpine
echo 'jenreyAlpine' > /etc/hostname
#立即生效
hostname -F /etc/hostname
二,设置root密码
#设置root用户密码,会让输入两次密码,回车确认
passwd root
三,安装网卡并设置静态ip
#新建网卡配置文件
vi /etc/network/interfaces
#文件内容为(注意:是英文字母lo):
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
#重启网络服务
service networking restart
#配置DNS
vi /etc/resolv.conf
#文件内容为
nameserver 114.114.114.114
nameserver 114.114.115.115
四,开启SSH
#安装openssh-server服务器
apk add openssh-server
#修改配置文件
vi /etc/ssh/sshd_config
#如果要想使用root用户远程管理,需要修改#PermitRootLogin prohibit-password参数为:
PermitRootLogin yes
#将ssh服务配置为开机自动启动
rc-update add sshd
#立刻生效
/etc/init.d/sshd restart
五,更新源
#使用 latest-stable 指向最新的稳定版本
vi /etc/apk/repositories
#写入
https://mirrors.ustc.edu.cn/alpine/latest-stable/main
https://mirrors.ustc.edu.cn/alpine/latest-stable/community
#更新最新镜像源列表
apk update
六,apk相关命令总结
#更新最新镜像源列表
apk update
#查找所以可用软件包
apk search
#查找所以可用软件包及其描述内容
apk search -v
#通过软件包名称查找软件包
apk search -v 'acf*'
#通过描述文件查找特定的软件包
apk search -v -d 'docker'
#安装一个软件
apk add openssh
#安装多个软件
apk add openssh openntp vim
#不使用本地镜像源缓存,相当于先执行update,再执行add
apk add --no-cache mysql-client
#列出所有已安装的软件包
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
#更新系统
apk upgrade
七,Alpine Linux服务管理
alpine没有使用fedora的systemctl来进行服务管理,使用的是RC系列命令
#查看运行的服务
rc-status
#列出所有服务
rc-status -a
#查看状态的帮助
rc-status --help
#查看服务管理的帮助
rc-service --help
#添加服务
rc-update add Service名
#如添加SSHD服务:
rc-update add sshd
#移除服务
rc-update del Service名
#启用/停止/重启服务
rc-service Service名 start/stop/restart
#列出服务和状态
rc-status -s
#列出所有可用的服务名列表
rc-service -l
八,设置时区
#查看时间及时区
date -R
#安装tzdata
apk add tzdata
#拷贝时区文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#指定时区
echo "Asia/Shanghai" > /etc/timezone
#移除时区文件(指定完时区就可以删除了)
apk del tzdata
九,安装ifconfig命令
apk add net-tools
十,安装vim命令
apk add vim
十一,安装telnet
apt-get install telnet
十二,安装redis
#安装redis
apk add --no-cache redis
#添加redis服务
rc-update add redis default
#启动redis服务
rc-service redis start
十三,安装mysql
安装
# alpine 中MySQL 用的就是MariaDB
apk add mysql mysql-client
# 或
apk add mariadb mariadb-client
配置
# 创建运行mysqld 后台进程必须的目录并赋给mysql 组和mysql 用户
mkdir -p /run/mysqld
chown -R mysql:mysql /run/mysqld
# 加载数据库文件
chown -R mysql:mysql /var/lib/mysql
mysql_install_db --user=mysql --ldata=/var/lib/mysql
检验
# 启动mysqld,注意加个& 后台运行,否则只能Ctrl+p,Ctrl+q 退出再docker exec 进来了
/usr/bin/mysqld_safe --datadir='/var/lib/mysql' &
# 设置root 密码
mysqladmin -u root password "root"
客户端检验
# 客户端登录,注意-p 后面直接跟密码不能有空格
mysql -u root -p"root"
使用内置的mysql数据库,测试SQL语句
use mysql
select count(*) from user;
exit
或者将测试内容写在一起
# 创建测试文件
cd /tmp
cat > test.sql << EOF
use mysql
select count(*) from user;
exit
EOF
# 使用管道符传给mysql 客户端执行
cat test.sql | mysql -u root -proot
为了方便脚本运行,例如定时任务自动备份,我们也可以配置~/.my.cnf
cat > ~/.my.cnf << EOF
[client]
host=localhost
port=3306
user='root'
password='root'
[mysql]
database='mysql'
EOF
以后,使用mysql,mysqldump这些命令都不需要输入用户名和密码了。
十四,其它指令
$ reboot #重启系统,类似于shutdown -r now。
$ halt #关机,类似于shutdown -h now。
$ poweroff #关机
在docker中下载alpine
docker pull alpine
docker run -it alpine /bin/sh
Alpine Linux 没有内置bash,所以这里使用的sh作为伪终端,在为 Alpine Linux 编写 shell 脚本的时候也需要注意,使用 sh 而不是bash。
版权声明
本站部份资源来自本人原创、以及网络收集,经过测试整理,版权争议与本站无关。
所有资源仅限用于学习和测试研究,不得用于商业或者非法用途,否则、一切后果请用户自负。
网络技术更新极快,我们不保证资源的长久可用性,下载前请仔细查看发布日期。