hpr4356 :: Mirror Mirror On The Wall
Lee talks about running a private Ubuntu mirror
Hosted by Lee on Monday, 2025-04-14 is flagged as Clean and is released under a CC-BY-SA license.
linux, ubuntu, mirror.
(Be the first).
Listen in ogg,
opus,
or mp3 format. Play now:
Duration: 00:12:45
Download the transcription and
subtitles.
general.
Running a private Ubuntu Mirror
It is possible to set up a local server to keep a synchronized copy of all the Ubuntu packages, allowing later installs of packages for any local machine even in the absence of an internet connection.
To do this a script called apt-mirror can be run on the server.
crontab
0 1 * * * /usr/local/bin/apt-mirror
The location of the mirror is specified in
apt-mirror.conf
/etc/apt/apt-mirror.conf
set mirror_path /disk/ftp/Mirror set cleanup_freq daily set mirror_verbose yes
The origin servers are specified in
mirror.list
. It is possible to choose which architectures and Ubuntu releases
to fetch as well as whether to fetch just the binary packages or
also the sources.
/etc/apt/mirror.list
deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse deb http://security.ubuntu.com/ubuntu noble-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse deb-i386 http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse deb-i386 http://security.ubuntu.com/ubuntu noble-security main restricted universe multiverse deb-i386 http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse deb-i386 http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse #deb-src http://security.ubuntu.com/ubuntu noble-security main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse clean http://archive.ubuntu.com/ubuntu
The mirrored packages could be served up to local machines in a number of ways, I am using vsftpd to serve the files via FTP.
/etc/vsftp.conf
anonymous_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES listen=YES pam_service_name=vsftpd seccomp_sandbox=NO isolate_network=NO anon_root=/disk/ftp/ no_anon_password=YES hide_ids=YES pasv_min_port=40000 pasv_max_port=50000 write_enable=YES
On local machines, the mirror on the server can then be specified
as the source for
apt
to use to retrieve packages.
/etc/apt/sources.list.d/ubuntu.sources
Types: deb URIs: ftp://server/Mirror/mirror/archive.ubuntu.com/ubuntu Suites: noble noble-updates noble-backports Components: main universe restricted multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg ## Ubuntu security updates. Aside from URIs and Suites, ## this should mirror your choices in the previous section. Types: deb URIs: ftp://server/Mirror/mirror/security.ubuntu.com/ubuntu Suites: noble-security Components: main universe restricted multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg