0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ローカルサーバーにapt-mirrorを設置する

Last updated at Posted at 2022-06-11

目的

  • ローカルサーバーにapt-mirrorを設置する。

開発環境

OS情報

OS情報
master@sv-server:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

ファイルシステム構成

ファイルシステム構成
master@sv-server:~$ df -h
ファイルシス          サイズ  使用  残り 使用% マウント位置
udev                    951M     0  951M    0% /dev
tmpfs                   195M  2.4M  193M    2% /run
/dev/mapper/vg00-root    18G  8.3G  8.5G   50% /
tmpfs                   975M     0  975M    0% /dev/shm
tmpfs                   5.0M  4.0K  5.0M    1% /run/lock
vmhgfs-fuse            1000G  793G  208G   80% /mnt/hgfs
/dev/nvme0n1p2          463M   99M  340M   23% /boot
/dev/mapper/vg01-home   492G  373G   94G   80% /home
/dev/nvme0n1p1          511M  6.0M  506M    2% /boot/efi
tmpfs                   195M   48K  195M    1% /run/user/115
tmpfs                   195M   44K  195M    1% /run/user/1000

ディレクトリー/ファイル構成

ファイルシステムの容量上の問題でhomeディレクトリーに大半のファイルを保存する。

/etc/apache2/sites-enabled/

/etc/apache2/sites-enabled/
/etc/apache2/sites-enabled/
├── 000-mirror-debian.conf
└── 000-mirror-ubuntu.conf

/var/spool/apt-mirror/

/var/spool/apt-mirror/
/var/spool/apt-mirror/
├── mirror
│   ├── archive.ubuntu.com -> /home/master/repo/archive.ubuntu.com/
│   └── deb.debian.org -> /home/master/repo/deb.debian.org/
├── skel
│   ├── archive.ubuntu.com
│   └── deb.debian.org
└── var

homeディレクトリー

/home/master/
/home/master/
├── repo
│   ├── archive.ubuntu.com
│   │   └── ubuntu
│   │       ├── dists
│   │       │   ├── jammy
│   │       │   ├── jammy-security
│   │       │   ├── jammy-updates
│   │       │   ├── kinetic
│   │       │   ├── kinetic-security
│   │       │   └── kinetic-updates
│   │       └── pool
│   └── deb.debian.org
│       └── debian
│           ├── dists
│           │   ├── bookworm
│           │   ├── bookworm-backports
│           │   ├── bookworm-proposed-updates
│           │   ├── bookworm-updates
│           │   ├── bullseye
│           │   ├── bullseye-backports
│           │   ├── bullseye-backports-sloppy
│           │   ├── bullseye-proposed-updates
│           │   ├── bullseye-updates
│           │   ├── stable
│           │   ├── stable-backports
│           │   ├── stable-backports-sloppy
│           │   ├── stable-proposed-updates
│           │   ├── stable-updates
│           │   ├── testing
│           │   ├── testing-backports
│           │   ├── testing-proposed-updates
│           │   ├── testing-updates
│           │   └── unstable
│           └── pool
└── work
    ├── fsimg
    └── keyring

導入~設定

パッケージ導入

パッケージ導入
sudo apt-get install -y apache2 apt-mirror

導入済みパッケージ

導入済みパッケージ
master@sv-server:~$ dpkg -l apache2 apt-mirror avahi-daemon bind9*
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリ >
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前             バージョン          アーキテクチ 説明
+++-================-===================-============-====================================
ii  apache2          2.4.53-1~deb11u1    amd64        Apache HTTP Server
ii  apt-mirror       0.5.4-1             all          APT sources mirroring tool
ii  avahi-daemon     0.8-5               amd64        Avahi mDNS/DNS-SD daemon
ii  bind9            1:9.16.27-1~deb11u1 amd64        Internet Domain Name Server
ii  bind9-dnsutils   1:9.16.27-1~deb11u1 amd64        Clients provided with BIND 9
ii  bind9-host       1:9.16.27-1~deb11u1 amd64        DNS Lookup Utility
ii  bind9-libs:amd64 1:9.16.27-1~deb11u1 amd64        Shared Libraries used by BIND 9
ii  bind9-utils      1:9.16.27-1~deb11u1 amd64        Utilities for BIND 9
ii  bind9utils       1:9.16.27-1~deb11u1 all          Transitional package for bind9-utils

ディレクトリー作成

