Как я могу обновить Ubuntu офлайн без использования Synaptic или Keryx?

Я использую Ubuntu 12.04 у себя дома и имею хорошее подключение к Интернету, и моя система работает нормально.

У моего друга небольшой офис, и он решил переключиться с Windows на Ubuntu 11.10 или выше. Проблема в том, что у него нет подключения к Интернету.

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

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

Он показывает мне ошибку, что у меня нет python. Но у меня есть

введите описание изображения здесь

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

  • Как установить обновления без подключения к Интернету для новой установки Ubuntu .
  • Как установить ubuntu-restricted-extras

Насколько я знаю, вы не можете скачивать обновления для системы Oneiric (11.10), используя Ubuntu Natty (11.04). У вас должна быть работающая система Ubuntu 11.10.

Эскиз о процессе, который мы выполняем:

  1. Сначала мы установим виртуальную машину в систему Natty (11.04) OP.
  2. Мы установим Ubuntu 11.10 на эту виртуальную машину
  3. Мы установим виртуальную машину, чтобы иметь общую общую папку между ОС хоста (11.04) и гостевой ОС (11.10)
  4. Мы создадим сценарий загрузки пакетов, которые необходимы для обновления этой системы (гостевая ОС, то есть Ubuntu 11.10).
  5. Мы переведем скрипт загрузки в ОС хоста с помощью общей папки, установленной на шаге 3.
  6. В ОС хоста мы загрузим все необходимые пакеты с помощью скрипта загрузки, который мы получим на шаге 5.
  7. Мы переведем все загруженные файлы .deb в автономную систему, которая является реальной системой Ubuntu 11.10 на ПК его друга.
  8. Мы создадим локальный репозиторий на ПК своего друга с этими пакетами.
  9. Мы обновим друзей OP Ubuntu с помощью локального репозитория, созданного на шаге 8.

1. Получение рабочей системы Oneiric

Существует два способа создать рабочую систему Oneiric.

  • Выполняя фактическую установку

    Вы должны установить Ubuntu Oneiric (11.10) на компьютер с подключением к Интернету. Хотя это также возможно из живой системы, работающей с USB или CD, я рекомендую установить. Вы можете получить помощь по установке Ubuntu из этих ссылок:

    • Как установить Ubuntu?

    • Справка по установке Ubuntu.

  • Установка Oneiric в виртуальной машине VirtualBox

    1. Чтобы установить VirtualBox в Ubuntu 11.04 Natty Narwhal, запустите эти команды в терминале:

       sudo apt-get update sudo apt-get install virtualbox 
    2. Затем установите Oneiric в виртуальную машину.

      • Как установить Ubuntu на VirtualBox?
    3. Настройте общую папку на виртуальной машине.

      Вам нужно установить гостевые дополнения VirtualBox, чтобы включить функцию общих папок. Запустите эту команду на виртуальной машине, чтобы установить следующее:

       sudo apt-get install virtualbox-guest-additions 

      Если вам нужна помощь, позволяющая использовать функцию общих папок в VirtualBox, проверьте эту ссылку:

      • Глава 4: Общие папки

2. Захватите файлы .deb, необходимые для обновления.

Обратите внимание на следующие конкретные моменты:

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

  2. Не запускайте sudo apt-get clean или sudo apt-get autoclean , потому что эти команды удаляют файлы .deb из кеша.

