https://hub.docker.com/_/alpine/
https://alpinelinux.org/downloads/
#查看系统版本
cat /etc/alpine-release
#查找包:
https://pkgs.alpinelinux.org/packages
#更新软件包索引文件
apk update
# 安装
apk --update --no-cache add net-tools git curl wget vim iproute2 unzip zip
apk --update --no-cache add geoip cmake autoconf automake libtool go
# 安装 python gcc
apk add --no-cache gcc g++ python python-dev py-pip mysql-dev linux-headers libffi-dev
apk --update --no-cache add geoip-dev pcre gd pcre-dev zlib-dev build-base linux-headers libedit libxml2 musl zlib libxslt libxslt-dev gd-dev libstdc++ libgcc patch logrotate supervisor inotify-tools
apk add --no-cache -U autoconf g++
apk add boost-dev make
#升级整个系统
apk update && apk upgrade
# 安装mysql客户端
apk add --no-cache mysql-client
# 删除已经安装
apk del nginx
#查询openssh相关的软件包
apk search openssh
#将ssh服务配置为开机自动启动
rc-update add sshd
# 删除缓存
rm -rf /var/cache/apk/*
# apk errors
rm -fr /var/cache/apk
mkdir -p /var/cache/apk
apk update
# 进行修复
apk fix
# 时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo Asia/Shanghai > /etc/timezone;
cd /usr/share/fonts/
wget http://up.htmltoo.com/soft/java/chinese.zip
unzip chinese.zip && rm -rf chinese.zip
# 中文字体
apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
---升级系统
vim /etc/apk/repositories
-手动更改版本号
apk upgrade --available && sync
reboot
#进容器
docker exec -it rname /bin/sh
docker exec -it rname sh
---更新国内源
vi /etc/apk/repositories
# 默认的源地址为:http://dl-cdn.alpinelinux.org/
https://dl-cdn.alpinelinux.org/alpine/v3.19/main
https://dl-cdn.alpinelinux.org/alpine/v3.19/community
#采用国内阿里云的源,文件内容为:
https://mirrors.aliyun.com/alpine/v3.7/main/
https://mirrors.aliyun.com/alpine/v3.7/community/
# 如果采用中国科技大学的源,文件内容为:
https://mirrors.ustc.edu.cn/alpine/v3.7/main/
https://mirrors.ustc.edu.cn/alpine/v3.7/community/
---alpine linux配置中文语言环境
---查看当前语言环境
echo $LANG
---查看当前系统是否有中文语言包
locale -a
---locale命令的安装
apk --no-cache add ca-certificates wget
# 安装公钥
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
#下载相关apk
https://github.com/sgerrand/alpine-pkg-glibc/releases
apk add --no-cache tzdata
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r1/glibc-2.35-r1.apk
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r1/glibc-bin-2.35-r1.apk
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r1/glibc-i18n-2.35-r1.apk
#安装apk
apk add glibc-bin-2.35-r1.apk glibc-i18n-2.35-r1.apk glibc-2.35-r1.apk
---执行下面命令,设置语言环境。
/usr/glibc-compat/bin/localedef -i zh_CN -f UTF-8 zh_CN.UTF-8
---在环境变量中增加
vim /etc/profile
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
source /etc/profile
-字体文件可以从windows下复制
C:\Windows\Fonts -> 雅黑
-容器
cd /config/Fonts
cp * /usr/share/fonts/ -a
-刷新字体缓存
fc-cache -vf
---大版本升级
#!/bin/sh
#
# 更新包管理器
apk add --upgrade apk-tools
# 更新仓库版本
sed -i 's/3.19/3.20/g' /etc/apk/repositories
sed -i 's/3.14/3.19/g' /etc/apk/repositories
# 更新系统软件
apk update
apk add --upgrade apk-tools
apk upgrade --available && sync
# 修改 motd 内容
echo "Welcome to Alpine!" >/etc/motd
# 升级 sshd 配置
if [ -f /etc/ssh/sshd_config.apk-new ]; then
rm -f /etc/ssh/sshd_config
mv /etc/ssh/sshd_config.apk-new /etc/ssh/sshd_config
echo "" >>/etc/ssh/sshd_config
echo "Port 2200" >>/etc/ssh/sshd_config
echo "PubkeyAcceptedKeyTypes=+ssh-rsa" >>/etc/ssh/sshd_config
fi
# 升级 mkinitfs 配置
if [ -f /etc/mkinitfs/mkinitfs.conf.apk-new ]; then
rm -f /etc/mkinitfs/mkinitfs.conf
mv /etc/mkinitfs/mkinitfs.conf.apk-new /etc/mkinitfs/mkinitfs.conf
fi
# 清理已知冗余配置
rm -f \
/etc/update-extlinux.conf.apk-new \
/etc/shadow.apk-new \
/etc/fstab.apk-new \
/etc/inittab.apk-new \
/etc/motd.apk-new \
/etc/passwd.apk-new \
/etc/fstab.apk-new \
/etc/hostname.apk-new \
/etc/group.apk-new \
/etc/hosts.apk-new \
/etc/conf.d/loadkmap.apk-new \
/etc/conf.d/node-exporter.apk-new
# 查看其他未处理的配置
find /etc/ -name *-new
#安装Nginx软件并更新到最新,
apk add --update nginx
#手工启动Nginx
/etc/init.d/nginx
#将Nginx添加到启动服务中,下次开机自动运行
rc-update add nginx
#安装php
apk add --update php7=7.1.16-r1
apk add --update mysql #安装MySQL,实测安装成功后为 MariaDB
apk add --update php7-mysqli php7-pdo_mysql php7-mbstring php7-json php7-zlib php7-gd php7-intl php7-session #安装一些PHP库
apk add --update php7-apache2
apk add --update php7-bcmath php7-bz2 php7-calendar php7-cgi php7-common php7-ctype php7-curl php7-dba php7-dev php7-doc php7-dom php7-embed php7-enchant php7-exif php7-fileinfo php7-fpm php7-ftp php7-gd php7-gettext php7-gmp php7-iconv php7-imap php7-intl php7-json php7-ldap php7-litespeed php7-mbstring php7-mcrypt php7-mysqli php7-mysqlnd php7-odbc php7-opcache php7-openssl php7-pcntl php7-pdo php7-pdo_dblib php7-pdo_mysql php7-pdo_odbc php7-pdo_pgsql php7-pdo_sqlite php7-pear php7-pgsql php7-phar php7-phpdbg php7-posix php7-pspell php7-recode php7-session php7-shmop php7-simplexml php7-snmp php7-soap php7-sockets php7-sqlite3 php7-sysvmsg php7-sysvsem php7-sysvshm php7-tidy php7-tokenizer php7-wddx php7-xml php7-xmlreader php7-xmlrpc php7-xmlwriter php7-xsl php7-zip
同时,MariaDB 数据库还需要进一步设置。
/etc/init.d/mariadb setup #安装
mysql_secure_installation #设置
---网络相关文件
https://wiki.alpinelinux.org/wiki/Configure_Networking
-主机名文件
vi /etc/hostname
-使用新设置的主机名立刻生效
hostname -F /etc/hostname
-主机IP和域名映射文件
vi /etc/hosts
192.168.99.100 alpine.csdn.net
-DNS 服务器配置文件
vi /etc/resolv.conf
nameserver 218.2.135.1
nameserver 202.102.24.35
-网卡配置文件
vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.3.166
netmask 255.255.255.0
gateway 192.168.3.254
-修改完相关配置以后,重新启动网络服务:
/etc/init.d/networking restart
---软件包管理工具apk的基本使用
alpine 提供了非常好用的apk软件包管理工具,
可以方便地安装、删除、更新软件。
#查询openssh相关的软件包
apk search openssh
#安装一个软件包
apk add xxx
#删除已安装的xxx软件包
apk del xxx
#获取更多apk包管理的命令参数
apk --help
---比如安装常用的网络相关工具:
#更新软件包索引文件
apk update
#用于文本方式查看网页,用于测试http协议
apk add curl
#提供了查看网络连接的协议端口的命令ss,可以替代netstat命令
apk add iproute2
#drill 命令可以替代dig和nslookup DNS查询命令
apk add drill
---测试192.168.3.166的80端口,查看web服务是否能正常访问。
curl 192.168.3.166
#查看建立的TCP连接
ss -ta
#查询域名的信息
drill blog.csdn.net @8.8.8.8
#根据IP地址,反向查找域名
drill -x 8.8.8.8 @47.94.71.34
---开启SSH服务
#安装openssh-server服务器
apk add openssh-server
#修改配置文件 /etc/ssh/sshd_config,
#如果要想使用root用户远程管理,需要修改参数为:
PermitRootLogin yes
#将ssh服务配置为开机自动启动
rc-update add sshd
#如果你想立刻生效,可以执行命令:
/etc/init.d/sshd restart
---安装nginx
#安装Nginx软件并更新到最新,
apk add --update nginx
#手工启动Nginx
/etc/init.d/nginx
#将Nginx添加到启动服务中,下次开机自动运行
rc-update add nginx
#测试Nginx服务是否正常,使用curl访问,
#默认配置会返回nginx的404页面错误,标明服务已正常:
curl 192.168.3.166