emergeコマンドをroot以外で実行する方法

背景

今まで,emergeコマンドはいつも使ってるユーザで実行できてた

でも最近は/var/lib/portage/worldのパーミッションないって怒られて,しかたなくsudoして使ってた


いちいちsudoするのが面倒なので普段使ってるのユーザの権限でemerge -pvが使えるように修正したい

原因

/var/lib/portage/worldのパーミッションがないって怒られてるので,まずは該当ファイルのミッションを確認してみた

% sudo ls -l /var/lib/portage/world
Password:
-rw-r--r-- 1 root portage 968 Apr 22 09:18 /var/lib/portage/world


自分のグループ も確認してみる

% groups
wheel users svn


自分,portage入ってないじゃん orz
それが原因

解決

自分もportageに参加したいので加える

% sudo usermod -G wheel,svn,portage {user_name}


今の自分のグループも全部指定するのがポイント
グループはコンマで区切る
空白はダメ
usersを指定していないのは,usersが自分のログイン時初期グループだから


再ログインして確認してみる

% groups
wheel users portage svn


(*'ω')b


emerge -pv できるか確認してみる

% emerge -pv world

These are the packages that would be merged, in order:

Calculating world dependencies... done!

Total: 0 packages, Size of downloads: 0 kB


(*'ω')b