I have a project where I create a single .deb file, which should be installed by a linux client. For this I would like to use apt-get install mypackage
.
Being quite new to this area, I am now looking for the most simple way of hosting my own debian update repository, which will only have to contain mypackage.deb.
I quickly looked at mini-dinstall which looked promising, but they seem to work with .changes
, rather than .deb
packages. So I am not sure if this is what I need.
So summarized the workflow should look something like this:
mypackage.deb
fancy-update-daemon add mypackage.deb
apt-get install mypackage
Thanks for your help
Important: Many Launchpad PPAs are not supported by Debian, as the packages include Ubuntu-specific dependencies. Other PPAs do work on Debian. So, before continuing, be aware that even with the successful installation of the PPA, it may not be possible to install the packages due to dependency problems.
To update a single package on the system, use the apt-get command + the package name we want to update. Press "space" to scroll through the list of installed packages. See their version and of course obtain the exact package name in order to update it with the: apt-get update && apt-get upgrade packagename command.
The really simple way of creating a repository is to create a "trivial" repository instead of an "automatic" repository. You can do this with the "dpkg-scanpackages" command in the dpkg-dev package.
$ mkdir repository
$ cp foo.deb repository
$ dpkg-scanpackages repository /dev/null | gzip -9c > repository/Packages.gz
Then in your sources.list, instead of having something like:
deb http://wherever/repository suite component
You leave off the suite and component and just have:
deb http://wherever/repository
For more info (like the difference between a trivial and automatic repository) see The repository HOWTO (for something this simple, you can ignore the fact that this documentation calls itself "obsolete")
Create Packages.gz:
@server> cd debian-repo
@server> dpkg-scanpackages ./ /dev/null | gzip > Packages.gz
Create new file /etc/apt/sources.list.d/my-server.list (at client)
deb http://my-server/debian-repo ./
Now get the list of available packages and install foo
.
@client> apt-get update
@client> apt-get install foo
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With