ディレクトリー作成
sudo rm -rf ~/repo/
sudo mkdir -p ~/repo/deb.debian.org/debian
sudo mkdir -p ~/repo/archive.ubuntu.com/ubuntu
sudo chown -R apt-mirror. ~/repo/
sudo ln -s ~/repo/deb.debian.org/debian/ /var/www/html/
sudo ln -s ~/repo/archive.ubuntu.com/ubuntu/ /var/www/html/
sudo ln -s ~/repo/deb.debian.org/ /var/spool/apt-mirror/mirror/
sudo ln -s ~/repo/archive.ubuntu.com/ /var/spool/apt-mirror/mirror/

設定

apache2

apache2
cat <<- '_EOT_' | sed -e 's/^ //g' | sudo tee /etc/apache2/sites-enabled/000-mirror-debian.conf > /dev/null
<VirtualHost *:80>
 	ServerAdmin webmaster@localhost
 	DocumentRoot /var/www/html
 	ErrorLog ${APACHE_LOG_DIR}/error.log
 	CustomLog ${APACHE_LOG_DIR}/access.log combined
 	Alias /debian /var/spool/apt-mirror/mirror/deb.debian.org/debian
 	<Location /debian>
 		Options FollowSymLinks Indexes
 		Require all granted
 	</Location>
</VirtualHost>
_EOT_
cat <<- '_EOT_' | sed -e 's/^ //g' | sudo tee /etc/apache2/sites-enabled/000-mirror-ubuntu.conf > /dev/null
<VirtualHost *:80>
 	ServerAdmin webmaster@localhost
 	DocumentRoot /var/www/html
 	ErrorLog ${APACHE_LOG_DIR}/error.log
 	CustomLog ${APACHE_LOG_DIR}/access.log combined
 	Alias /ubuntu /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu
 	<Location /ubuntu>
 		Options FollowSymLinks Indexes
 		Require all granted
 	</Location>
</VirtualHost>
_EOT_

mirror.list

mirror.list
if [ ! -f /etc/apt/mirror.list.orig ]; then
	sudo cp -p /etc/apt/mirror.list /etc/apt/mirror.list.orig
fi
# sudo cp -p /etc/apt/mirror.list.orig /etc/apt/mirror.list # recovery
sudo sed -i /etc/apt/mirror.list \
    -e 's/^\(deb\( \|-src \)\)/#\1/g' \
    -e 's/^\(clean \)/#\1/g'
