Как мне получить apt-get update` для работы на машине без доступа в Интернет и вручную назначенного IP-адреса?

Я установил 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 указать правильный путь?

19
задан 15 January 2018 в 09:52

6 ответов

Я нашел решение изменить файл 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.

Просто подумал о том, чтобы опубликовать это как возможное решение для тех, кто может иметь одну и ту же проблему.

21
ответ дан 22 May 2018 в 15:47
  • 1
    Отправка ответа на ваш собственный вопрос - абсолютно правильный способ сделать это. От имени людей, которые найдут это в будущем, спасибо! – Alex 3 January 2018 в 15:36
  • 2
    Вы также можете отметить это как решение. – topher 3 January 2018 в 21:49
  • 3
    Я не думаю, что это то, что на самом деле решило вашу проблему, учитывая, что вы получили ошибку для файла amd64, и ограничение на amd64 вряд ли заставит его уйти. Это единственное изменение, которое вы внесли в sources.list или в другую связанную конфигурацию? Вы повторно синхронизировали свое зеркало перед этим изменением? – muru 3 January 2018 в 22:21
  • 4
    Я согласен с @topher. Вы должны отметить это как решение. – rockower 3 January 2018 в 23:04
  • 5
    @muru Да, это единственное изменение, которое я сделал, и это не дает никакой ошибки после этого. И да, я согласен с вами в том, что он должен не решить проблему. Итак, какие-либо идеи относительно того, почему это сработало? Кроме того, я заметил, что путь, который пытался выполнить поиск (в ошибке), неверен - он должен искать в http://192.168.12.61/ubuntu/dists/xenial/restricted/binary-amd64/Packages, но он искал в http://192.168.12.61/ubuntu/dists/xenial/dists/main/restricted/binary-amd64/Packages. Почему это так? И каким образом определение архитектуры также решило эту проблему? – Kristada673 4 January 2018 в 05:30

Я нашел решение изменить файл 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.

Просто подумал о том, чтобы опубликовать это как возможное решение для тех, кто может иметь одну и ту же проблему.

21
ответ дан 17 July 2018 в 23:59

Я нашел решение изменить файл 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.

Просто подумал о том, чтобы опубликовать это как возможное решение для тех, кто может иметь одну и ту же проблему.

21
ответ дан 24 July 2018 в 17:08

мой прием на [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

В конце концов, я могу рискнуть и воспроизвести это в своей собственной лаборатории, прежде чем ответить в дальнейшем.

0
ответ дан 22 May 2018 в 15:47

мой прием на [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

В конце концов, я могу рискнуть и воспроизвести это в своей собственной лаборатории, прежде чем ответить в дальнейшем.

0
ответ дан 17 July 2018 в 23:59

мой прием на [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

В конце концов, я могу рискнуть и воспроизвести это в своей собственной лаборатории, прежде чем ответить в дальнейшем.

0
ответ дан 24 July 2018 в 17:08

Другие вопросы по тегам:

Похожие вопросы: