I am an old System V guy, and I finally got around to setting up a Linux box, using Ubuntu, of course. One of the first things I noticed was missing is the "pg" command. The web tells me that it is available as part of the "util-linux" package. Ubuntu, which I loaded having checked the the boxes to "install everything," tells me that util-linux is installed, but "pg" and other scripting cammands simply aren't there. Can this be fixed?
1 Answers
Looking at the package changelog (apt-get changelog util-linux) you will see that pg has been deprecated and removed:
util-linux (2.29.2-2) unstable; urgency=medium"The big post-release cleanup."
[ Andreas Henriksson ]
- Add DEP12 upstream metadata (Closes: #852731)
- Revert "Add configure flag to make libmount skip /etc/mtab"
- Drop explicit --disable-silent-rules configure flag
- Stop shipping the deprecated 'pg' utility
- Revert "Explicitly (re)enable deprecated pg utility"
- Stop shipping deprecated 'tunelp' utility
- Stop shipping the deprecated 'line' utility
- Drop explicitly passing CC for cross-building
- Use configure flags to disable utils shipped by bsdmainutils
- Revert "Attempt to work around debootstrap problems for hwclock.sh"
- Drop no longer needed lintian overrides for dropped workaround
- Drop obsolete fdisk reclaim on PPC
- Revert "Rename libuuid user to uuidd in libuuidd1 postinst as well"
- Revert "libuuid1: add passwd dependency for user migration"
- Drop obsolete uuid-runtime user/group migration code
- Remove 'pg' from being a pager alternative
- Stop shipping deprecated tailf utility
- Mention tailf removal in util-linux.NEWS</code></pre>
However the source code for pg is still present in the source package, so you can build and install it manually if you wish. You will need a suitable build environment such as provided by installing the build-essential package, plus relevant dependencies as provided by
sudo apt-get build-dep util-linux
First, make sure you have the deb-src type enabled for your main repository. Then you can download and patch the source in a directory of your choosing (unlike most apt operations, this doesn't need elevated privileges):
apt-get source util-linux
Change to the downloaded directory, and then configure the build to enable pg:
./configure --enable-pg
If it completes successfully,
make pg
Test it from the current directory using ./pg README or the like.
Now instead of the usual "sudo make install" (which will attempt to build all the utilities), just copy the pg binary somewhere appropriate such as ~/bin or /usr/local/bin
mkdir -p ~/bin && cp pg ~/bin/
If you choose ~/bin and didn't previously have a ~/bin directory, then it won't be added to your PATH until you start a new login shell or source the ~/.profile:
. ~/.profile
so that you can execute pg from anywhere.
Alternatively, you could build ALL of the package with --enable-pg, then use checkinstall to install it in place of the Ubuntu provided package - however you will then be responsible for keeping it updated.
- 142,475