Как я могу установить программное обеспечение или пакеты без Интернета (в автономном режиме)?


257

У меня есть друг, у которого есть компьютер, который не подключен к Интернету. Есть ли способ легко установить программное обеспечение в автономном режиме?


1
Следующая ссылка также может быть интересной для вас. askubuntu.com/questions/86358/…
starkus

Ответы:


129

Проверьте Керикс ; это автономный менеджер репозитория.

Как это работает? Он позволяет загружать обновления и новые программы (с зависимостями) на вашу флешку .

Его интерфейс похож на Synaptic, но он работает от Pendrive (не требует установки). К сожалению, для графического интерфейса нужны wxwidgets, которые не предустановлены в Ubuntu (они кроссплатформенны и устанавливаются отсюда, а хранилище Ubuntu здесь ). Он может устанавливать программное обеспечение только в системе Ubuntu, но вы можете загружать обновления или новые пакеты в любой Linux, Windows или OS X.

Здесь вы можете найти учебник .

Другой подробный пошаговый учебник в этом ответе .

Launchpad также содержит загружаемые файлы .

Скриншот:

Screenshoot


12
keryx больше не разрабатывается, если вы пытаетесь сделать это на более новой версии Ubuntu, используйте переносную версию, чтобы уберечь себя от проблем зависимостей.
Алекс Р

1
Я до сих пор пользуюсь keryxбез проблем, хотя явно нуждается в доработке и доработке.
Карнендил


Что если на другом офлайн-компьютере нет gcc, g ++? Это свежая установленная Ubuntu. Как я могу установить wxwidgets? Без wxwidgets он жалуется на отсутствующий модуль ...
предложение не может отказаться

3
Я только что выпустил новую версию Keryx ( 0.92.5 ), которая может решить некоторые проблемы. Скомпилированная версия должна содержать зависимости, такие как wxWidgets, и позволять вам без проблем работать в Windows.
Майкл Креншоу

57

Быстрый взлом

Быстрый способ - скопировать все пакеты, которые вы скачали для установки, на его компьютер ( подробные инструкции здесь ). Файлы .deb хранятся в /var/cache/apt/archives, затем на другом компьютере запускают Synaptic и выбирают File -> Add Package Downloadedи ищут папку, в которую вы положили файлы, и открываете ее, принимаете все (или устанавливаете с терминала с помощью команды sudo dpkg -i DEB_PACKAGE_NAME).

ПРИМЕЧАНИЕ.
Это предполагает, что ваш менеджер пакетов не настроен на удаление пакетов сразу после установки. Также предполагается, что вы используете ту же версию Ubuntu (10.10, 12.04 и т. Д.) И версию архитектуры (32b или 64b) .


Хранилище DVD

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


2
Если вы не можете запустить sudo apt-get updateэто, это не будет работать очень хорошо, все еще будет экономить время при настройке новой системы :)
GM-Script-Writer-62850

Согласились, только что обновили два компьютера до 13.10 с 13.04. Первый должен был загрузить ~ 1.8Gb, скопировав содержимое /var/cache/apt/archivesвторого, сделав загрузку всего ~ 250Mb. Тем не менее, вам нужно подключение для запуска установки.
Максим Р.

apt-get updateне требуется, если вы копируете /var/lib/apt/lists- этот каталог содержит информацию о хранилище, которая загружается apt-get update.
ignis

Я скопировал мой .debко мне usbс /var/cache/apt/archives. На другом компьютере я просто открыл USB-накопитель и дважды щелкнул тот, .debкоторый запустил Ubuntu GUI Software Updater. Легко pezy.
Джексонкр

@ jr0cket: есть ли способ избежать пакетов в этой папке, /var/cache/apt/archivesкоторые уже (встроенные) появляются при установке Debian?. Причина, по которой я спрашиваю, это 4,8 ГБ, слишком велика для моего usb-накопителя, который составляет 4 ГБ.
Джастин

42

USB-репозиторий

Если у вас есть USB-накопитель приличного размера - около 4–8 ГБ (или внешний жесткий диск), вы можете настроить пользовательскую копию репозитория Ubuntu и настроить ее как локальный репозиторий, как описано в AptGet / Offline / Repository на help.ubuntu. .com.

Чтобы получить действительные файлы пакета (файлы .deb), я предлагаю использовать apt-mirror.

apt-mirrorПакет поможет вам создать пользовательское зеркало , которое должно быть меньше , чем 30GB полного хранилища. Установите пакет:

sudo apt-get install apt-mirror

и отредактируйте его файл конфигурации

gksudo gedit /etc/apt-mirror/mirror.list

или начиная с Ubuntu 14.04

gksudo gedit /etc/apt/mirror.list

Включайте только те разделы репозитория, которые вы хотите. Вот простой пример, который копирует двоичные файлы .deb из всех 4 разделов (основной, ограниченный, юниверс и мультивселенная), а также последние исправления ошибок.

# apt-mirror configuration file
##
## The default configuration options (uncomment and change to override)
##
#
set base_path    /tmp/ubuntumirror
#

## Repositories to copy from - 

## use a mirror so you don't overload the main server!!!

# Lucid binaries - no source files
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse


## Clean up older .deb files no longer in the archive
clean http://archive.ubuntu.com/ubuntu

Предполагается, что вам потребуется около 15 Гб свободного места для всех 4 разделов без источника.