cat <<- '_EOT_' | sed -e 's/^ //g' | sudo tee -a /etc/apt/mirror.list > /dev/null

	# === Debian 8: jessie ========================================================
	#deb http://deb.debian.org/debian/ jessie main contrib non-free
	#deb http://deb.debian.org/debian/ jessie-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ jessie main contrib non-free
	#deb-src http://deb.debian.org/debian/ jessie-updates main contrib non-free

	# === Debian 9: stretch =======================================================
	#deb http://deb.debian.org/debian/ stretch main contrib non-free
	#deb http://deb.debian.org/debian/ stretch-backports main contrib non-free
	#deb http://deb.debian.org/debian/ stretch-backports-sloppy main contrib non-free
	#deb http://deb.debian.org/debian/ stretch-proposed-updates main contrib non-free
	#deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ stretch main contrib non-free
	#deb-src http://deb.debian.org/debian/ stretch-backports main contrib non-free
	#deb-src http://deb.debian.org/debian/ stretch-backports-sloppy main contrib non-free
	#deb-src http://deb.debian.org/debian/ stretch-proposed-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ stretch-updates main contrib non-free

	# === Debian 10: buster =======================================================
	#deb http://deb.debian.org/debian/ buster main contrib non-free
	#deb http://deb.debian.org/debian/ buster-backports main contrib non-free
	#deb http://deb.debian.org/debian/ buster-backports-sloppy main contrib non-free
	#deb http://deb.debian.org/debian/ buster-proposed-updates main contrib non-free
	#deb http://deb.debian.org/debian/ buster-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ buster main contrib non-free
	#deb-src http://deb.debian.org/debian/ buster-backports main contrib non-free
	#deb-src http://deb.debian.org/debian/ buster-backports-sloppy main contrib non-free
	#deb-src http://deb.debian.org/debian/ buster-proposed-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free

	# === Debian 11: bullseye ================================================================
	deb http://deb.debian.org/debian/ bullseye main contrib non-free
	deb http://deb.debian.org/debian/ bullseye-backports main contrib non-free
	deb http://deb.debian.org/debian/ bullseye-backports-sloppy main contrib non-free
	deb http://deb.debian.org/debian/ bullseye-proposed-updates main contrib non-free
	deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
	#deb-src http://deb.debian.org/debian/ bullseye-backports main contrib non-free
	#deb-src http://deb.debian.org/debian/ bullseye-backports-sloppy main contrib non-free
	#deb-src http://deb.debian.org/debian/ bullseye-proposed-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free

	# === Debian 12: bookworm =====================================================
	deb http://deb.debian.org/debian/ bookworm main contrib non-free
	deb http://deb.debian.org/debian/ bookworm-backports main contrib non-free
	deb http://deb.debian.org/debian/ bookworm-proposed-updates main contrib non-free
	deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ bookworm main contrib non-free
	#deb-src http://deb.debian.org/debian/ bookworm-backports main contrib non-free
	#deb-src http://deb.debian.org/debian/ bookworm-proposed-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free

	# === oldoldoldstable =========================================================
	#deb http://deb.debian.org/debian/ oldoldoldstable main contrib non-free
	#deb http://deb.debian.org/debian/ oldoldoldstable-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldoldoldstable main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldoldoldstable-updates main contrib non-free

	# === oldoldstable ============================================================
	#deb http://deb.debian.org/debian/ oldoldstable main contrib non-free
	#deb http://deb.debian.org/debian/ oldoldstable-backports main contrib non-free
	#deb http://deb.debian.org/debian/ oldoldstable-backports-sloppy main contrib non-free
	#deb http://deb.debian.org/debian/ oldoldstable-proposed-updates main contrib non-free
	#deb http://deb.debian.org/debian/ oldoldstable-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldoldstable main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldoldstable-backports main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldoldstable-backports-sloppy main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldoldstable-proposed-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldoldstable-updates main contrib non-free

	# === oldstable ===============================================================
	#deb http://deb.debian.org/debian/ oldstable main contrib non-free
	#deb http://deb.debian.org/debian/ oldstable-backports main contrib non-free
	#deb http://deb.debian.org/debian/ oldstable-backports-sloppy main contrib non-free
	#deb http://deb.debian.org/debian/ oldstable-proposed-updates main contrib non-free
	#deb http://deb.debian.org/debian/ oldstable-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldstable main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldstable-backports main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldstable-backports-sloppy main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldstable-proposed-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ oldstable-updates main contrib non-free

	# === stable ==================================================================
	deb http://deb.debian.org/debian/ stable main contrib non-free
	deb http://deb.debian.org/debian/ stable-backports main contrib non-free
	deb http://deb.debian.org/debian/ stable-backports-sloppy main contrib non-free
	deb http://deb.debian.org/debian/ stable-proposed-updates main contrib non-free
	deb http://deb.debian.org/debian/ stable-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ stable main contrib non-free
	#deb-src http://deb.debian.org/debian/ stable-backports main contrib non-free
	#deb-src http://deb.debian.org/debian/ stable-backports-sloppy main contrib non-free
	#deb-src http://deb.debian.org/debian/ stable-proposed-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ stable-updates main contrib non-free

	# === testing =================================================================
	deb http://deb.debian.org/debian/ testing main contrib non-free
	deb http://deb.debian.org/debian/ testing-backports main contrib non-free
	deb http://deb.debian.org/debian/ testing-proposed-updates main contrib non-free
	deb http://deb.debian.org/debian/ testing-updates main contrib non-free
	deb http://deb.debian.org/debian/ unstable main contrib non-free
	#deb-src http://deb.debian.org/debian/ testing main contrib non-free
	#deb-src http://deb.debian.org/debian/ testing-backports main contrib non-free
	#deb-src http://deb.debian.org/debian/ testing-proposed-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ testing-updates main contrib non-free
	#deb-src http://deb.debian.org/debian/ unstable main contrib non-free

	# === trusty ==================================================================
	# === xenial ==================================================================
	# === bionic ==================================================================
	# === devel ===================================================================
	# === focal ===================================================================
	# === hirsute =================================================================
	# === impish ==================================================================

	# === jammy ===================================================================
	deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
	#deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
	#deb http://archive.ubuntu.com/ubuntu/ jammy-proposed main restricted universe multiverse
	deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
	deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
	#deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
	#deb-src http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
	#deb-src http://archive.ubuntu.com/ubuntu/ jammy-proposed main restricted universe multiverse
	#deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse

	# === kinetic =================================================================
	deb http://archive.ubuntu.com/ubuntu/ kinetic main restricted universe multiverse
	#deb http://archive.ubuntu.com/ubuntu/ kinetic-backports main restricted universe multiverse
	#deb http://archive.ubuntu.com/ubuntu/ kinetic-proposed main restricted universe multiverse
	deb http://archive.ubuntu.com/ubuntu/ kinetic-security main restricted universe multiverse
	deb http://archive.ubuntu.com/ubuntu/ kinetic-updates main restricted universe multiverse
	#deb-src http://archive.ubuntu.com/ubuntu/ kinetic main restricted universe multiverse
	#deb-src http://archive.ubuntu.com/ubuntu/ kinetic-backports main restricted universe multiverse
	#deb-src http://archive.ubuntu.com/ubuntu/ kinetic-proposed main restricted universe multiverse
	#deb-src http://archive.ubuntu.com/ubuntu/ kinetic-updates main restricted universe multiverse

	# === clean ===================================================================
	clean http://archive.ubuntu.com/ubuntu/
