2017年01月12日(木) [長年日記]
■ [howto][windows] pacmanを使う
MSYS2を使っている。MSYS2はパッケージ管理にpacmanを使っているのでpacmanの使い方を覚えないといけない。基本的なことだけメモ。
オペレーション
pacmanはまず「オペレーション」を指定して、その後にオペレーション用のオプションを指定するスタイルみたい。
$ pacman --help 使用方法: pacman <オペレーション> [...] オペレーション: pacman {-h --help} pacman {-V --version} pacman {-D --database} <オプション> <パッケージ> pacman {-F --files} [オプション] [パッケージ] pacman {-Q --query} [オプション] [パッケージ] pacman {-R --remove} [オプション] <パッケージ> pacman {-S --sync} [オプション] [パッケージ] pacman {-T --deptest} [オプション] [パッケージ] pacman {-U --upgrade} [オプション] <ファイル> オペレーションと一緒に 'pacman {-h --help}' を使うことでオプションを一覧できます
インストール済みパッケージの一覧表示
--query オペレーションに何もオプションを与えなければインストール済みパッケージの一覧が表示される。
$ pacman -Q bash 4.3.046-1 bash-completion 2.3-1 (省略) xz 5.2.2-1 zlib 1.2.8-3
インストール済みパッケージの更新
パッケージを一括更新するには --sync オペレーションに --refresh, --sysupgrade オプションを与える。
$ pacman -Syu :: パッケージデータベースの同期中... mingw32 は最新です mingw64 は最新です msys は最新です :: Starting core system upgrade... 何も行うことがありません :: システム全体の更新を開始... 何も行うことがありません
リポジトリ上のパッケージの一覧表示
リポジトリ上のパッケージを表示するのにも --sync オペレーションを使うみたい。--list オプションを与える。
$ pacman -Sl mingw32 mingw-w64-i686-OpenSceneGraph 3.5.3-2 mingw32 mingw-w64-i686-OpenSceneGraph-debug 3.5.3-2 (省略) msys zsh 5.1.1-1 msys zsh-doc 5.1.1-1
リポジトリ上のパッケージの説明を表示
パッケージの説明は --sync オペレーションに --info オプションとパッケージ名を指定すると表示できる。--infoを2回指定すると表示される情報が少し増えるみたい。
$ pacman -Sii gcc リポジトリ : msys 名前 : gcc バージョン : 5.3.0-3 説明 : The GNU Compiler Collection - C and C++ frontends アーキテクチャ : x86_64 URL : http://gcc.gnu.org ライセンス : GPL LGPL FDL custom グループ : msys2-devel 提供 : なし 依存パッケージ : gcc-libs=5.3.0-3 binutils gmp isl mpc mpfr msys2-runtime-devel msys2-w32api-headers msys2-w32api-runtime windows-default-manifest 提案パッケージ : なし 必要パッケージ : bc gcc-fortran llvm-svn 任意パッケージ : なし 衝突パッケージ : なし 置換パッケージ : なし ダウンロード容量 : 21.73 MiB インストール容量 : 88.76 MiB パッケージ作成者 : Alexey Pavlov <alexpux@gmail.com> ビルド日時 : 2016年04月01日 05時07分40秒 MD5 Sum : 77e38c3f73668ebe8b0b4b634944b54d SHA-256 Sum : 61fdb8e212dbb60b9f2d6ed96390f9a4ed22ea9afa65604b96f1936810673420 署名 : 5F92EFC1A47D45A1
パッケージのインストール
パッケージのインストールをするのも --sync オペレーション。パッケージ名を与える。
$ pacman -S gcc 依存関係を解決しています... 衝突するパッケージがないか確認しています... パッケージ (8) binutils-2.25.1-2 isl-0.16.1-1 mpc-1.0.3-1 msys2-runtime-devel-2.6.0-1 msys2-w32api-headers-5.0.0.4732.6172d2f-1 msys2-w32api-runtime-5.0.0.4732.6172d2f-1 windows-default-manifest-6.4-1 gcc-5.3.0-3 合計ダウンロード容量: 36.57 MiB 合計インストール容量: 250.96 MiB :: インストールを行いますか? [Y/n]
パッケージのアンインストール
パッケージのアンインストールには --remove オペレーションを使う。
何もオプションを指定しないと
$ pacman -R gcc 依存関係を確認しています... パッケージ (1) gcc-5.3.0-3 合計削除容量: 88.76 MiB :: 以上のパッケージを削除しますか? [Y/n]
のように依存パッケージを削除してくれない。依存パッケージを削除するには --recursive オプションを付ける必要がある。
$ pacman -Rs gcc 依存関係を確認しています... パッケージ (8) binutils-2.25.1-2 isl-0.16.1-1 mpc-1.0.3-1 msys2-runtime-devel-2.6.0-1 msys2-w32api-headers-5.0.0.4732.6172d2f-1 msys2-w32api-runtime-5.0.0.4732.6172d2f-1 windows-default-manifest-6.4-1 gcc-5.3.0-3 合計削除容量: 250.96 MiB :: 以上のパッケージを削除しますか? [Y/n]