我对 Linux 并不陌生,但我要设置本地存储库。在研究了如何下载和设置本地 ubuntu 存储库后,我决定使用 apt-mirror 来完成我的任务。但是,下载过程完成后,我注意到 clean.sh 脚本没有删除任何文件,并且无法打开 postmirror.sh。
以下是我的 mirror.list 文件的样子:
set base_path /home/userx/xenial_repo
set nthreads 30
set _tilde 0
deb-amd64 http://mirror.symnds.com/ubuntu xenial main restricted universe multiverse
deb-i386 http://mirror.symnds.com/ubuntu xenial main restricted universe multiverse
deb-src http://mirror.symnds.com/ubuntu xenial main restricted universe multiverse
clean http://mirror.symnds.com/ubuntu
我使用以下命令执行 apt-mirror 并开始下载过程:
sudo apt-mirror /etc/apt/mirror.list
这是我执行上述命令后的输出:
userx@machinex:~/xenial_repo$ sudo apt-mirror /etc/apt/mirror.list
Downloading 104 index files using 30 threads...
Begin time: Fri Sep 16 23:12:25 2016
[30]... [29]... [28]... [27]... [26]... [25]... [24]... [23]... [22]... [21]... [20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Fri Sep 16 23:12:38 2016
Processing tranlation indexes: [TT]
Downloading 540 translation files using 30 threads...
Begin time: Fri Sep 16 23:12:38 2016
[30]... [29]... [28]... [27]... [26]... [25]... [24]... [23]... [22]... [21]... [20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Fri Sep 16 23:13:06 2016
Processing DEP-11 indexes: [DD]
Downloading 14 dep11 files using 14 threads...
Begin time: Fri Sep 16 23:13:06 2016
[14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Fri Sep 16 23:13:10 2016
Processing indexes: [SSPP]
168.6 GiB will be downloaded into archive.
Downloading 160330 archive files using 30 threads...
Begin time: Fri Sep 16 23:13:24 2016
[30]... [29]... [28]... [27]... [26]... [25]... [24]... [23]... [22]... [21]... [20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Sat Sep 17 04:08:46 2016
0 bytes in 0 files and 0 directories can be freed.
Run /home/userx/xenial_repo/var/clean.sh for this purpose.
Running the Post Mirror script ...
(/home/userx/xenial_repo/var/postmirror.sh)
/bin/sh: 0: Can't open /home/userx/xenial_repo/var/postmirror.sh
Post Mirror script has completed. See above output for any possible errors.
下载完成后,我查看了 /home/userx/xenial_repo 目录以查看其中的内容,发现了以下结构:
xenial_repo
├───mirror
│ ├───archive.ubuntu.com
│ │ └───ubuntu
│ │ ├───dists
│ │ │ └───xenial-updates
│ │ │ ├───main
│ │ │ ├───multiverse
│ │ │ ├───restricted
│ │ │ └───universe
│ │ └───pool
│ │ ├───main
│ │ ├───multiverse
│ │ └───universe
│ └───mirror.symnds.com
│ └───ubuntu
│ ├───dists
│ │ └───xenial
│ │ ├───main
│ │ ├───multiverse
│ │ ├───restricted
│ │ └───universe
│ └───pool
│ ├───main
│ ├───multiverse
│ ├───restricted
│ └───universe
├───skel
│ ├───archive.ubuntu.com
│ │ └───ubuntu
│ │ └───dists
│ │ └───xenial-updates
│ │ ├───main
│ │ ├───multiverse
│ │ ├───restricted
│ │ └───universe
│ └───mirror.symnds.com
│ └───ubuntu
│ └───dists
│ └───xenial
│ ├───main
│ ├───multiverse
│ ├───restricted
│ └───universe
└───var
我注意到镜像和 skel 目录相似,但 skel 不包含包含 deb 文件的池目录。var 目录包含一堆日志文件。
我试图找出哪些文件只需要用于我的本地存储库,以及我需要做什么才能每月至少更新一次存储库。
所以我有几个问题:
- 我需要 skel 和 var 目录吗?或者我可以删除它们吗?看起来 clean.sh 脚本没有删除任何内容,所以我不知道应该保留什么以及删除什么。
- 如何更新本地 xenial repo 而无需再次下载所有文件?
- 是否可以更改 mirror.list 文件中的 ubuntu repo 服务器位置并仍然执行更新?
- 我可以合并镜像目录中的 mirror.symnds.com 和 archive.ubuntu.com 中的内容吗?
提前谢谢你!
答案1
您需要在 Apache 文档根目录中创建“ubuntu”目录以及一些用于包和元数据位置的软链接。如果您导航到http://archive.ubuntu.com/ubuntu,您将看到我们试图实现的结构。
mkdir -p /var/www/html/ubuntu
ln -s /mnt/usb/repos/debian/mirror/archive.ubuntu.com/ubuntu/pool /var/www/html/ubuntu/pool
ln -s /mnt/usb/repos/debian/skel/archive.ubuntu.com/ubuntu/dists /var/www/html/ubuntu/dists