
Ich habe /usr/local/bin/apt-get
auf einem Ubuntu Trusty-System ein Skript hinzugefügt, das vor dem Start der „offiziellen“ Version einige erforderliche Überprüfungen durchführt apt-get
.
Aus Gründen, die ich einfach nicht nachvollziehen kann, wird dieses Skript völlig ignoriert, obwohl mir alles sagt, dass dies nicht der Fall sein sollte.
Zu Testzwecken tut das Skript derzeit nichts und sollte einfach beendet werden, es wird aber trotzdem nie gestartet.
/usr/local/bin
hat Vorrang bei $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
scheint das Skript auszuführen:
$ 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
Doch das Skript wird offensichtlich ignoriert:
$ apt-get
apt 1.0.1ubuntu2 for amd64 compiled on Oct 28 2014 20:55:14
Usage: apt-get [options] command
...
Beim direkten Starten /usr/local/bin/apt-get
wird das Skript wie vorgesehen im Hintergrund beendet, sodass es ausführbar ist und ordnungsgemäß funktioniert.
Könnte dies eine versteckte Sicherheitseinstellung sein, von der ich nichts weiß?