cheetsheet/emerge
忘れがちなオプション
| ロングオプション | ショートオプション | 効果 |
|---|---|---|
| –pretend | -p | 引きづられてインストールされるパッケージが見たい |
| –update | -u | アップデート |
| –deep | -D | /var/lib/portage/world 以外の依存関係も調査 |
| –newuse | -N | セキュリティアップデートなど明示的にインストールしていないパッケージも含む |
| –with-bdeps=y | ビルド時依存のパッケージも含む | |
| –changed-use | -U | USE フラグが変わった事を伝えるが–newuse とは違いユーザーが有効にしない事を示すフラグがある場合、再インストールしない |
| –unmerge | -C | 削除 |
| –depclean -p | -p で使われなくなった依存関係を確認 | |
| –depclean | 使われなくなった依存関係を削除( -p で確認してから ) | |
| –info | Portage によって使われる変数 | |
| –quiet | -q | ディスプレィ出力を抑制 |
| –verbose | -v | 冗長モード。各パッケージの USE フラグを表示 |
よく見かけるオプション -uDN は –update –deep –newuse と同じ。
バージョンを指定してインストール
emerge =dev-lang/go-1.16.7
slot、スロットを指定してインストール
eix gcc で調べる
emerge --sync && eix-update &&& eix gcc
下記の状況はver12がインストールされている。これにver11も追加したい。
[I] sys-devel/gcc
Available versions:
(8.5.0) [M]8.5.0-r1^t
(9.5.0) [M]9.5.0^t
(10) [M]10.4.1_p20230426-r1^t [M]~10.4.1_p20230517^t [M]**10.4.1_p20230607^t [M]**10.4.1_p20230614^t [M]~10.4.1_p20230621^t [M]**10.4.1_p20230628^t [M]**10.5.9999*l^t
(11) 11.3.1_p20230427^t ~11.4.0^t **11.4.1_p20230608^t **11.4.1_p20230615^t ~11.4.1_p20230622^t **11.4.1_p20230629^t **11.5.9999*l^t
(12) 12.2.1_p20230428-r1^t [m]12.3.1_p20230526^t [m]**12.3.1_p20230609^t [m]**12.3.1_p20230616^t [m]~12.3.1_p20230623^t [m]**12.3.1_p20230630^t [m]**12.4.9999*l^t
(13) [m]~13.1.1_p20230527^t [m]**13.1.1_p20230603^t [m]**13.1.1_p20230610^t [m]**13.1.1_p20230617^t [m]**13.1.1_p20230624^t [m]**13.2.9999*l^t
(14) [m]**14.0.0_pre20230529^t [m]**14.0.0_pre20230604^t [m]**14.0.0_pre20230611^t [m]**14.0.0_pre20230618^t [m]**14.0.0_pre20230625^t [m]**14.0.0.9999*l^t
{ada cet custom-cflags +cxx d debug default-stack-clash-protection default-znow doc fixed-point +fortran go graphite hardened ieee-long-double jit libssp lto modula2 mpx multilib +nls +nptl objc objc++ objc-gc (+)openmp +pch pgo +pie rust +sanitize +ssp systemtap test valgrind vanilla vtv zstd}
Installed versions: 12.2.1_p20230428-r1(12)^t(23時58分26秒 2023年06月29日)(cxx fortran nls nptl openmp pgo pie sanitize ssp zstd -ada -cet -custom-cflags -d -debug -default-stack-clash-protection -default-znow -doc -fixed-point -go -graphite -hardened -ieee-long-double -jit -libssp -lto -multilib -objc -objc++ -objc-gc -pch -systemtap -test -valgrind -vanilla -vtv)
Homepage: https://gcc.gnu.org/
Description: The GNU Compiler Collection
正確なバージョンを指定する必要がある。
sudo emerge =sys-devel/gcc-11.3.1_p20230427
これをデフォルトで使いたい場合、下記でバージョン一覧を表示し
gcc-config -l
番号で指定する。
sudo gcc-config 2
システム全体を新たな USE フラグに適合させる
emerge --sync
emerge --update --deep --newuse @world
emerge -p --depclean
上記で -p で確認した後 ↓
emerge --depclean
emerge @preserved-rebuild
revdep-rebuild
たまに
emerge --update --deep --newuse --with-bdeps=y @world
と –with-bdeps=y をつけて実行する。
emerge で差分が発生した設定を使うか使わないかアップデート
* IMPORTANT: 4 config files in '/etc/portage' need updating.
という表示が出たら
sudo dispatch-conf
参考
dispatch-conf
gentoo wiki のページ、概要がつかめる
dispatch-conf の使い方
対話的な処理を行う際のオプションが参考になる