Я /tmpуказал путь ко всем файлам .deb , убедитесь, что у вас достаточно места, чтобы ваш жесткий диск не заполнялся (если ваш жесткий диск заполняется и ваш компьютер зависает, его /tmpследует очистить перезагрузкой).

Если вам нужны только основные файлы, удалите ограниченные имена, имена юниверсов и мультивселенных из файла конфигурации.

Если вы используете другую архитектуру (у вас 64-битная, но у вашего друга 32-битная), добавьте следующее в начале файла конфигурации mirror.list :

set defaultarch i386

Как только у вас будет apt-mirrorнужная конфигурация, запустите apt-mirrorи начните делать что-то веселое или изменить жизнь, так как для получения хранилища понадобятся часы или дни (в зависимости от вашего соединения и используемого вами зеркала Ubuntu).

Когда у вас есть файлы .deb, скопируйте их на карту памяти USB (или внешний жесткий диск) и настройте локальный репозиторий в соответствии со статьей, упомянутой ранее.

Проверьте это работает, прежде чем принять его к своему другу!


Подробное описание пакета apt-mirror: apt-mirror.sourceforge.net
jr0cket,

Когда я попробовал sudo apt-get install apt-mirrorпрямо на Ubuntu 16.10 (Yakkety Yak), настольную версию / Rufus / USB-накопитель / пробный режим, я получил " E: Unable to locate package apt-mirror". Там было подключение к Интернету, проверено ping.
Питер Мортенсен

Бег sudo apt-get updateне исправил.
Питер Мортенсен

32

Я использую apt-get с опцией "--print-uris", чтобы сделать это. Я также добавляю "-qq", чтобы было тихо.

Используйте sed, чтобы удалить дополнительные символы, добавленные к некоторым именам файлов (например, 3% 2a), и получить URL, имя файла и md5sum файлов. Используйте wget для загрузки файлов. Используйте md5sum для проверки правильности загрузки файлов.

Вы можете использовать это для создания сценария оболочки для Linux или Mac OS (замените «.cmd» в командах на .sh и выполните «chmod a + x (имя файла), чтобы добавить разрешение на выполнение сценария)» или командный файл Windows. и файл MD5Sum для проверки правильности загрузки файлов.

команды

Создать скрипт:

sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > script.cmd

Примеры:

sudo apt-get install anjuta --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install-anjuta.cmd
sudo apt-get upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > upgrade.cmd
sudo apt-get dist-upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > dist-upgrade.cmd

Создайте файл md5sum:

sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt

Примеры:

sudo apt-get install anjuta --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt
sudo apt-get upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt
sudo apt-get dist-upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt

Вам нужна md5sum для Windows, если вы используете эту операционную систему для загрузки файлов.


Создать скрипт для загрузки списков репозитория:

sudo apt-get update --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) :/wget -c \1 -O \2.bz2/p" > update.cmd

Проверка сумм MD5

Вы можете добавить их в конец скриптов, чтобы проверить md5sum:

Linux:

md5sum --quiet -c md5sum.txt

Windows (использует более старую md5sum, не поддерживает --quiet):

md5sum -c md5sum.txt

Чтобы добавить автоматически в скрипт:

echo -e "md5sum -c md5sum.txt\npause" >> script.cmd

Установка списка файлов (команда обновления)

Запустите эти команды на целевом компьютере.

Вам нужно использовать bunzip2 для распаковки файлов списка репозиториев:

bunzip2 *.bz2

Затем скопируйте в папку списка (текущая папка содержит только файлы списка):

sudo cp * /var/lib/apt/lists/

Сочетание выше (текущая папка может содержать другие файлы):

for listfile in `ls *.bz2`; do bunzip2 $listfile; sudo cp ${listfile%.bz2} /var/lib/apt/lists/; done

Более быстрые загрузки

Если вы хотите ускорить загрузку файлов, попробуйте использовать Axel.

Заменить wget -c ... -O ...на axel ... -o ....

Папка Иерархия (Загрузка файлов с помощью Windows)

Я обычно создаю папку как это:

  • APT-GET /
    • бен /
      • MSYS-1.0.dll
      • MSYS-аэроропорт-8.dll
      • wget.exe
      • MSYS-Iconv-2.dll
      • md5sum.exe
      • libeay32.dll
      • libintl3.dll
      • libssl32.dll
      • libiconv2.dll
    • Обновить/
      • Update.cmd
      • md5sum.txt
    • установить /
      • установить-foo.cmd
      • установить-bar.cmd
      • upgrade.cmd
      • md5sum.txt

Затем измените wgetстроки выше ..\\bin\\wget.exe, md5sumна ..\\bin\\md5sum.exe, и т. Д.

Это разделит файлы * .deb и список файлов в разные папки.

Обновление вашей системы

  1. Загрузите целевой компьютер, который использует Ubuntu
  2. Создать скрипт для обновления
  3. Загрузите компьютер с подключением к Интернету
  4. Запустите update.sh (для Linux или Mac OS) или update.cmd (Windows)
  5. Вернуться к целевому компьютеру
  6. Установить список файлов
  7. Создайте скрипт для upgrade / dist-upgrade (добавьте команды md5sum в конец)
  8. Вернуться к компьютеру с подключением к интернету
  9. Запустите файл upgrade.sh/dist-upgrade.sh (Linux или Mac OS) или upgrade.cmd / dist-upgrade.cmd (Windows).
  10. Вернуться к целевому компьютеру
  11. Скопируйте * .deb файлы в кеш: sudo cp *.deb /var/cache/apt/archives/
  12. Выполнить: sudo apt-get upgradeилиsudo apt-get dist-upgrade

