Alpine Linux 系统安装教程

 admin   2021-09-15 22:33   6933 人阅读  0 条评论

Alpine Linux 是一个超轻量级的发行版,这个轻量不仅体现在系统体积上,这系统的安装过程也是没有图形界面的,和常见的各种发行版都不同。虽然一般来说接触到的这个系统都是现成安装好的,比如 docker 容器或者 vps 里直接灌进去的现成系统,但是有部份用户需要单独安装这个系统,下面对安装过程做一个说明。

测试安装是在Esxi虚拟机里,Alpine 的安装是先把系统载入内存中,然后需要手动输入命令才开始安装过程。

加载镜像后,首先会看到此提示,输入用户名 root 直接回车登录:

1.jpg

然后按照提示输入 setup-alpine 开始安装:

1.jpg

键盘布局输入两次 cn 再回车确认:

1.png

接着就是选择网络配置,绑定域名和设置 DNS 之类,一般情况下一律直接回车即可,然后设定 root 用户密码:

1.jpg

时区先按?调出选项,国内当然就是输入 PRC 了,注意时区要区分大小写,然后代理和 NTP 都默认设置即可:

1.jpg

然后需要稍等一会,会自动检测软件源,按照提示设置,r 是代表随机指定一个源,f 是自动检测速度最快的源,e 是编辑系统对应文件,可以添加指定的源,这里输入 38,选个上海交大的源(建议按F让自动选择最快的源):

1.jpg

然后选择硬盘,我这里就一块硬盘,所以直接输入名称 sda,当做系统盘,后面输入 sys,按照提示确定格式化即可:

1.jpg

最后看到如下界面就是安装完毕了,输入 reboot 重启即可进入系统:

1.jpg

注意默认装好的 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。

本文地址:https://zxbblog.com/?id=628
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?