
/usr/local/bin/apt-get
Ubuntu Trusty システムに、「公式」を起動する前に必要なチェックを実行するスクリプトを追加しましたapt-get
。
まったく理解できない理由で、このスクリプトは、無視されるべきではないとすべてが示しているにもかかわらず、完全に無視されます。
テスト目的のため、スクリプトは現在何も実行せず、単に終了するはずですが、いずれにしても起動されることはありません。
/usr/local/bin
は以下において優先されます$PATH
:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
$ which apt-get
/usr/local/bin/apt-get
$ ls -l /usr/local/bin/apt-get
-rwxr-xr-x 1 root root 553 Apr 16 03:01 /usr/local/bin/apt-get
strace
スクリプトを実行するようです:
$ strace apt-get
execve("/usr/local/bin/apt-get", ["apt-get"], [/* 26 vars */]) = 0
[...]
open("/usr/local/bin/apt-get", O_RDONLY) = 3
[...]
read(10, "#!/bin/sh\n\n# Note: this little s"..., 8192) = 553
しかし、スクリプトは明らかに無視されています。
$ apt-get
apt 1.0.1ubuntu2 for amd64 compiled on Oct 28 2014 20:55:14
Usage: apt-get [options] command
...
直接起動すると/usr/local/bin/apt-get
、当然ながらサイレントに終了するため、スクリプト自体は実行可能であり、正しく動作します。
これは私が全く知らない隠されたセキュリティ設定なのでしょうか?