phoenix-power今回は、sudoの使い方を少しだけ紹介します。あと、ついでにアップデートを簡単にするやつとか。

私の特技は、sudo pacman -Syuです。コンピュータいじりでは、私はこれくらいしかできることがありません。

しかし、だからこそ、今回は、いかに上手くsudo pacman -Syuを実行するか、その方法を書いていきたいと思います。ようは、秘伝のタレとか、最後のカードとかいうやつですよ。

いかに上手く、かつ華麗にArch Linuxのアップデートコマンドであるsudo pacman -Syuを実行するのかというと、そのための準備に、まずは、/etc/sudoersを編集しなければなりません。しょっぱなからとても手強い相手です。

これについては、visudoで編集するほうが安全ですが、visudoは各種端末との相性最悪なので、自信がある方は直接、vimで編集しても構いません。

sudoというのは、簡単にいえば、ユーザー権限管理ツールのようなものです。Linux系のOSには、ほとんどの場合、最初からインストールされてると思いますし、Macにも入ってます。ですが、Arch LinuxやGentoo Linuxを使ってる方なら知ってると思いますが、必須ではありません。

話が脱線してしまいました。以下のようにsudoersを編集してください。

/etc/sudoers
1
2
#できるだけ最後の行に追記してください。同じ内容があると、後の行に書き換えられますので
%wheel ALL=(ALL) NOPASSWD: /usr/bin/pacman -Syu --noconfirm, /usr/bin/yaorut -Syua --noconfirm

これはどういう意味かというと、wheelのグループに属するすべてのユーザーがパスワード無しに実行できるコマンドを指定しています。

ここでは、pacman -Syu --noconfirm, yaourt -Syua --noconfirmを指定しています。どれもアップデートコマンドですね。ちなみに、--noconfirmは、all-yesの意味です。

次に、yaourtは、こちらもパッケージ管理ツールの一つですが、yaourtは、sudoの挙動においてセキュリティのために若干制限を加えています。今回は、その制限を/etc/yaourtrcを編集して解除します。

/etc/yaourtrc
1
SUDONOVERIF=1

あとは、自分が使ってるシェルにエイリアスでも設定しておけば簡単にアップデートができるようになります。

~/.zshrc
1
2
3
4
#ついでに
alias sudo="sudo "
#アップデート
alias up="sudo pacman -Syu --noconfirm && sudo yaourt -Syua --noconfirm"

では、実際に、シェルを再起動し、sudo timeoutを解除してからアップデートコマンドを実行してみましょう。

1
2
3
4
5
6
7
$ exec $SHELL

$ which up
sudo pacman -Syu --noconfirm && sudo yaourt -Syua --noconfirm

$ up
...update!!

パスワード無しにArch Linuxのアップデートが出来ました。

私は、sudo pacman -Syuくらいしかできませんが、これしかできないからこそ、特にこだわりを持ってやっています。では。