On 2014-12-21 21:58 +0100, Rob Owens wrote: > The /etc/init.d/mysql script on one of my systems is complaning that it > can't find /bin/dirname and /bin/basename. Line 24 of the script is > this: > > SELF=$(cd $(dirname $0); pwd -P)/$(basename $0) > > Both dirname and basename live in /usr/bin, not /bin.
Which should be fine from the script's point of view as long as $remote_fs is in the "Required-Start" header (i.e. /usr is guaranteed to be mounted). > I know I could add a PATH statement to the init script, but this problem > is my own doing and I'd like to fix it right. I "cross-graded" this > system from 32-bit to 64-bit using this guide: > > www.ewan.cc/?q=node/90 > > It worked pretty well, but not perfectly. Some things got missed, like > screen, ntp, and a couple other packages. I'm thinking that maybe > another missing package is preventing the mysql init script from > checking for /usr/bin/dirname. That seems to be unlikely, but you could add a line with "echo $PATH" to the script to find out what PATH actually is. > I can run '/etc/init.d/mysql start' from a terminal and it works fine, > because it picks up the PATH associated with the terminal. So this is > only a boot-time issue. > > So is there a package or a global setting somewhere that sets the PATH > for init scripts? PATH is set directly by init. If I read the source code correctly, sysvinit sets it to "/sbin:/usr/sbin:/bin:/usr/bin" while systemd uses "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin". Cheers, Sven -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/87y4q0g04o....@turtle.gmx.de