Alpine Linux基礎使用教程

Alpine Linux基礎使用教程

介紹

Alpine Linux是一個3S(分別是Small,Simple,Secure)的Linux發行版本,基於musl libc和BusyBox構建。

他非常適合做docker的基礎鏡像,因為他足夠小,僅有5MB。

雖然他小但是他提供了強大的包管理軟件(apk),可以用來安裝各種各樣的軟件包來擴展系統功能。

官網: https://www.alpinelinux.org/

軟件包倉庫: https://pkgs.alpinelinux.org/packages

安裝

  • 下載系統ISO
  • 將ISO刻錄成CD或者做成USB引導設備
  • 引導系統,默認用戶:root,密碼:無。
  • 執行安裝/配置命令
 setup-alpine
  • 參考
 https://wiki.alpinelinux.org/wiki/Installation

配置

  • 修改倉庫地址
 sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' \
 /etc/apk/repositories && apk update
  • 設置時區(默認UTC)為CST
 apk add tzdata \
 && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
 && echo "Asia/Shanghai" > /etc/timezone && apk del tzdata
  • 安裝服務管理
 apk add --no-cache openrc 
  • docker環境中修復awk: /etc/network/interfaces: No such file or directory問題
 sed -i 's/#rc_sys=""/rc_sys="lxc"/g' /etc/rc.conf &&\
 echo 'rc_provide="loopback net"' >> /etc/rc.conf
  • docker環境中修復* WARNING: nginx is already starting類似問題
 mkdir -p /run/openrc && touch /run/openrc/softlevel
 /sbin/openrc
  • docker環境中修復can't create /sys/fs/cgroup/systemd/tasks: Read-only file system問題
 掛載捲到 /sys/fs/cgroup

包管理工具(apk)語法

  • 更新包列表
 apk update
  • 搜索軟件包
 apk search 軟件包名
  • 獲取軟件包信息
 apk info [軟件包名]
  • 添加軟件包
 apk add --no-cache 軟件包名1 [軟件包名2 ... n] # 在線安裝軟件包
 
 apk add --allow-untrusted /path/to/xxx.apk # 添加本地軟件包
  • 移除軟件包
 apk del 軟件包名 [軟件包名2 ... n] 
  • 更新系統
 apk upgrade
  • 軟件包倉庫
 https://pkgs.alpinelinux.org/packages

Service管理語法

  • 安裝軟件包
 apk add --no-cache openrc 
  • 添加服務
 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 # 列出所有可用的服務名列表 

使用apk來構建nginx+mariadb+php7環境

  • 安裝Nginx
 apk add --no-cache nginx && \
 rc-update add nginx default
 
 adduser -D -g 'www' www
 mkdir -p /var/www/html
 mkdir -p /var/log/nginx
 mkdir -p /var/run/nginx
 chown -R www:www /var/lib/nginx
 chown -R www:www /var/www
 chown -R www:www /var/log/nginx
 chown -R www:www /var/run/nginx
  • 安裝MariaDB
 apk add --no-cache mariadb mariadb-client && \
 rc-update add mariadb default && \
 /etc/init.d/mariadb setup && rc-service mariadb start
  • 安裝Redis
 apk add --no-cache redis && \
 rc-update add redis default && \
 rc-service redis start
  • 安裝PHP7
 apk add --no-cache php7-common php7-fpm php7-intl php7-openssl \
 php7-tokenizer php7-mysqlnd php7-redis php7-fileinfo \
 php7-mbstring php7-exif php7-opcache php7-gd php7-json \
 php7-xml php7-iconv php7-curl php7-zip php7-mcrypt \
 php7-dom php7-pdo php7-simplexml
 
 rc-update add php-fpm7 default && \
 rc-service php-fpm7 start
  • 配置Nginx支持PHP-FPM


分享到:


相關文章: