Я установил apt-mirror и успешно загрузил последние пакеты ubuntu на компьютере, который может получить доступ к Интернету. Цель состоит в том, чтобы использовать этот компьютер в качестве репозитория при выполнении apt-get update на целевой машине, не имеющей доступа к Интернету. Обе машины были настроены с использованием ручных IP-адресов, и обе машины работают с Ubuntu 16.04 в качестве ОС. [F10] на целевом компьютере имеет только одну строку:
deb http://<local_repo_IP>/ubuntu/ xenial main restricted multiverse universe
Но когда я делаю sudo apt-get update на целевой машине, я получаю следующую ошибку:
Ign:1 http://<local_repo_IP>/ubuntu/dists/xenial main InRelease
Ign:2 http://<local_repo_IP>/ubuntu/dists/xenial main Release
Ign:3 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted amd64 Packages
Ign:4 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted i386 Packages
Ign:5 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted all Packages
Ign:6 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en_HK
Ign:7 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en
Ign:8 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse amd64 Packages
Ign:9 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse i386 Packages
Ign:10 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse all Packages
Ign:11 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en_HK
Ign:12 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en
Ign:13 http://<local_repo_IP>/ubuntu/dists/xenial main/universe amd64 Packages
Ign:14 http://<local_repo_IP>/ubuntu/dists/xenial main/universe i386 Packages
Ign:15 http://<local_repo_IP>/ubuntu/dists/xenial main/universe all Packages
Ign:16 http://<local_repo_IP>/ubuntu/dists/xenial main/universe Translation-en_HK
Ign:17 http://<local_repo_IP>/ubuntu/dists/xenial main/universe Translation-en
Ign:3 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted amd64 Packages
Ign:4 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted i386 Packages
Ign:5 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted all Packages
Ign:6 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en_HK
Ign:7 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en
Ign:8 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse amd64 Packages
Ign:9 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse i386 Packages
Ign:10 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse all Packages
Ign:11 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en_HK
Ign:12 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en
Ign:13 http://<local_repo_IP>/ubuntu/dists/xenial main/universe amd64 Packages
Ign:14 http://<local_repo_IP>/ubuntu/dists/xenial main/universe i386 Packages
Ign:15 http://<local_repo_IP>/ubuntu/dists/xenial main/universe all Packages
Ign:16 http://<local_repo_IP>/ubuntu/dists/xenial main/universe Translation-en_HK
Ign:17 http://<local_repo_IP>/ubuntu/dists/xenial main/universe Translation-en
Ign:3 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted amd64 Packages
Ign:4 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted i386 Packages
Ign:5 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted all Packages
Ign:6 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en_HK
Ign:7 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en
Ign:8 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse amd64 Packages
Ign:9 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse i386 Packages
Ign:10 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse all Packages
Ign:11 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en_HK
Ign:12 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en
Ign:13 http://<local_repo_IP>/ubuntu/dists/xenial main/universe amd64 Packages
Ign:14 http://<local_repo_IP>/ubuntu/dists/xenial main/universe i386 Packages
Ign:15 http://<local_repo_IP>/ubuntu/dists/xenial main/universe all Packages
Ign:16 http://<local_repo_IP>/ubuntu/dists/xenial main/universe Translation-en_HK
Ign:17 http://<local_repo_IP>/ubuntu/dists/xenial main/universe Translation-en
Ign:3 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted amd64 Packages
Ign:4 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted i386 Packages
Ign:5 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted all Packages
Ign:6 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en_HK
Ign:7 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en
Ign:8 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse amd64 Packages
Ign:9 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse i386 Packages
Ign:10 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse all Packages
Ign:11 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en_HK
Ign:12 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en
Ign:13 http://<local_repo_IP>/ubuntu/dists/xenial main/universe amd64 Packages
Ign:14 http://<local_repo_IP>/ubuntu/dists/xenial main/universe i386 Packages
Ign:15 http://<local_repo_IP>/ubuntu/dists/xenial main/universe all Packages
Ign:16 http://<local_repo_IP>/ubuntu/dists/xenial main/universe Translation-en_HK
Ign:17 http://<local_repo_IP>/ubuntu/dists/xenial main/universe Translation-en
Ign:3 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted amd64 Packages
Ign:4 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted i386 Packages
Ign:5 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted all Packages
Ign:6 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en_HK
Ign:7 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en
Ign:8 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse amd64 Packages
Ign:9 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse i386 Packages
Ign:10 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse all Packages
Ign:11 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en_HK
Ign:12 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en
Ign:13 http://<local_repo_IP>/ubuntu/dists/xenial main/universe amd64 Packages
Ign:14 http://<local_repo_IP>/ubuntu/dists/xenial main/universe i386 Packages
Ign:15 http://<local_repo_IP>/ubuntu/dists/xenial main/universe all Packages
Ign:16 http://<local_repo_IP>/ubuntu/dists/xenial main/universe Translation-en_HK
Ign:17 http://<local_repo_IP>/ubuntu/dists/xenial main/universe Translation-en
Err:3 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted amd64 Packages
404 Not Found
Ign:4 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted i386 Packages
Ign:5 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted all Packages
Ign:6 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en_HK
Ign:7 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted Translation-en
Ign:8 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse amd64 Packages
Ign:9 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse i386 Packages
Ign:10 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse all Packages
Ign:11 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en_HK
Ign:12 http://<local_repo_IP>/ubuntu/dists/xenial main/multiverse Translation-en
Ign:13 http://<local_repo_IP>/ubuntu/dists/xenial main/universe amd64 Packages
Reading package lists... Done
W: The repository 'http://<local_repo_IP>/ubuntu/dists/xenial main Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://<local_repo_IP>/ubuntu/dists/xenial/dists/main/restricted/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
На целевой машине:
Файл /etc/resolve.conf содержит следующее:# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
/etc/network/interfaces содержит следующее: # interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Кроме того, поскольку единственная строка в вывод apt-get update, который явно говорит об ошибке, является Err:3 http://<local_repo_IP>/ubuntu/dists/xenial main/restricted amd64 Packages, я проверил, существует ли файл, выполнив следующее на целевой машине
wget http://<local_repo_IP>/ubuntu/dists/xenial/restricted/binary-amd64/Packages
И я вижу, что файл есть, так как я получаю следующий вывод:
--2017-12-21 17:23:24-- http://<local_repo_IP>/ubuntu/dists/xenial/restricted/binary-amd64/Packages
Connecting to <local_repo_IP>:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 127112 (124K)
Saving to: ‘Packages’
Packages 100%[============================>] 124.13K --.-KB/s in 0s
2017-12-21 17:23:24 (469 MB/s) - ‘Packages’ saved [127112/127112]
Я также проверил, могу ли я успешно выполнить ping с целевой машины на машину репо. Это тоже работает.
PING <local_repo_IP> (<local_repo_IP>) 56(84) bytes of data.
64 bytes from <local_repo_IP>: icmp_seq=1 ttl=64 time=0.169 ms
64 bytes from <local_repo_IP>: icmp_seq=2 ttl=64 time=0.671 ms
64 bytes from <local_repo_IP>: icmp_seq=3 ttl=64 time=0.186 ms
64 bytes from <local_repo_IP>: icmp_seq=4 ttl=64 time=0.190 ms
64 bytes from <local_repo_IP>: icmp_seq=5 ttl=64 time=0.315 ms
^C
--- <local_repo_IP> ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4047ms
rtt min/avg/max/mdev = 0.169/0.306/0.671/0.190 ms
Итак, что случилось с apt-get update? Как я могу исправить это и заставить его работать?
P.S. Я только заметил, что ошибка говорит http://<local_repo_IP>/ubuntu/dists/xenial/dists/main/restricted/binary-amd64/Packages. Почему он пытается искать пакеты restricted внутри main? Разве это не должно выглядеть http://<local_repo_IP>/ubuntu/dists/xenial/restricted/binary-amd64/Packages? Действительно, когда я делаю wget http://<local_repo_IP>/ubuntu/dists/xenial/dists/main/restricted/binary-amd64/Packages, он дает следующую ошибку:
--2017-12-21 17:26:06-- http://<local_repo_IP>/ubuntu/dists/xenial/dists/main/restricted/binary-amd64/Packages
Connecting to <local_repo_IP>:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-12-21 17:26:06 ERROR 404: Not Found.
Что здесь происходит? Почему он пытается проверить несуществующий каталог? И как я могу apt-get update указать правильный путь?
Я нашел решение изменить файл etc/apt/sources.list, чтобы включить файлы только в архитектуру системы:
deb [arch=amd64] http://192.168.12.61/ubuntu/ xenial main restricted multiverse universe
Теперь, когда я делаю обновление, его не давая никакой ошибки:
$ sudo apt update
Hit:1 http://192.168.12.61/ubuntu xenial InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
Просто подумал о том, чтобы опубликовать это как возможное решение для тех, кто может иметь одну и ту же проблему.
Я нашел решение изменить файл etc/apt/sources.list, чтобы включить файлы только в архитектуру системы:
deb [arch=amd64] http://192.168.12.61/ubuntu/ xenial main restricted multiverse universe
Теперь, когда я делаю обновление, его не давая никакой ошибки:
$ sudo apt update
Hit:1 http://192.168.12.61/ubuntu xenial InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
Просто подумал о том, чтобы опубликовать это как возможное решение для тех, кто может иметь одну и ту же проблему.
Я нашел решение изменить файл etc/apt/sources.list, чтобы включить файлы только в архитектуру системы:
deb [arch=amd64] http://192.168.12.61/ubuntu/ xenial main restricted multiverse universe
Теперь, когда я делаю обновление, его не давая никакой ошибки:
$ sudo apt update
Hit:1 http://192.168.12.61/ubuntu xenial InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
Просто подумал о том, чтобы опубликовать это как возможное решение для тех, кто может иметь одну и ту же проблему.
мой прием на [amd-64] ... Если скажем, например, в вашем /etc/apt/sources.list вы включили обновления google chrome deb [arch = amd64] http: // dl .google.com / linux / chrome / deb / stable main
вы можете видеть, что это единственная запись, в которой есть [amd-64], и это из источника google.
При первом упоминании «deb http://dl.google.com/linux/chrome/deb/ ...», возможно, ваши обновления зашли в тупик, когда они попали в источники .list упоминание об обновлении chrome, поскольку он не упоминался конкретно как таковой.
Или посмотрите политику sudo apt-cache, sources.list и sources.list.d
В конце концов, я могу рискнуть и воспроизвести это в своей собственной лаборатории, прежде чем ответить в дальнейшем.
мой прием на [amd-64] ... Если скажем, например, в вашем /etc/apt/sources.list вы включили обновления google chrome deb [arch = amd64] http: // dl .google.com / linux / chrome / deb / stable main
вы можете видеть, что это единственная запись, в которой есть [amd-64], и это из источника google.
При первом упоминании «deb http://dl.google.com/linux/chrome/deb/ ...», возможно, ваши обновления зашли в тупик, когда они попали в источники .list упоминание об обновлении chrome, поскольку он не упоминался конкретно как таковой.
Или посмотрите политику sudo apt-cache, sources.list и sources.list.d
В конце концов, я могу рискнуть и воспроизвести это в своей собственной лаборатории, прежде чем ответить в дальнейшем.
мой прием на [amd-64] ... Если скажем, например, в вашем /etc/apt/sources.list вы включили обновления google chrome deb [arch = amd64] http: // dl .google.com / linux / chrome / deb / stable main
вы можете видеть, что это единственная запись, в которой есть [amd-64], и это из источника google.
При первом упоминании «deb http://dl.google.com/linux/chrome/deb/ ...», возможно, ваши обновления зашли в тупик, когда они попали в источники .list упоминание об обновлении chrome, поскольку он не упоминался конкретно как таковой.
Или посмотрите политику sudo apt-cache, sources.list и sources.list.d
В конце концов, я могу рискнуть и воспроизвести это в своей собственной лаборатории, прежде чем ответить в дальнейшем.