我正在尝试访问 USB 驱动器上的本地 apt 镜像。驱动器上的文件树是
/apt-mirror
/mirror
/archive.ubuntu.com
/dists
/pool
/skel
/var
驱动器是 /media/truecrypt1,因此我将以下行添加到源列表中:
deb file:///media/truecrypt1/apt-mirror trusty main restricted universe multiverse
当我这样做时,sudo apt-get update
我会收到很多错误,例如:
Err file: trusty/main Sources
File not found
然后它尝试到达http://us.archive.ubuntu.com这当然不起作用,因为它是一台离线机器,所以当它无法连接到该站点时我会收到一整串错误。
如果我尝试安装一个包,例如:
sudo apt-get install astyle
它尝试这样做,但后来失败了,因为它无法连接到 us.archive.unbuntu.com。
我怎样才能在这里取得进步?
答案1
您应该在本地目录中构建一个存储库,并将 file: URI 条目指向您的 APT 源(请参阅 mansources.list 中的 URI 规范):
deb file:/home/user/repository
为了使 apt 工作,您需要创建一个包列表 (Packages.gz) 供 APT 使用。此处对此进行了详细解释。对于你的情况,这应该很容易。我建议您参阅手册的“简单存储库”部分。它应该像更改为 /home/user/repository 并运行一样简单
dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
然后在 apt-get 更新之后,这些软件包应该变得可用。也许如果您想让这个源优先于其他源,您需要为其分配更高的优先级;请参阅 APT 手册页。
答案2
您尚未在sources.list
文件中指定镜像的完整路径。
尝试:
deb file:///media/truecrypt1/apt-mirror/mirror/archive.ubuntu.com trusty main \
restricted universe multiverse
(添加换行符以避免水平滚动。应该全部在一行上,没有\
)。