Скачать исполняемые файлы для Windows

Wget для Windows: http://gnuwin32.sourceforge.net/packages/wget.htm

md5sum для Windows: http://gnuwin32.sourceforge.net/packages/coreutils.htm или http://www.etree.org/cgi-bin/counter.cgi/software/md5sum.exe

Вы также можете использовать те из MinGW , которые я использую. Вам нужны только wget.exe, md5sum.exe и необходимые общие библиотеки. Проверьте раздел «Иерархия папок».

Примечания

  • Я не совсем уверен, что все вышеперечисленные команды будут работать, так как я не использовал их в течение месяца. Особенно команда обновления, которую я сегодня не тестировал.
  • Чтобы легко увидеть результаты команд, добавьте строку «пауза» в конце сценария, если вы используете Windows.
  • Я рекомендую создавать сценарии оболочки для обновления, обновления и установки пакетов, если вы часто используете эти команды.

3
Можете ли вы создать простой графический интерфейс для этого :)
Tachyons

использование окон для этого кажется очень странным ...
Алекс Р

1
Это также применимо к Linux (что на самом деле лучше, потому что вам не нужно устанавливать md5sum и wget). Часть Windows предназначена для тех, у кого нет компьютера Linux с подключением к Интернету, поэтому вы можете использовать его в интернет-кафе или на компьютере друга, на котором установлена ​​только Windows.
Арнел А. Борха

-qqпоявляется опция для подавления всех выходных данных apt-get update. Я полагаю, вы действительно не хотите эту опцию.
Руслан

29

Сначала вам нужно получить компьютер с подключением к Интернету, где вы сможете скачать необходимые файлы .deb. После того, как вы загрузили все файлы, теперь вы можете создать CD / DVD-диск или файл ISO, который вы можете использовать для установки программного обеспечения, которое вы скачали на свой автономный ПК.

Начните с чистой установки или виртуальной машины.
sudo apt-get install aptoncd

Установите нужные вам пакеты на одном ПК
sudo apt-get install gbrainy

Запустите aptoncd.
введите описание изображения здесь
Нажмите «Создать».
введите описание изображения здесь
Нажмите «Записать» и установите параметры, затем «Применить».
введите описание изображения здесь
Записать или сохранить.
введите описание изображения здесь

Обратите внимание, что aptoncd создает резервные копии только в текущем apt-кэше.
Вот почему мы начали с чистой VM / новой установки и сделали все это за один прогон.


ооо, вы говорите, если я создаю виртуальную машину и устанавливаю все приложения, которые хочу, затем запускаю эту программу, перенесу cd / dvd на автономный ПК. и он установит все приложения на нем?
Алекс

2
Пока вы используете одну и ту же базовую систему, да. Если вы развертываете офис и хотите быстро и просто добавить что-то, это становится очень полезным. Если вы используете пакет create-meta, да
RobotHumans

Восстановление из образа требует установки hal, но он устарел и больше не поддерживается, насколько я понимаю.
Flashrunner


22

Автономный репозиторий

Как создать автономный репозиторий описано здесь : Вам просто нужно скачать соответствующие файлы с archive.ubuntu.com . В качестве альтернативы вы можете использовать apt-medium.

РЕДАКТИРОВАТЬ: Другой подход, основанный на локальном архиве *.debфайлов, описан в различных записях блога (см. Здесь и здесь ). Сарат Чандра подводит итог следующим образом:

  1. Сделать каталог доступным (по крайней мере, root)

    sudo mkdir /var/my-local-repo
    
  2. Скопируйте все файлы deb в этот каталог.

  3. Сделать каталог как

    sudo bash -c 'dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz'
    

    или же

    sudo dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz
    
  4. Добавить локальный репо к источникам

    echo "deb file:/var/my-local-repo ./" > /tmp/my-local.list
    sudo mv /tmp/my-local.list /etc/apt/sources.list.d/my-local.list
    sudo apt-get update
    

20

Шаг 1: Получить URL для загрузки в файле:

Выполните следующую команду, заменив имена пакетов требуемыми, разделяя их пробелом.

apt-get -y install --print-uris package-name | cut -d\' -f2 | grep http:// > apturls

Шаг 2. Скопируйте этот файл (apturls) на компьютер с высокоскоростным доступом в Интернет и выполните следующую команду для загрузки пакетов:

wget -i path-to-apturls-file 

Шаг 3. Теперь загрузите эти загруженные пакеты на свой компьютер и установите их, используя:

cd path-to-the-downloaded-packages-directory

sudo dpkg -i *.deb

Готово!


--print-urisРаспечатывает ли даже зависимости, которые уже установлены в системе?
'18

19

Вы можете использовать куб . Это переносной менеджер пакетов, который позволяет загружать пакеты на другой компьютер, подключенный к Интернету, и устанавливать их обратно на исходный компьютер с Linux в автономном режиме.

Загрузка приложений (в Windows)

Установка приложений (в Linux)

Вы можете скачать его на сайте Cube .


это .deb или .exe?

2
Файл .deb отсутствует, поскольку он является автономным, переносимым и может выполняться без установки (просто запустите файл cube-normal). Cube.exe также включен для пользователей Windows.
Camicri

1
Больше людей должны знать об этом. Я люблю вас.
Howderek

Я получаю сообщение об ошибке при запуске этого приложения на Win 7 Ultimate 32 бит. Изображение: i.stack.imgur.com/XW3wt.jpg Сообщение об ошибке: Подпись проблемы: Проблема Имя события: CLR20r3 Проблема Подпись 01: cube.exe Подпись проблемы 02: 1.0.9.3 Подпись проблемы 03: 54bd0258 Подпись проблемы 04: glib-sharp Подпись проблемы 05: 2.12.0.0 Подпись проблемы 06: 517edc4c Подпись проблемы 07: 1b4 Подпись проблемы 08: 17 Подпись проблемы 09: System.DllNotFoundException Версия ОС: 6.1.7600.2.0.0.256.1 Идентификатор локали: 16393
Сандип

Здравствуйте и спасибо за использование Cube. К сожалению, версия куба, которую вы используете, больше не поддерживается. Пожалуйста, используйте новый и стабильный сервер Cube: launchpad.net/cube-server. Смотрите обновленный ответ выше.
Camicri

17

В Synaptic вы можете выбрать пакеты, которые вы хотите установить, и в первом меню есть возможность сгенерировать скрипт, который вы можете перенести на другой компьютер и запустить там. Этот скрипт будет "wget" (то есть "скачивать") все пакеты, которые вы указали, которые вы хотели (и их зависимости), которые вы запускаете на компьютере, который имеет доступ к Интернету.

После запуска у вас будут все файлы пакета, необходимые для отключенного компьютера. Перенесите их на CD / USB-накопитель и установите их sudo dpkg -i *.deb.


это хороший трюк, но 2 компьютера, чтобы сделать процесс? хммм
Suhaib