Затем загрузитесь в систему Oneiric, которая имеет подключение к Интернету (либо из установленной системы, либо в VirtualBox) и выполните следующую процедуру:

  1. Установите диспетчер пакетов Synaptic . Запустите эти команды в терминале для этого: (Примечание. Вы должны подключить виртуальную машину к Интернету , без доступа в Интернет, аппарат не может обновить список пакетов)

      sudo apt-get update sudo apt-get install synaptic 

    Вы также можете загрузить пакеты, необходимые для пакета ubuntu-restricted-extras . Для этого запустите эту команду дополнительно с помощью двух предыдущих команд

      sudo apt-get install -d ubuntu-restricted-extras 

    Эта команда не будет устанавливать пакеты, она загружает их только со всеми зависимостями в папке /var/cache/apt/archives .

  2. Затем откройте диспетчер пакетов Synaptic. Нажмите кнопку « Отметить все обновления» .
    изображение кнопки обновления

  3. Когда вас спросят, хотите ли вы отметить дополнительные необходимые группы , нажмите кнопку «Отметить».
    изображение дополнительного окна отметки

  4. Затем, перейдя в Файл -> Сгенерировать сценарий загрузки пакета , сохраните скрипт как файл. Пусть это будет update-downloader.sh в папке с именем Updates . Предположим, что папка Updates находится в вашем домашнем каталоге, то есть в /home/ username . Затем закройте Synaptic.

  5. Теперь загрузите файлы .deb.

    1. Перейдите в папку Updates , где вы сохранили update-downloader.sh .

    2. Пока вы все еще находитесь в Терминале и имеете cd 'd в папке Updates, которую вы создали ранее, выполните следующую команду:

       cp /var/cache/apt/archives/*.deb . 

      Это копирует загруженные файлы .deb, которые используются для установки Synaptic Package Manager и файлов, загружаемых для пакета с ubuntu-restricted-extras возможностями ubuntu-restricted-extras .

    3. Затем запустите эту команду sh ./update-downloader.sh чтобы загрузить все файлы .deb, необходимые для обновления в текущей папке (то есть в папке Updates .

      Или

      Кроме того, вы можете перенести папку Updates с несколькими файлами .deb, которые вы только что скопировали из /var/cache/apt/archives с update-downloader.sh сценария update-downloader.sh в него на update-downloader.sh ОС через функцию общих папок VirtualBox.

      Затем в системе хоста Ubuntu откройте терминал и запустите следующую команду, перейдя в папку Updates, которую вы только что скопировали из гостевой ОС, используя функцию общей папки, где update-downloader.sh файл update-downloader.sh :

       sh ./update-downloader.sh 
    4. Если вы загрузили файлы .deb на виртуальной машине, на этом этапе переместите папку Updates с этими файлами, используя функцию общих папок Virtual Box. (Этот шаг требуется только при загрузке файлов на виртуальной машине)

    5. После того, как вы получите папку Updates со всеми файлами .deb на вашем ПК (то есть в вашей системе Natty), скопируйте эту папку со всеми файлами на флэш-накопитель USB. Вы также можете записать DVD с этими пакетами, хотя я не рекомендую это.

    6. Перенесите папку Updates с помощью USB-накопителя (или CD / DVD, если вы их сжег) на компьютер вашего друга.

3. Используйте файлы .deb для создания локального репозитория

Скопируйте всю папку с именем « Updates на компьютер без Интернета. Поместите эту папку в каталог. Скажем, вы поместили папку Updates в домашний каталог. Создайте новый каталог в домашней папке с именем в offline и переместите папку Updates в offline папку. Теперь структура каталогов выглядит так:

    + домашний 
      + - имя пользователя
        + - offline
          + - Обновления (содержит файлы .deb)
 

  1. Теперь откройте терминал и перейдите в offline папку. После этого в offline папке запустите эту команду, чтобы создать необходимый файл индекса пакета:

     apt-ftparchive packages . > Packages 

    Он создаст файл с именем Packages .

  2. Теперь откройте /etc/apt/sources.list с правами root. В терминале сделайте это

     gksu gedit /etc/apt/sources.list 
  3. Затем нажмите Enter, пока ваш курсор находится в начале файла. Это создаст новую пустую строку вверху. Запишите эту строку как первую строку в файле

     deb file:/home/ username /offline / 

    Затем сохраните файл с помощью Ctrl + S и выйдите из gedit, текстового редактора.

    Не забудьте использовать точные имена папки / пути для автономной папки и заменить username на имя пользователя.

    Кроме того, если вы уверены, ваш друг не может использовать другие источники репозитория, вы можете отключить все другие репозитории, поместив знак # перед каждой строкой в ​​файле /etc/apt/sources.list . (Это не требуется, но рекомендуется) .

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

4. Сделайте обновление без доступа к Интернету!

  1. Запустите sudo apt-get update в терминале, чтобы менеджер пакетов распознал ваш локальный каталог обновлений.

  2. Затем выполните эту команду для обновления автономной системы:

      sudo apt-get upgrade --allow-unauthenticated 

Готово! Вы обновили свою систему без доступа в Интернет.


Некоторые примечания:

1. Не хотите ли каждый раз писать параметр allow-unauthenticated?

Если вы хотите использовать этот локальный репозиторий для установки пакетов время от времени, но вам будет скучно всегда использовать параметр allow-unauthenticated , сделайте это.

Создайте файл с именем 99mysettings в /etc/apt/apt.conf.d с помощью gedit и добавьте строку в этот файл и сохраните.

  APT::Get::AllowUnauthenticated "true"; 

Чтобы открыть файл с именем 99mysettins в этом каталоге с правами root, используйте эту команду в терминале

 gksu gedit /etc/apt/apt.conf.d/99mysettings 

2. Примечание о опции allow-unauthenticated:

Вы можете задаться вопросом, почему я предоставил --allow-unauthenticated . Это используется, потому что ваш локальный репозиторий обновлений не является аутентичным для системы. Но это не повредит, потому что вы загрузили эти пакеты из аутентичного официального репозитория Ubuntu.

3. Вместо этого я хочу иметь доверенный репозиторий:

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

Рекомендация: я бы рекомендовал вам не использовать хранилища PPA, если вы им не доверяете. В частности, не используйте экспериментальные репозитории, потому что они могут вводить проблемы с зависимостями в системе, которые часто ссылаются на Unix geek как адский ад . Это может быть сложнее исправить, если у вас нет подключения к Интернету.

Вы можете использовать Keryx без его установки. Я регулярно использую keryx 0.92.4.1 вместо версии 1.

Причина, по которой я выбрал более старую версию, заключалась в том, что если моя память мне хорошо помогает, то v0.92x позволит вам устанавливать дополнительные пакеты, а v1 только позволит вам обновлять. Во всяком случае, мне никогда не удавалось установить его (автоматически) для любого пакета, поэтому для версии 1 может быть применимо следующее.

Вот как я его использую:

  1. Извлеките керикс в свой home каталог на компьютере без Интернета (назовем его компьютером без Интернета ).
  2. Бег:

     python keryx/source/keryx.py 
  3. Создайте новый проект. По умолчанию имя компьютера является именем проекта. Вы можете изменить это, прежде чем нажимать «Новый проект». В этом примере я называю это «chompituga».

  4. Он попросит вас «загрузить последние списки пакетов». У вас нет интернета, поэтому нажмите «Нет».

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

  6. Теперь скопируйте папку keryx/projects/chompituga в usb. Он содержит следующее:

     chompituga.keryx debian.conf installcache.sh lists/ packages/ sources/ 
  7. Теперь на компьютере с доступом в Интернет (давайте назовем его компьютером w / internet ): извлеките керикс в home каталог.

  8. Скопируйте папку проекта (в этом примере, chompituga ) и все ее содержимое с USB в keryx/projects/ на компьютере с интернетом .

  9. Запустить керикс:

     python keryx/source/keryx.py 
  10. На этот раз откройте проект, названный «chompituga» в этом примере (см. Рисунок).

    оконное окно keryx

  11. Он попросит загрузить последние списки пакетов, на этот раз нажмите «Да». Через некоторое время он укажет, что списки пакетов были обновлены. Вы можете увидеть список пакетов в главном окне, а те, которые имеют более новую версию, будут по-разному отмечены.

  12. Теперь можно загрузить обновленные пакеты с помощью меню Project | Get Updates, кнопки «Получить обновления» или комбинации Ctrl + U.

  13. Также возможно установить новые пакеты (они должны заботиться о зависимостях), выбрав нужные пакеты, а затем меню Project | Download.

  14. Пакеты загружаются в keryx/packages/chompituga/packages/ . Вы возвращаете содержимое этой папки с собой на компьютер без Интернета .

  15. Вернитесь на компьютер без Интернета , скопируйте загруженные пакеты где-нибудь и в этой папке просто выполните:

     sudo dpkg -i *.deb 
  16. Обязательно установите обновления ядра («linux-header», «linux-image» или другие пакеты «linux-something») отдельно – возможно, после других обновлений.

  17. Иногда, кажется, необходимо установить с опцией --force-depends . Я делаю это, на всякий случай, когда вижу очень много пакетов для обновления.

     sudo dpkg -i --force-depends *.deb 
  18. Закончив установку обновлений, снова запустите керикс (шаг 2); откройте проект (шаг 10) и в меню Project | Update Status обновите список установленных пакетов. Для этого потребуется пароль пользователя дважды. Обязательно сделайте это только на компьютере без Интернета .

  19. Теперь все, что вам нужно сделать, – повторить шаги с 6 по 18 каждый раз, когда вы хотите обновить свой компьютер без Интернета .

Мне жаль, что этот ответ длинный. Я могу заверить вас, что процедура довольно проста и понятна.

Примечания. Не имеет значения, имеют ли компьютеры разные версии / ароматы Ubuntu . Я не тестировал керикс с дистрибутивами, кроме * buntu.

Вам просто нужно установить apt-offline или apt-offline-gui на машину без Интернета.

 Description-en: offline apt package manager apt-offline is an Offline APT Package Manager . apt-offline can fully update and upgrade an APT based distribution without connecting to the network, all of it transparent to apt . apt-offline can be used to generate a signature on a machine (with no network). This signature contains all download information required for the apt database system. This signature file can be used on another machine connected to the internet (which need not be a Debian box and can even be running windows) to download the updates. The downloaded data will contain all updates in a format understood by apt and this data can be used by apt-offline to update the non-networked machine. . apt-offline can also fetch bug reports and make them available offline 

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

Еще один доступный вариант – сделать индивидуальный live usb / cd для них со всеми обновлениями, добавленными и включенными для них. Самый простой инструмент для этого – создание ubuntu.

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

Поэтому сначала вам нужно будет установить ubuntu builder на свой компьютер. Для этого вам нужно будет открыть свой терминал и добавить конструктор ubuntu ppa

sudo add-apt-repository ppa:f-muriana/ubuntu-builder

sudo apt-get update

sudo apt-get install ubuntu-builder

Затем вам нужно будет скачать изображение livecd в реальном времени http://cdimage.ubuntu.com/dvd/current/

Теперь поговорите со своим другом и составите список всех бит программного обеспечения, которые ваш друг потребует оттуда. Как только ваш список будет завершен, запустите на своем компьютере ubuntu builder.

Шаг 1 Сначала импортируйте изображение ubuntu, которое вы ранее загрузили, нажав на Select iso затем import from local

Импортируйте ранее загруженное изображение

После импорта нажмите на edit sources.list в ubuntu builder

Должен появиться редактор, теперь scoll down и удалите # из следующих 4 строк в этом примере, используя его ubuntu 12.04 livecd

deb http://archive.ubuntu.com/ubuntu precise main restricted

deb-src http://archive.ubuntu.com/ubuntu precise main restricted

deb http://archive.ubuntu.com/ubuntu precise-updates main restricted

deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted

Также добавьте любые другие источники, необходимые для дополнительного программного обеспечения, в sources.list если они еще не доступны из основных хранилищ.

Нажмите « save затем нажмите «Завершить»

Шаг 2

Теперь из ubuntu builder нажмите кнопку console

Терминал откроется и может занять некоторое время по мере обновления

Сначала давайте обновим систему livecd

В открывшемся терминале

apt-get upgrade

дождитесь завершения всех обновлений

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

apt-get install "имя пакета"

например, если ваш друг хотел установить gimp

apt-get install gimp

Помните, что все установленное и обновленное таким образом будет установлено на live / cd iso не на вашем компьютере

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

apt-get install ubuntu-restricted-extras

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

apt-get install apt-offline apt-offline-gui

После того, как вы добавили все требуемый тип exit в терминал и нажмите enter

Теперь в ubuntu builder заполните пару полей EG, дайте вашему livecd имя

Теперь щелкните по кнопке build в ubuntu builder. Это займет некоторое время, поэтому не забудьте оставить до завершения.

Когда-то построенный строитель ubuntu

Теперь, чтобы найти местоположение только что сделанного iso, просто щелкните файлы / файловую систему / home / ubuntu-builder /, и вы должны увидеть имя / образ, которые вы только что создали в этой папке

Ваш обновленный образ livecd теперь готов к записи обычным способом. При установке на компьютер для друзей также будут установлены все обновления и добавленные вами дополнительные вещи.

  1. Вставьте live-cd / usb из ubuntu 11.10 в вашу систему.
  2. нажмите ctrl + alt + delete для открытия терминала и запустите

    sudo apt-get update

    sudo apt-get install synaptic

  3. Открыть /var/cache/apt/archives и сохранить содержимое в безопасном каталоге

  4. Обновите свою систему (live cd / usb) с помощью диспетчера обновлений

  5. Установите некоторые программные средства, если хотите :-),

    Т.е., если вы хотите ограниченные ограничения ubuntu Установка ubuntu-limited-extras ,

    запустить sudo apt-get install ubuntu-restricted-extras в терминале

  6. Установить aptoncd Установить aptoncd

  7. Запустите aptoncd и нажмите кнопку create, он создаст iso-файл

  8. Перейти к вашим друзьям домой / офис с сгенерированным изо и каталогом, созданным для шага 3

  9. Скопируйте каталог и файл iso на рабочий стол, откройте терминал и перейдите в этот каталог

    cd /path/to/directory

  10. Запустите sudo dpkg -i *.deb , он установит синаптический

  11. Откройте синаптику и нажмите Edit->add cdrom Появится диалоговое окно, не нажимайте на него.

  12. Вернитесь к терминалу и запустите

    sudo mkdir /media/cdrom

    sudo mount -o loop /path/to/iso /media/cdrom

  13. Теперь нажмите кнопку ok в диалоговом окне, созданном из synaptic на шаге 11,

  14. Нажмите Отметить все обновления, Применить кнопки, соответственно

  15. Система ваших друзей обновлена, теперь выпейте чашку кофе 😉

Для будущих обновлений

  1. Вставьте live cd / usb в вашу систему (в автономном режиме). Этот шаг не нужен, если вы используете постоянный USB

  2. Возьмите iso и каталог, созданный для предыдущего обновления,

  3. Скопируйте каталог и файл iso на рабочий стол, откройте терминал и перейдите в этот каталог

    cd /path/to/directory

  4. Запустите sudo dpkg -i *.deb , он установит синаптический

  5. Откройте синаптику и нажмите Edit->add cdrom Появится диалоговое окно, не нажимайте на него.

  6. Вернитесь к терминалу и запустите

    sudo mkdir /media/cdrom

    sudo mount -o loop /path/to/iso /media/cdrom

  7. Теперь нажмите кнопку ok в диалоговом окне, созданном из synaptic на шаге 11,

  8. Нажмите Отметить все обновления, Применить кнопки, соответственно

  9. Теперь обновите свою систему (live cd / usb) с помощью диспетчера обновлений, она установит обновление live cd / usb в предыдущее состояние обновления,

  10. Обновите свою систему от диспетчера синаптических пакетов

  11. Установить aptoncd Установить aptoncd

  12. Запустите aptoncd и нажмите кнопку create, он создаст iso-файл

  13. Перейти к вашим друзьям домой / офис с Generated iso

  14. Откройте синаптику и нажмите Edit->add cdrom Появится диалоговое окно, не нажимайте на него.

  15. Вернитесь к терминалу и запустите

    sudo mkdir /media/cdrom

    sudo mount -o loop /path/to/iso /media/cdrom

  16. Теперь нажмите кнопку ok в диалоговом окне, созданном из synaptic на шаге 11,

  17. Нажмите Отметить все обновления, Применить кнопки, соответственно

  18. Система вашего друга снова обновляется

    Не стесняйтесь комментировать / редактировать, если мой пост неоднозначен 🙂

Есть еще один способ добиться этого:

Первое обновление:

  1. Сначала загрузите старую версию Ubuntu (11.04) на свой компьютер с подключением к Интернету с помощью Live CD или USB.

  2. Затем откройте терминал и запустите sudo apt-get update чтобы обновить список доступных в Интернете пакетов. (Обратите внимание, что эта команда не будет обновлять систему, она только обновляет список пакетов).

  3. Затем запустите следующую команду в терминале, чтобы создать список файлов пакетов url, необходимых для обновления.

      sudo apt-get upgrade --print-uris -y | grep -o "http:.*deb'" | grep -o .*.deb > list 

    _ Если репозиторий является архивом ftp вместо http- архива, замените http ftp _. Вышеприведенная команда создаст список пакетов url, которые необходимо загрузить.

  4. Затем сохраните файл list , чтобы впоследствии его использовать. Теперь загрузите свой обычный Ubuntu, подключитесь к Интернету и поместите файл list где-нибудь и запустите его с помощью wget чтобы загрузить все файлы. Я предлагаю вам создать папку и поместить туда файл. Затем перейдите в указанную папку в терминале и используйте следующую команду, чтобы загрузить все.

     wget -c -i list 
  5. Скопируйте всю папку на компьютер вашего друга, войдите в Ubuntu, откройте терминал и перейдите в папку, используя cd используйте sudo dpkg -i *.deb для установки всех обновлений.

Более поздние обновления:

Если вам нужно снова обновить Ubuntu вашего друга, скопируйте его status из /var/lib/dpkg/ folder на свой компьютер, а затем снова загрузите Ubuntu 11.04. Затем выполните следующие действия:

  1. Откройте терминал и введите gksu nautilus .

  2. Скопируйте файл status который вы скопировали, и вставьте его в папку /var/lib/dpkg чтобы заменить исходный файл.

  3. Затем выполните шаги с 2 по 5 из первого раздела обновления

Примечание. Не используйте повторно предыдущие сеансы Live Ubuntu. Используйте «startup-disk-creator» в своем Ubuntu, чтобы создать Live USB и выбрать вариант « Отключить по выключению» внизу или Использовать Live CD.

Чтобы установить тип ubuntu-limited-extras в терминале
sudo apt-get install ubuntu-restricted-extras

Чтобы установить тип Python в терминале
sudo apt-get install python
это должно решить ваши проблемы при установке керикса

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