So I'm building a .deb
, and I need to do a few post-install commands (linking libraries paths, and a few other things).
Is there a way to have it so when you do a sudo dpkg -i <pacakage-name>.deb
, a script runs?
You can execute commands after installation using the postinst shell script located in the debian folder in the source.
This is a normal shell script containing all the commands to be executed (in order) after the installation of the package. dpkg will run this automatically. So, all you need to do is create a shell script before packing your source package into a binary package, name it as 'postinst' and put it in the debian directory.
For more info, visit the Ubuntu Packaging Guide.
postinst
runs then the postinst
isn’t executed.
Nov 16, 2018 at 16:13
There's a file called:
<package directory>/DEBIAN/postinst
This script is a normal bash shell script and should contain the appropriate bash commands e.g.:
#!/bin/bash
echo "Post install script is running now"
#systemctl status <your systemd service>
Be sure that when you build the debian package that you remember to copy this post install script into the package.
I made mine executable:
chmod 755 postinst
This postinst script is executed after the apt package manager installs the appropriate files.
It's as simple as that.