From 930b2d049eab28ce6ed54dd4e4d9f7549149301f Mon Sep 17 00:00:00 2001 From: Brandon Rozek Date: Thu, 14 May 2020 22:25:24 -0400 Subject: [PATCH] New Post --- content/blog/checkinstall.md | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 content/blog/checkinstall.md diff --git a/content/blog/checkinstall.md b/content/blog/checkinstall.md new file mode 100644 index 0000000..ea0419c --- /dev/null +++ b/content/blog/checkinstall.md @@ -0,0 +1,51 @@ +--- +title: "Checkinstall" +date: 2020-04-26T12:11:30-04:00 +draft: false +tags: ["packaging", "linux"] +--- + +To create a quick and dirty Debian or RPM package, check out `checkinstall`! Be forewarned though that this isn't the recommended way of creating packages. This post on [AskUbuntu](https://askubuntu.com/questions/1138384/why-is-checkinstall-no-longer-being-maintained) gives good reasons for why. Though if it is between running a `make install` or running this utility, I would consider running `checkinstall` instead. + +This program works by tracking all the files installed by a `make install` equivalent. This makes it easy to remove later on. + +To install on a debian based distribution, + +```bash +sudo apt install checkinstall +``` + +Then you can go to the directory that you normally `make install` and instead run the following to make a Debian package. + +```bash +sudo checkinstall -D --install=no --nodoc +``` + +It will ask you to fill in various metadata such as name and author, and then it will create a package you can install! + +To install, +```bash +sudo dpkg -i filename.deb +``` + +You can later remove it with apt. + +```bash +sudo apt remove package_name +``` + +If the application does not use `make install`, then you can add extra arguments to denote its equivalent + +```bash +sudo checkinstall -D --isntall=no --nodoc ./customInstallScript +``` + +Arguments to `checkinstall` + +| Flag | Description | +| -------------- | ----------------------------------- | +| `-D` | Create a Debian package | +| `-R` | Create a RPM package | +| `-S` | Create a Slackware package | +| `--install=no` | Don't install package | +| `--nodoc` | Do not include documentation filesq |