На этот вопрос уже есть ответ здесь:
Мне нужно составить список файлов deb, которые позволяет мне устанавливать вещи без интернета.
Как мы знаем, когда мы выполняем apt-get install XXX
, мы можем найти некоторые файлы deb в / var / cache / apt / archives /
. С помощью этих файлов deb мы можем выполнить apt install ./*.deb
, чтобы выполнить установку локально (без Интернета).
Итак, вот что я сделал:
sudo apt-get install pkg1
sudo apt-get install pkg2
...
...
sudo cp /var/cache/apt/archives/*.deb ~/deb/
Теперь я получил все необходимые файлы deb в ~ / deb
.
Затем я копирую ~ / deb
в другой новый Ubuntu 16.04.3 и выполняю apt install ./deb/*.deb
.
К своему удивлению, я обнаружил несколько странных ошибок:
1) Конфликт некоторых debs. Например, когда я выполняю apt install ./deb/*.deb
, он говорит, что конфликт a.deb
и b.deb
, я должен удалить один из них, чтобы завершить установку.
2) После выполнения apt install ./deb/*.deb
ssh системы не работает, мне нужно выполнить apt update && apt install openssh-server openssh-client
, чтобы отремонтировать его.
Я не могу понять, почему файлы deb из официального источника не могут быть правильно установлены локально.
Для локальных файлов можно использовать dpkg или gdebi.
Например. dpkg -i /path/to/file.deb
Или
sudo apt-get install gdebi
gdebi /path/to/file.deb