Alpine Linuxコンフィギュレーションテクニック【5 Mのみのオペレーティングシステム(回転)】

8146 ワード

転入先https://www.cnblogs.com/zhangmingcheng/p/7122386.html
Alpine Linuxは、セキュリティアプリケーション向けの軽量級Linuxリリース版です.musl libcとbusyboxを採用し、システムのボリュームと実行時のリソース消費を削減し、独自のパッケージ管理ツールapkを提供しています.
Alpine Linuxのカーネルにはgrsecurity/PaXパッチが適用され、すべてのプログラムはPosition Independent Executables(PIE)にコンパイルされ、システムのセキュリティを強化します.

Alpine Linuxの利点と問題

  • 優勢
  • Alpine LinuxのDockerミラーリングは、軽量(5 Mサイズ)で、完全なパッケージ管理ツール(APK)があるのが特徴です.Dockerの公式ミラーは、UbuntuをAlpine Linuxで置き換える可能性があります.
  • 問題
  • Alpine Linuxはmuslを使用しており、他のLinuxリリースで使用されているglibc実装とは異なる場合があります.

    Alpine Linuxパッケージ管理


    Apkパッケージ管理コマンドAlpineはapkを使用してパッケージ管理を行い、apk–helpコマンドで完全なパッケージ管理コマンドを表示します.次に、一般的なコマンドを示します.
    update:リモートミラーソースからローカルミラーソースインデックスを更新する
    updateコマンドは、各ミラーソースリストからAPKINDEXをダウンロードします.tar.gzはローカルキャッシュに格納され、一般的に/var/cache/apk/(Alpineはこのディレクトリの下にある)、/var/lib/apk/、/etc/apk/cache/の下にある.
    apt-update
    addコマンドは、倉庫から最新のパッケージをインストールし、必要な依存パッケージを自動的にインストールします.サードパーティの倉庫からパッケージを追加することもできます.add:PACKAGESをインストールし、依存関係を自動的に解決
    $ apk add openssh openntp vim
    $ apk add --no-cache mysql-client
    $ apk add docker --update-cache --repository http://mirrors.ustc.edu.cn/alpine/v3.4/main/ --allow-untrusted

    指定されたバージョンのパッケージのインストール
    $ apk add asterisk=1.6.0.21-r0
    $ apk add 'asterisk<1.6.1'
    $ apk add 'asterisk>1.6.1

    del:PACKAGESをアンインストールして削除する
    apk del openssh openntp vim

    upgradeコマンドは、システムがインストールされているため、パッケージ(一般的にカーネルを含む)をアップグレードします.もちろん、一部のパッケージのみをアップグレードすることもできます(-uまたは–upgrade選択で指定します).upgrade:現在インストールされているパッケージをアップグレード
    $ apk update # 
    $ apk upgrade # 
    $ apk add --upgrade busybox # 

    searchコマンドは、使用可能なパッケージを検索し、-vパラメータ出力記述内容、支出ワイルドカード、-dまたは-descriptionパラメータは、パッケージ記述クエリーを指定します.search:パッケージの検索
    $ apk search # 
    $ apk search -v # 
    $ apk search -v 'acf*' # 
    $ apk search -v -d 'docker' # 

    infoコマンドは、パッケージの情報を表示します.info:PACKAGESまたはミラーソースの詳細をリストする
    $ apk info # 
    $ apk info -a zlib # 
    $ apk info --who-owns /sbin/lbu # 

    公式ミラーリスト:http://rsync.alpinelinux.org/alpine/MIRRORS.txtミラーソース構成MIRRORS.txtは、現在のAlpineが公式に提供しているミラーソースです(Alpineがインストールされている場合、システムが最適なミラーソースを自動的に選択します)
    国内ミラーソース清華TUNAミラーソース:https://mirror.tuna.tsinghua.edu.cn/alpine/中科大鏡像ソース:http://mirrors.ustc.edu.cn/alpine/アリクラウドミラーソース:http://mirrors.aliyun.com/alpine/
    ソフトウェアソースの構成方法
    中科大ソースを例にとると、/etc/apk/repositoriesファイルに対応するソースアドレスを入れればいい、1行1アドレス.
    $ vi /etc/apk/repositories
    # /media/cdrom/apks
    http://mirrors.ustc.edu.cn/alpine/v3.5/main
    http://mirrors.ustc.edu.cn/alpine/v3.5/community

    Alpine LinuxはGentooのようなOpenRCinitシステムを使用する.Alpine Linux initシステムの次のコマンドはinitシステムの管理に使用できます.
    rc-update rc-updateは主に異なる実行レベルでサービスを追加または削除するために使用されます.
    rc-update構文フォーマット
    Usage: rc-update [options] add  [...]
    or: rc-update [options] del  [...]
    or: rc-update [options] [show [...]]

    Options:[asuChqVv]-a,–all Process all runlevels-s,–stack Stack a runlevel instead of a service-u,–update Force an update of the dependency tree-h,–help Display this help output-C,–nocolor Disable color color color color color color color color color color color output-V,–version Displayソフトウェアバージョンバージョン-v,–verbose Run verbosely-q,–quiet Run quietly(repeat to to to to to to suppress errors)使用例
    rc-update add docker boot#サービスrc-update add docker boot#サービスrc-update del docker boot#サービスrc-statusを追加主に実行レベルのステータス管理に使用します.
    rc-status構文フォーマット
    Usage: rc-status [options] … or: rc-status [options] [-a | -c | -l | -r | -s | -u]
    Options: [ aclrsuChqVv ] -a, –all Show services from all run levels -c, –crashed Show crashed services -l, –list Show list of run levels -r, –runlevel Show the name of the current runlevel -s, –servicelist Show service list -u, –unused Show services not assigned to any runlevel -h, –help Display this help output -C, –nocolor Disable color output -V,-version Display software version-v,-verbose Run verbosely-q,-quiet Run quietly(repeat to suppress errors)使用例
    rc-status#デフォルト実行レベルのステータスrc-status#デフォルト実行レベルのステータスrc-status-a#すべての実行レベルのステータスrc-service rc-serviceプライマリがサービスのステータスを管理するために使用することを確認
    rc-service構文フォーマット
    Usage: rc-service [options] [-i] … or: rc-service [options] -e or: rc-service [options] -l or: rc-service [options] -r
    Options: [ e:ilr:INChqVv ] -e, –exists tests if the service exists or not -i, –ifexists if the service exists then run the command -I, –ifinactive if the service is inactive then run the command -N, –ifnotstarted if the service is not started then run the command -l, –list list all available services -r, –resolve resolve the service name to an init script -h,-help Display this help output-C,-nocolor Disable color output-V,-version Display software version-v,-verbose Run verbosely-q,-quiet Run quietly(repeat to suppress errors)使用例
    rc-service sshd start#サービスを開始します.rc-service sshd start#サービスを開始します.rc-service sshd stop#サービスを停止します.$rc-service sshd restart#サービスを再起動します.Openrc openrcは主に異なる実行レベルを管理するために使用されます.
    Openrc構文フォーマット
    Usage: openrc [options] []
    Options: [ a:no:s:SChqVv ] -n, –no-stop do not stop any services -o, –override override the next runlevel to change into when leaving single user or boot runlevels -s, –service runs the service specified with the rest of the arguments -S, –sys output the RC system type, if any -h, –help Display this help output -C, –nocolor Disable color output -V, –version Display software version -v, –verbose Run verbosely -q, –quiet Run quietly (repeat to suppress errors)
    defaultAlpine Linuxで使用可能な実行レベル
    Sysinit boot single reboot shutdown使用例
    $openrc single#single実行レベルの他のコマンドに変更
    reboot#shutdown-r nowに似たシステムを再起動します.reboot#shutdown-r nowに似たシステムを再起動します.halt#シャットダウン、shutdown-h nowに似ています.$Poweroff#シャットダウンリファレンスドキュメントhttp://www.google.com http://t.cn/RizgdLy https://wiki.alpinelinux.org/wiki/Alpine_Linux_Init_System https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management
    変換元:https://www.hi-linux.com/posts/64839.html?utm_source=tuicool&utm_medium=referral