pdksh Shells Path Incorrectly Set at Install in Red Hat Enterprise Linux 5

Solution Unverified - Updated -

Issue

  • When installing pdksh, binary gets installed in /bin/pdksh:
# rpm -ql pdksh | grep pdksh
/bin/pdksh
/usr/share/doc/pdksh-5.2.14
/usr/share/doc/pdksh-5.2.14/BUG-REPORTS
/usr/share/doc/pdksh-5.2.14/LEGAL
/usr/share/doc/pdksh-5.2.14/NEWS
/usr/share/doc/pdksh-5.2.14/NOTES
/usr/share/doc/pdksh-5.2.14/PROJECTS
/usr/share/doc/pdksh-5.2.14/README
/usr/share/doc/pdksh-5.2.14/etc
/usr/share/doc/pdksh-5.2.14/etc/ksh.kshrc
/usr/share/doc/pdksh-5.2.14/etc/profile
/usr/share/doc/pdksh-5.2.14/etc/sys_config.sh
/usr/share/man/man1/pdksh.1.gz
  • Path to shell in /etc/shells gets added as /usr/bin/pdksh:
# cat /etc/shells | grep pdksh
/usr/bin/pdksh
  • Post install script from the RPM is what adds the path as /usr/bin/pdksh:
[root@dsirrine-ds-test ~]# rpm -q --scripts pdksh
postinstall scriptlet (using /bin/sh):
if [ ! -f /etc/shells ]; then
     echo "/bin/ksh" > /etc/shells
else
     if ! grep -q '^/bin/ksh$' /etc/shells ; then
          echo "/bin/ksh" >> /etc/shells
     fi
fi
if ! grep -q '^/usr/bin/ksh$' /etc/shells ; then
     echo "/usr/bin/ksh" >> /etc/shells
fi
if ! grep -q '^/usr/bin/pdksh$' /etc/shells ; then
     echo "/usr/bin/pdksh" >> /etc/shells
fi

Environment

  • Red Hat Enterprise Linux 5.8
  • pdksh-5.2.14-37.el5

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content