_EOT_

実行

ダウンロード

ダウンロード
sudo systemctl restart apache2
sudo rm -rf /var/spool/apt-mirror/var/*log* \
            /var/spool/apt-mirror/var/*urls* \
            /var/spool/apt-mirror/var/apt-mirror.lock \
            /var/spool/apt-mirror/var/ALL \
            /var/spool/apt-mirror/var/MD5 \
            /var/spool/apt-mirror/var/NEW \
            /var/spool/apt-mirror/var/SHA1 \
            /var/spool/apt-mirror/var/SHA256 \
            /var/spool/apt-mirror/skel/* \
            /var/spool/apt-mirror/mirror/deb.debian.org/debian/* \
            /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu/*
sudo -u apt-mirror apt-mirror

ログ

ログ
master@sv-server:~$ sudo -u apt-mirror apt-mirror
Downloading 798 index files using 20 threads...
Begin time: Fri Jun 10 22:26:56 2022
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Fri Jun 10 22:27:37 2022

Processing translation indexes: [TTTTTTTTTTTTTTTTTTTTTTTTT]

Downloading 1320 translation files using 20 threads...
Begin time: Fri Jun 10 22:27:37 2022
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Fri Jun 10 22:29:00 2022

Processing DEP-11 indexes: [DDDDDDDDDDDDDDDDDDDDDDDDD]

Downloading 155 dep11 files using 20 threads...
Begin time: Fri Jun 10 22:29:00 2022
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Fri Jun 10 22:29:24 2022

Processing indexes: [PPPPPPPPPPPPPPPPPPPPPPPPP]

367.8 GiB will be downloaded into archive.
Downloading 199403 archive files using 20 threads...
Begin time: Fri Jun 10 22:29:43 2022
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Sat Jun 11 08:06:16 2022

0 bytes in 0 files and 0 directories can be freed.
Run /var/spool/apt-mirror/var/clean.sh for this purpose.

Running the Post Mirror script ...
(/var/spool/apt-mirror/var/postmirror.sh)


Post Mirror script has completed. See above output for any possible errors.

master@sv-server:~$ LANG=C df -h /home
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/vg01-home  492G  371G   96G  80% /home

確認

mmdebstrap

パッケージ導入
sudo apt-get -y install mmdebstrap
mmdebstrap [debian stable amd64]
sudo rm -rf ./fsimg/
sudo mkdir -p ./fsimg
sudo mmdebstrap \
    --components="main non-free contrib" \
    --variant=standard \
    --mode=sudo \
    --aptopt='Apt::Install-Recommends "true"' \
    --include=" \
    build-essential curl vim \
    open-vm-tools open-vm-tools-desktop \
    clamav \
    bind9 dnsutils \
    openssh-server \
    samba smbclient cifs-utils \
    isc-dhcp-server \
    minidlna \
    linux-headers-amd64 \
    linux-image-amd64 \
    " \
    --architectures=amd64 \
    --keyring=./keyring/ \
    stable \
    "./fsimg/" \
    http://sv-server/debian/
mmdebstrap [ubuntu kinetic amd64]
sudo rm -rf ./fsimg/
sudo mkdir -p ./fsimg
sudo mmdebstrap \
    --components="main multiverse restricted universe" \
    --variant=standard \
    --mode=sudo \
    --aptopt='Apt::Install-Recommends "true"' \
    --include=" \
    build-essential curl vim \
    open-vm-tools open-vm-tools-desktop \
    clamav \
    bind9 dnsutils \
    openssh-server \
    samba smbclient cifs-utils \
    isc-dhcp-server \
    minidlna \
    linux-headers-generic \
    linux-image-generic \
    " \
    --architectures=amd64 \
    --keyring=./keyring/ \
    kinetic \
    "./fsimg/" \
    http://sv-server.local/ubuntu/
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?