@Suhaib - не знаю, как вы можете загрузить нужные вам пакеты в любой степени без «двух компьютеров» ... вам нужен «онлайн» компьютер, чтобы получить пакеты, которые вы каким-то образом отправите на автономный компьютер (даже если это ВМ или Docker-контейнер, работающий на другой хост-системе, или набор руководств curl/ wgetкопий на внешнем носителе ...
Cinderhaze

15

Вы можете использовать apt-offlineили apt-offline-gui.
Предварительные требования : Система друга с подключением к Интернету. apt-offline установлен в обеих ваших системах.

Автономная установка достигается в 3 простых шага.

Шаг 1 :
Сгенерируйте файл подписи в поле Отключенный Debian дома.
apt-offline set /tmp/apt-offline.sig
Приведенная выше команда сгенерирует всю информацию, необходимую от apt для обновления своей базы данных.

Шаг 2 :
Загрузка данных на основе подписи файла генерируется ранее
apt-offline get C:\apt-offline.sig --threads 5
вышеприведенная команда загрузки данных , как указано в файле подписи. Чтобы ускорить загрузку (которая может быть из нескольких репозиториев apt), в этом примере мы создали 5 потоков загрузки.
После этого вы можете просто скопировать данные (архивный файл, если вы использовали опцию --bundle) обратно на съемный носитель и скопировать их обратно на автономный хост.

Шаг 3 :
Вернувшись на домашнюю машину Debian, вы передаете данные со съемного носителя в apt-offline:
apt-offline install /media/USB/apt-offline.zip
это позволит без проблем обновить базу данных APT на вашем отключенном компьютере.

Apt-offline можно использовать даже в системах Windows. На мой взгляд, apt-offlineэто лучший вариант для автономной установки.

Источник


Два замечания: во-первых, генерирование подписи для уже установленного или готового к установке пакета «дает сбой» в том смысле, что файл .sig пуст. Это немного смущает, но, видимо, нормально. Во-вторых, apt и apt-offline работают правильно, только если / var / lib / apt / lists правильно заполнен. Это достаточный объем работы, если целевые и хост-машины имеют разные архитектуры.
Urhixidur

Нужно ли исходному и целевому ПК иметь одинаковую версию Ubuntu?
Тулаинс Кордова

Как установить apt-offline на автономный компьютер?
Сами Шимшекли

10

Есть несколько хороших, эффективных ответов, перечисленных выше. Тем не менее, это механизм, который я лично использую - apt-ftparchive . Я документирую это здесь, на случай, если оно понадобится мне снова в будущем. Возможно, это может быть полезно для вас.

Создание снимка архива

  • Создайте экземпляр Ubuntu, который близко имитирует целевую среду
    • Например, 64-битный экземпляр Ubuntu 12.04 в Amazon
  • Начните с чистой среды пакета
    • sudo apt-get clean
  • Обновите списки пакетов
    • sudo apt-get update
  • Загрузите все доступные обновления пакета
    • sudo apt-get dist-upgrade --download-only
  • Загрузите все соответствующие пакеты и зависимости
    • sudo apt-get install --download-only byobu run-one bikeshed dotdee powernap
  • Установите утилиту apt-ftparchive
    • sudo apt-get install apt-utils
  • Создайте манифест пакета
    • (cd /var/cache/apt/archives/ && sudo apt-ftparchive packages . ) | sudo tee /var/cache/apt/archives/Packages
  • Создать архив пакетов
    • sudo tar cvf snapshot.tar -C /var/cache/apt archives/

Использование снимка архива в автономной целевой системе

  • Через какой-то механизм вам нужно будет получить snapshot.tar из исходного кода в целевую систему. Возможно на флешку или иначе.
  • Извлеките архив в целевой системе (в данном случае в / home / ubuntu)
    • tar xvf snapshot.tar
  • Добавьте локальный автономный источник в /etc/apt/sources.list
    • echo "deb file:/home/ubuntu/archives /" | sudo tee -a /etc/apt/sources.list
  • Обновить список пакетов
    • sudo apt-get update
  • Установите пакеты по желанию
    • sudo apt-get install byobu run-one bikeshed dotdee powernap

4

Для автономной установки вам понадобятся пакеты. Если вы используете систему Debian

  • Получить файл пакета с .debрасширением файла и использовать dpkg -i package_nameдля его установки
  • Получите архив с исходным кодом с расширением .tar.gzили .tar.bz2, затем распакуйте и установите его:

    tar -zxvf your_pack.tar.gz` or tar `-jxvf your_pack.tar.bz2
    make
    sudo make install
    make clean        (optional, and may prevent uninstallation)
    

У вас могут быть проблемы с зависимостями. Вам необходимо установить все эти файлы в первую очередь для успешной автономной установки.


2

Да. Вы можете скачать DVD iso, записать его на DVD и установить программное обеспечение с DVD. Смотрите здесь CD и DVD могут быть предоставлены в качестве источника для менеджеров пакетов так же, как онлайн-архивы.


2

Первое, что вы можете сделать перед установкой автономного пакета, это обновить нужные вам репозитории / репозитории. Вам наверняка понравится обновленный Основной репозиторий (для бесплатного и официально поддерживаемого программного обеспечения).

Приложения, которые вы хотите установить, могут находиться в некоторых других репозиториях, таких как Universe (бесплатная, но без официальной поддержки), или Restricted (несвободная, официально поддерживаемая), или в Multiverse (несвободная, без официальной поддержки). , Таким образом, вы можете захотеть один или несколько из них тоже.

Поэтому первым шагом в этом процессе является создание обновленного автономного хранилища; затем сгенерируйте список «для загрузки» и загрузите их, и, наконец, инсталляцию. Вот как это делается: источник

  1. Введите URL: http://archive.ubuntu.com/ubuntu/dists/ suiteCodename, где следует соответствующим образом заменить suiteCodename, скажем, точным для Ubuntu 12.04 (Precise Pangolin) [или утопическим для Ubuntu 14.10 (Utopic Unicorn)], чтобы вы могли Теперь перейдите по адресу http://archive.ubuntu.com/ubuntu/dists/precise/ или в любой другой пакет, который у вас есть.

  2. Загрузите файлы Release , Release.gpg и файл Contents - ????. Gz для вашей архитектуры (т. Е. Contents-i386.gz , если вы используете архитектуру i386). Сохраните эти три файла в каталоге / папке с именем вашего suiteCodename ( точно для Precise Pangolin).

  3. Затем вам нужно будет выполнить следующие действия для каждого из репозиториев (среди Main, Universe, Restricted, Multiverse ), которые вы хотите.

    а. перейдите в каталог целевого хранилища, например. Главный, а затем в каталог архитектуры, например. бинарный i386, чтобы вы были в http://archive.ubuntu.com/ubuntu/dists/suiteCodename/repositoryName/binary-????/

    б. скачать содержимое Packages.bz2, Packages.gz, выпустить и сохранить их в каталоге с именем repositoryName, например. main и поместите этот каталог в ранее созданный каталог suiteCodename .

    с. повторить и б. для каждого из репозиториев вы хотите.

  4. Наконец, у вас должна быть такая структура:

     precise
     ├── Contents-i386.gz
     ├── main
     │   └── binary-i386
     │       ├── Packages.bz2
     │       ├── Packages.gz
     │       └── Release.txt
     ├── Release.gpg
     ├── Release.txt
     └── universe
         └── binary-i386
             ├── Packages.bz2
             ├── Packages.gz
             └── Release.txt
    

    (при условии, что ваш suiteCodename = точный, архитектура i386, и вам нужны основные и универсальные репозитории)

  5. Затем, после загрузки обновленных репозиториев, вы поместите загруженные файлы, расположенные в правильной структуре (как показано выше), в каталог целевого автономного компьютера. Сохраните структуру каталогов preciseв папке с именем offlineRepository / dists / precision в вашем домашнем каталоге пользователя ( ~/offlineRepository/dists/precise) или в любом другом месте ( /home/offlineRepository/dists/preciseиспользуя привилегии sudo в терминале или с помощью файлового менеджера Nautilus gksu nautilus; также убедитесь, что у вас есть необходимые разрешения для скопированной структуры) , Информация о вашем автономном хранилище будет готова к использованию.

  6. Добавьте локальный репозиторий в свой список источников . В Центре программного обеспечения Ubuntu перейдите в « Правка» -> «Источники программного обеспечения» -> «Другое программное обеспечение» -> «Добавить», а затем в поле для строки APT добавьте: deb file:///home/offlineRepository precise main universeи нажмите « Добавить источник» . Убедитесь, что вы изменили строку в соответствии со структурой вашего каталога / файла и набора. Затем перезагрузите пакеты или запустите sudo apt-get updateв терминале. SNAP1

  7. Теперь с обновленными (и, возможно, недавно добавленными репозиториями) вы можете вывести список URL-адресов для пакетов и зависимостей.

    Я позаимствовал следующую строку кода из одного из предыдущих постов AskUbuntu:

    sudo apt-get install packageName --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
    

    например. установить менеджер пакетов Synaptic:

    sudo apt-get install synaptic --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
    

    (Вы также можете создавать списки обновлений аналогичным образом.)

    Сгенерированный список можно использовать для загрузки пакета и всех зависимостей на онлайн-компьютере. Создайте скрипт для загрузки или используйте список для пакетной загрузки в некоторых менеджерах загрузки. (Также обратите внимание, что сгенерированный текстовый файл использует конец строки Unix / Linux, и вы можете изменить его на Windows.) Раньше для этого был более простой способ, когда Synaptic Package Manager был приложением по умолчанию в Ubuntu.

  8. Наконец, в целевой системе вы можете установить пакеты dpkgлюбым другим способом.

Получение обновленной базы данных пакетов, включая обновления безопасности

Следующая структура, в дополнение к вышеприведенному объяснению, должна дать вам идею:

/opt/offlineRepoList/
└── dists
    ├── precise
    │   ├── Contents-i386.gz
    │   ├── main
    │   │   └── binary-i386
    │   │       ├── Packages.bz2
    │   │       ├── Packages.gz
    │   │       └── Release.txt
    │   ├── Release.gpg
    │   ├── Release.txt
    │   └── universe
    │       └── binary-i386
    │           ├── Packages.bz2
    │           ├── Packages.gz
    │           └── Release.txt
    ├── precise-security
    │   ├── Contents-i386.gz
    │   ├── main
    │   │   └── binary-i386
    │   │       ├── Packages.bz2
    │   │       ├── Packages.gz
    │   │       └── Release
    │   ├── Release
    │   ├── Release.gpg
    │   └── universe
    │       └── binary-i386
    │           ├── Packages.bz2
    │           ├── Packages.gz
    │           └── Release
    └── precise-updates
        ├── Contents-i386.gz
        ├── main
        │   └── binary-i386
        │       ├── Packages.bz2
        │       ├── Packages.gz
        │       └── Release
        ├── Release
        ├── Release.gpg
        └── universe
            └── binary-i386
                ├── Packages.bz2
                ├── Packages.gz
                └── Release

2

После просмотра ответов здесь: Как я могу установить программное обеспечение или пакеты без Интернета (в автономном режиме)? Я нашел этот код Арнеля А. Борха самым полезным.

sudo apt-get install PACKAGE --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh


В любом случае, вот несколько инструкций для новичков. Я надеюсь, что вы найдете их полезными.

Полные инструкции по загрузке для других новичков в Ubuntu 15.10+:

  1. Откройте Терминал (сочетание клавиш CTRL + ALT + T)
  2. Перейдите в папку, в которую вы хотите загрузить пакет, с помощью команды:

    cd FOLDERNAME
    (Пример: cd Desktop)
    Совет: Вы также можете использовать dirкоманду , чтобы просмотреть папки.

  3. В приведенном выше коде замените PACKAGE пакетом, который вы хотите загрузить.
  4. Скопируйте и вставьте измененный код (сочетание клавиш CTRL + SHIFT + V) и нажмите Enter

    Пример кода для загрузки Synaptic Package Manager:
    sudo apt-get install synaptic --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

    Пример кода для загрузки проигрывателя VLC:
    sudo apt-get install vlc --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

  5. Если будет предложено, введите пароль root и нажмите Enter. (Не паникуйте, если символы для пароля не отображаются. Это всего лишь меры безопасности.)
  6. Файл "install.sh" должен быть сгенерирован. Все необходимые зависимости включены в скрипт.
  7. Теперь нам нужно запустить скрипт с этой командой:
    sh install.sh
  8. Подождите, пока файлы будут загружены
  9. После этого вы можете использовать эту команду для установки всех пакетов в папке:

    sudo dpkg -i *.deb

    Или вы можете использовать программу типа Synaptics для установки пакетов. (Synaptics: File - Добавить загруженные пакеты)
    Кроме того, вы также можете просто дважды щелкнуть файлы. Это откроет Центр программного обеспечения Ubuntu. После загрузки программного центра нажмите кнопку «Установить». Повторяйте это, пока все файлы в папке не будут установлены.


2

У меня есть небольшой скрипт на python, который можно запустить в Windows, который анализирует веб-сайт пакета ubuntu, чтобы найти дерево зависимостей и загрузить все необходимые пакеты + выполнить проверку контрольной суммы.

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

https://gist.github.com/Zitrax/2bad212a3b0571357e1b

Все загруженные пакеты могут быть установлены с помощью dpkg -i E pkg\*. Это позволяет избежать переустановки пакетов, которые уже установлены.

Использование:

usage: ubuntu-deps.py [-h] [-a ARCH] [-r RELEASE] [-m MIRROR] [-f FALLBACK] [-d DIRECTORY] dep [dep ...]

Download ubuntu dependencies

positional arguments:
  dep                                  The main/top package

optional arguments:
  -h, --help                           show this help message and exit
  -a ARCH, --arch ARCH                 The architecture to use (default: amd64)
  -r RELEASE, --release RELEASE        Ubuntu release (default: trusty)
  -m MIRROR, --mirror MIRROR           Mirror to use for download (default: http://no.archive.ubuntu.com/)
  -f FALLBACK, --fallback FALLBACK     Mirror to use when main mirror is not found (default:
                                       http://security.ubuntu.com/)
  -d DIRECTORY, --directory DIRECTORY  Target directory (default: pkg)

2

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

Однако для единичных случаев, когда вы просто хотите быстро установить пакеты в системе, в которой нет подключения к Интернету (и у вас есть возможность загрузить их на другой компьютер и перенести их), вы можете сделать это. Основная сложность заключается в определении того, что вам нужно, поскольку пакет часто имеет другие пакеты, от которых он зависит, и которые поэтому должны быть установлены до или одновременно с пакетом.

Этот ответ мотивирован дублирующим вопросом g ++ в Ubuntu 14.04 и использует случай необходимости установки в g++качестве основного примера.

Я подчеркиваю, что этот метод не должен использоваться в долгосрочной перспективе в качестве альтернативы чему-то, что, по крайней мере, облегчает автоматическое определение и установку необходимых обновлений безопасности. Никогда не подключаясь к сети значительно снижает вероятность атаки, но некоторые ошибки безопасности могут быть использованы с помощью данных из любого источника.

Хотя этот метод может выглядеть сложным, обычно он занимает всего несколько минут. Для пакетов с большим количеством зависимостей это может занять больше времени. Для установки метапакетов, которые получают очень большое количество зависимостей (например, ubuntu-desktopв минимальной системе), загрузка всех необходимых файлов .deb может занять гораздо больше времени, и этот метод вряд ли подойдет.

Определение необходимых зависимостей

Вы можете смоделировать установку, чтобы определить, какие другие пакеты необходимы для удовлетворения зависимостей пакета. Передача -sфлага apt-get( перед указанием какого-либо действия) делает это.

apt-get -s install g++

Я пропустил sudo, так как это всего лишь симуляция, поэтому привилегии root не нужны.

Если вы действительно хотите установить все самые распространенные инструменты для сборки пакетов, а не просто g++, вы можете предпочесть:

apt-get -s install build-essential

Вывод (для g++) будет выглядеть примерно так:

NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  g++-4.8 libstdc++-4.8-dev
Suggested packages:
  g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
  libstdc++-4.8-doc
The following NEW packages will be installed:
  g++ g++-4.8 libstdc++-4.8-dev
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Inst libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [amd64])
Conf libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [amd64])

Это говорит о том, что для установки g++на моей системе, мне нужны пакеты g++, g++-4.8и libstdc++-4.8-dev.

Следовать результатам моделирования обычно лучше, чем просто искать зависимости пакета (или предполагать, что вам нужно то же, что и выше), потому что:

  1. Возможно, у вас уже установлены некоторые зависимости.
  2. Зависимости (т. Е. Другие пакеты, которые пакет должен установить или работать) сами могут иметь зависимости, которые вы еще не установили.

Получение пакетов

Как только вы знаете, какие пакеты вам нужны, вы можете скачать их. Я предлагаю использовать Launchpad для этого, потому что загрузки зашифрованы с помощью SSL, что помогает предотвратить повреждение файлов.

  • Это не просто защита от преднамеренных манипуляций со стороны злоумышленников; это также помогает предотвратить случайное повреждение файлов, что является гораздо более распространенной проблемой для загружаемых файлов.
  • Есть один вид, который не мешает: когда файл загружается только частично, но вы думаете, что он закончен.
  • Обычно при установке пакета с помощью apt-getили в Центре программного обеспечения не требуется HTTPS, поскольку его хэш проверяется по списку хэшей с цифровой подписью. Если вы в конечном итоге поместите эти пакеты в кеш своего пакета и apt-getбудете использовать их для установки, это произойдет.
  • Но если вам в конечном итоге dpkg -iпридется установить вручную загруженные пакеты , это не будет сделано.

Чтобы найти пакет, введите его имя в разделе « Пакеты» по адресу https://launchpad.net/ubuntu и нажмите «Найти пакет». Например, поиск g++-4.8приводит вас к странице пакета исходного кода gcc-4.8 .

Затем прокрутите вниз до кодового имени вашего выпуска Ubuntu. У тебя 14.04, так что это Трасти Тар. Кодовые имена для всех выпусков Ubuntu перечислены на вики-странице релизов . Нажмите на направленный вправо треугольник, чтобы просмотреть загрузки пакетов для него.

снимок экрана, показывающий направленный вправо треугольник, с помощью которого расширяется релиз, чтобы увидеть его загрузки

Для некоторых пакетов вы можете расширить списки загрузок из более чем одного кармана . Вы можете увидеть:

  • release - версия пакета, поставляемая с выпуском Ubuntu (или доступная на момент выпуска);
  • безопасность , обновления безопасности поставляются после выпуска;
  • обновления , любые обновления, отправленные после выпуска;
  • предлагаемые обновления, которые доступны для установки, но все еще находятся на стадии тестирования и не рекомендуются для общего пользования;
  • бэкпорт , программное обеспечение, созданное в более позднем выпуске Ubuntu и перестроенное для более раннего выпуска.

Например, вот что доступно для Firefox в 14.04:

Снимок экрана панели запуска, на котором показаны расширяемые варианты загрузки пакетов для нескольких карманов в одном выпуске

Как правило, вам понадобятся пакеты в безопасности или обновления, если они существуют, и другие пакеты в выпуске .

Развернув список пакетов, найдите .debфайл для вашей архитектуры. Дебы названы . Наиболее распространенные архитектуры:name_version_architecture.deb

  • 64-битный ПК / Mac ( amd64для процессоров Intel и AMD)
  • 32-битный ПК / Mac (называется i386, также для обоих)

Например, чтобы получить g++-4.8пакет для 64-битной версии Ubuntu, вы можете скачать g++-4.8_4.8.4-1ubuntu15_amd64.deb.

Установка пакетов

Если пакеты , которые вы извлекаемые ту же версия , что apt-get«s installдействие будет уже автоматически извлекается и устанавливается (если система была подключена к сети), то вы можете поместить пакеты /var/cache/apt/archivesи просто запустить эту команду:

sudo apt-get install g++

Если эта система никогда не была подключена к Интернету, то, вероятно, это будет тот случай, когда все пакеты, которые вы получили, были из кармана выпуска . Независимо от того, была ли система когда-либо подключена к Интернету, это также почти всегда будет иметь место, если на Launchpad не было показано никаких пакетов в каких-либо других карманах. (По сути, единственная ситуация, в которой это не произойдет, - это если вы установили альфа- или бета-систему и никогда не обновляли ее.)

В конкретном случае установки g++я бы использовал apt-get.

В случаях, когда это не работает или вы ожидаете, что это не сработает, установите пакеты, поместив их в пустую папку и запустив:

sudo dpkg -Ri /path/to/folder

Или вы можете назвать пакеты индивидуально. В этом примере предполагается, что пакеты находятся в текущем каталоге (т. Е. Вы редактировали cdкаталог, содержащий их):

sudo dpkg -i package1.deb package2.deb ...

Если количество устанавливаемых пакетов не очень мало и вы не знаете точный порядок, в котором их нужно устанавливать для удовлетворения зависимостей, гораздо эффективнее использовать эти методы, чем устанавливать каждый пакет по отдельности вручную.


1

Если у вас нет подключения к Интернету и у вас нет людей, где вы можете подключиться к Интернету, есть еще один вариант, о котором вы не можете сообщить: отправьте исходные файлы обычной почтой.

Вы можете получить всю ОС Ubuntu по почте, заплатив за DVD. Так же, как вы могли бы попросить друга онлайн отправить вам файлы DEB или даже исходные файлы для пакета типа VLC. Хотя, возможно, стоит отправить кому-нибудь полный DVD со всеми пакетами. Таким образом, вы можете установить его с этого DVD.


0

Это не полностью подробный ответ, но на высоком уровне вы могли бы:

  1. получите нужные .deb pkgs (и создайте их список) (включая пакеты, от которых они зависят, которые еще не установлены)
  2. создать подходящий архив, содержащий их
  3. скопируйте архив apt на CD или USB
  4. вставьте компакт-диск или USB в целевую систему
  5. сконфигурируйте apt в целевой системе для включения архива apt на CD или USB в качестве источника
  6. установить пакеты из вашего списка с помощью apt-get install (список pkgs)

0

Я предлагаю настроить Live CD и установить их.

Вы также можете загрузить файлы на http://packages.ubuntu.com/ имени файла , но тогда вы должны обратить внимание на зависимость, тоже.


(Первоначально это был ответ на немного другой вопрос, который стал одним из них.)
Якоб

Время убийства работы
тотти

0

Другая возможность заключается в использовании remastersys. Этот инструмент позволяет вам создавать ISO-образ из вашей собственной системы, и после создания загрузочного USB-накопителя с помощью unetbootin вы можете установить настроенную систему на любое количество компьютеров.


Но как обновить их потом?
Элия ​​Каган

0

У меня есть пара простых предложений. Вы можете пойти в библиотеку. Найдите в разделе «Компьютер» нужную вам операционную систему, в некоторых книгах есть DVD-диски. Кроме того, если вы хотите самую современную операционную систему, я бы порекомендовал этот сайт, где вы можете купить DVD за символическую плату. www.ubuntu.com/download/desktop.


0

Этот вопрос устарел, поэтому ответ на этот раз может быть излишним, но, возможно, вы также можете попробовать использовать dpkg-offline . Установите bzr, затем:

bzr branch lp:dpkg-offline

там есть учебник и файл readme.

Предполагая, что вы хотите установить git в системе Ubuntu 14.04 amd64, даже если ваша система, например, 12.04 i386, вы можете:

  • загрузите образ ubuntu-14.04-desktop-amd64.iso
  • Бегать dpkg-offline ubuntu-14.04-desktop-amd64.iso git
  • Вы получите tar.gz, который вы можете перенести в целевую систему, он будет содержать начальный пакет (git) и все его зависимости. Он также включает вспомогательный скрипт для добавления локального репозитория, который вы можете использовать apt-getдля установки ваших пакетов.

dpkg-offline будет работать с любой версией Ubuntu для настольных компьютеров начиная с 10.04 (я не тестировал более старые версии, но они также должны работать), а также с любой версией сервера Ubuntu, начиная с 12.10. Он также должен работать с образами amd64, i386 и armhf независимо от архитектуры хоста. Опять же, я не тестировал с arm64 или powerpc / ppc64el, но они также могут работать.

Отказ от ответственности: я написал dpkg-offline.


Это замечательно, однако я думаю, что скачивать весь дистрибутив для использования скрипта
Хавьер Лопес

0

Некоторые пакеты установлены на установочном usb-флешке. Я удалил network-managerи хочу установить его снова.

Таким образом я получил флешку, с которой установил операционную систему (Lubuntu 17.10). это было/dev/sdb

Смонтировать палку на дорожке ( /tmp/mntв моем случае)

mkdir /tmp/mnt
sudo mount /dev/sdb1 /tmp/mnt

Затем я редактирую, /etc/apt/sources.listчтобы содержать только

deb file:///tmp/mnt/ main universe

Тогда я делаю

sudo apt-get update

И я могу установить network-manager.

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


1
Вам, вероятно, следует выполнить резервное копирование, sources.listа затем восстановить его.
Чай Т. Рекс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.