Skip to content

Instantly share code, notes, and snippets.

@TomHarrop
Last active July 3, 2023 02:50
Show Gist options
  • Save TomHarrop/85cdc3e6d46f7dcb568413fb41b3417f to your computer and use it in GitHub Desktop.
Save TomHarrop/85cdc3e6d46f7dcb568413fb41b3417f to your computer and use it in GitHub Desktop.
# /etc/apt/sources.list.d/private-repo.list
deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/private_repo.gpg] file:/usr/local/mydebs ./
#!/bin/bash
# choose a key to sign the repo. I'm using my email
my_key="[my-email-address]"
# get key into apt-key
gpg --armor --export "${my_key}" > /tmp/key.asc
sudo apt-key add /tmp/key.asc && rm /tmp/key.asc
# set up repo folder
if [[ ! -d /usr/local/mydebs ]]; then
mkdir /usr/local/mydebs
fi
cd /usr/local/mydebs || exit 1
# move downloaded rstudio deb into repo folder, e.g.
mv ~/Downloads/rstudio-1.0.44-amd64.deb .
# generate Packages file
dpkg-scanpackages . /dev/null > Packages
gzip --keep --force -9 Packages
# generate Release file
apt-ftparchive release . > Release
# Clearsign Release file
gpg --clearsign --digest-algo SHA512 --local-user "${my_key}" \
-o InRelease Release
# add repo to sources.list "deb file:/usr/local/mydebs ./" >> /etc/apt/sources.list
# add to apt
sudo apt update
# install Rstudio!
sudo apt install rstudio
exit 0
#!/bin/bash
set -eux
# choose a key to sign the repo. I'm using my email
my_key=twharrop@gmail.com
# remove the files if they're there
rm -f Packages.gz Packages Release InRelease
# generate Packages file
dpkg-scanpackages . /dev/null > Packages
gzip --keep --force -9 Packages
# generate Release file
apt-ftparchive release . > Release
# Clearsign Release file
gpg --clearsign --digest-algo SHA512 --local-user "${my_key}" \
-o InRelease Release
# add repo to sources.list "deb file:/usr/local/mydebs ./" >> /etc/apt/sources.list
# add to apt
sudo apt update
@TomHarrop
Copy link
Author

TomHarrop commented Sep 10, 2020

The key can be added to apt like this:

gpg --armor --export [key_id] \
| sudo apt-key add -

@TomHarrop
Copy link
Author

Move a key to the new format (see https://askubuntu.com/questions/1407632/key-is-stored-in-legacy-trusted-gpg-keyring-etc-apt-trusted-gpg)

sudo apt-key export [key_id] | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/[key_id].gpg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment