Відповіді:
Перевірити Keryx ; це офлайн-менеджер сховищ.
Як це працює? Це дозволяє завантажувати оновлення та нові програми (залежно) на свою флешку .
Його інтерфейс схожий на синаптичний, але він працює від маятника (він не потребує встановлення). На жаль, GUI потребує wxwidgets, які не встановлені на Ubuntu (вони є кросплатформенними та інстальованими звідси та репозиторієм Ubuntu тут ). Він може встановлювати програмне забезпечення лише в системі Ubuntu, але ви можете завантажувати оновлення або нові пакети в будь-якому Linux, Windows або OS X.
Тут ви можете знайти підручник .
Ще одна детальна покрокова інструкція - у цій відповіді .
На панелі запуску також розміщуються файли, які можна завантажити .
Скріншот:
keryx
без проблем, хоча явно потребує подальшого розвитку та вдосконалення.
Швидкий злом - це скопіювати всі пакунки, які ви завантажили для встановлення, на його машину ( детальні інструкції тут ). Файли .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.
sudo apt-get update
це запустити, це не спрацює, все-таки добре
/var/cache/apt/archives
до другого змусило його завантажити лише ~ 250 Мб. Тим не менш, для запуску встановлення потрібне з'єднання.
apt-get update
не потрібно, якщо ви копіюєте /var/lib/apt/lists
- цей каталог містить інформацію про сховище, яку завантажує apt-get update
.
.deb
до мене usb
з /var/cache/apt/archives
. На іншому комп’ютері я просто відкрив USB-накопичувач і двічі клацнув на .deb
ньому, запустивши графічний інтерфейс Ubuntu Software Updater
. Легкий пезик.
/var/cache/apt/archives
яка вже (вбудована) з'являється при встановленні Debian? Причина, чому я прошу, це 4,8 Гб, занадто великий для мого USB-накопичувача, який становить 4 Гб.
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 секцій, без джерела.
Я поставив шлях для всіх .deb файлів /tmp
, переконайтеся, що у вас є достатньо місця, щоб ваш жорсткий диск не заповнився (якщо ваш жорсткий диск заповнюється, а комп'ютер замерзає, /tmp
слід очистити перезавантаження).
Якщо ви просто хочете основні файли, видаліть з конфігураційного файлу обмежені, всесвітні та багатоповерхові імена.
Якщо ви використовуєте іншу архітектуру (у вас 64-бітова, але у вашого друга 32-бітний), додайте наступне на початку файлу конфігурації mirror.list :
set defaultarch i386
Отримавши потрібну apt-mirror
конфігурацію, запустіть apt-mirror
і зайдіть щось цікаве або зміниться життя, оскільки для отримання сховища знадобиться години чи дні (залежно від вашого підключення та дзеркала Ubuntu, яким ви користуєтесь).
Коли у вас є .deb-файли, скопіюйте файли на накопичувач USB (або зовнішній жорсткий диск) та встановіть локальне сховище відповідно до згаданої статті.
Перевірте, чи працює він, перш ніж взяти його другові!
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
не виправив.
Для цього я використовую apt-get з опцією "--print-uris". Я також додаю "-qq", щоб було тихо.
Використовуйте sed, щоб видалити зайві символи, додані до деяких імен файлів (щось на зразок 3% 2a) та отримати url, ім'я файлу та md5sum файлів. Використовуйте wget для завантаження файлів. Використовуйте md5sum, щоб перевірити правильність завантаження файлів.
Ви можете використовувати це для створення скрипта оболонки для Linux або Mac OS (замініть ".cmd" в командах на .sh і зробіть "chmod a + x (ім'я файлу), щоб додати дозвіл на виконання сценарію) або пакетний файл команди Command 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
Ви можете додати їх до кінців скриптів, щоб перевірити md5sum:
Linux:
md5sum --quiet -c md5sum.txt
Windows (використовує старіший md5sum, не підтримує - тихо):
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 ...
.
Я зазвичай створюю папку, як це:
Потім змініть wget
рядки вище до ..\\bin\\wget.exe
, md5sum
на ..\\bin\\md5sum.exe
тощо.
Це відокремить файли * .deb та перелічить файли у різні папки.
sudo cp *.deb /var/cache/apt/archives/
sudo apt-get upgrade
абоsudo apt-get dist-upgrade
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 і необхідні спільні бібліотеки. Перевірте розділ «Ієрархія папок».
-qq
з'являється опція, щоб придушити весь вихід з apt-get update
. Я припускаю, що ви не дуже хочете цього варіанту.
Спочатку потрібно придбати ПК з підключенням до Інтернету, куди ви можете завантажити потрібні файли .deb. Після завантаження всіх файлів тепер ви можете створити компакт-диск / DVD-диск або файл ISO, який можна використовувати для установки програмного забезпечення, яке ви завантажили у свій автономний ПК.
Почніть з чистої установки або VM.
sudo apt-get install aptoncd
Встановіть потрібні пакети на один ПК
sudo apt-get install gbrainy
Запустіть aptoncd
Клацніть Створити
натисніть Запис і встановіть параметри, а потім застосувати
Запис або збережіть його
Зауважте, що aptoncd створює резервну копію лише речей у поточному кеш-програмі.
Ось чому ми почали з чистої VM / нової установки та зробили все це за один пробіг.
Як створити автономне сховище, описано тут : Вам просто потрібно завантажити відповідні файли з archive.ubuntu.com . Можна також скористатися apt-medium
.
EDIT: Інший підхід, заснований на локальному архіві *.deb
файлів, описаний у різних записах блогу (див. Тут і тут ). Сарат Чандра підсумовує наступне:
Зробіть доступним dir (принаймні за корінь)
sudo mkdir /var/my-local-repo
Скопіюйте всі файли deb в цей каталог.
Зробіть каталог як
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
Додайте локальне репо до джерел
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
Крок 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
друкує навіть залежності, які вже встановлені в системі?
Можна використовувати Куб . Це портативний менеджер пакунків, який дозволяє завантажувати пакунки на інший підключений до Інтернету комп’ютер та встановлювати їх назад на свій оригінальний комп'ютер Linux, в автономному режимі.
Завантаження програм (у Windows)
Встановлення програм (у Linux)
Ви можете завантажити його на веб-сайті Cube .
У синаптичному варіанті ви можете вибрати пакети, які ви хочете встановити, і під першим меню є можливість генерувати сценарій, який ви можете перенести на іншу машину і запустити там. Цей скрипт "wget" (тобто "завантажувати") всі вказані вами пакунки (та їх залежності), які ви запускаєте на комп'ютері, який має доступ до Інтернету.
Після запуску ви отримаєте всі файли пакунків, необхідні відключеному комп'ютеру. Перенесіть їх на CD / USB флешку та встановіть їх sudo dpkg -i *.deb
.
curl
wget
Ви можете використовувати apt-offline
або apt-offline-gui
.
Попередні реквізити : система друга з підключенням до Інтернету. apt-offline встановлений в обох ваших системах.
Установка в режимі офлайн досягається в 3 простих кроки.
Крок 1 :
Створіть файл підпису у відключеному вікні Debian у домашніх умовах.
apt-offline set /tmp/apt-offline.sig
Наведена вище команда генерує всю інформацію, необхідну для влучного оновлення бази даних.
Крок 2 :
Завантажте дані на основі створеного раніше файла підпису.
apt-offline get C:\apt-offline.sig --threads 5
Наведена вище команда завантажить дані, як зазначено у файлі підписів. Щоб пришвидшити завантаження (це може бути з декількох сприятливих сховищ), у цьому прикладі ми породжуємо 5 ниток завантаження.
Після завершення ви можете просто скопіювати дані (архівний файл, якщо ви використовували параметр --bundle) назад на знімний носій та скопіювати його на хост-офлайн.
Крок 3 :
Після повернення на домашню машину Debian ви передаєте дані зі знімного носія в apt-offline:
apt-offline install /media/USB/apt-offline.zip
Це дозволить безперервно оновити базу даних APT на відключеній машині.
Apt-offline можна використовувати навіть у системах Windows. На мою думку, apt-offline
це найкращий варіант для встановлення в режимі офлайн.
Вище перераховано кілька хороших, ефективних відповідей. Однак це я механізм, який я особисто використовую - apt-ftparchive . Я документую це тут, на випадок, якщо він мені знову знадобиться. Можливо, це може бути вам корисним.
Створення знімка архіву
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
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/
Використання Знімка архіву в автономній цільовій системі
tar xvf snapshot.tar
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
Для офлайн-установки вам знадобляться пакети. Якщо ви використовуєте систему Debian
.deb
розширенням файлу та використовуйте dpkg -i package_name
для його встановлення Отримайте вихідний tarball з розширенням .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)
У вас можуть виникнути проблеми із залежностями. Вам потрібно встановити всі перші, щоб успішно встановити офлайн.
Так. Ви можете завантажити DVD-диск iso, записати його на DVD та встановити програмне забезпечення з DVD. Дивіться тут компакт-диски та DVD-диски можуть бути надані як джерело менеджерам пакетів так само, як і онлайн-архіви.
Перше, що ви могли зробити перед встановленням офлайн-пакету - оновити сховище / сховища, які вам потрібні. Вам напевно сподобається оновлений репозиторій Main (для безкоштовного та офіційно підтримуваного програмного забезпечення).
Додатки, які ви хочете встановити, можуть знаходитися в інших сховищах, таких як Всесвіт (безкоштовна, але офіційна підтримка не має), або Обмежений (не вільний, офіційно підтримується), або сховище Multiverse (не вільна, жодна офіційна підтримка) . Тож ви можете також захотіти одне або декілька.
Отже, перший крок у процесі - це створення оновленого автономного сховища; потім генеруйте список "для завантаження" та завантажуйте їх, і, нарешті, перезапис. Ось як це робиться: джерело
Введіть URL: http://archive.ubuntu.com/ubuntu/dists/ suiteCodename, де suiteCodename має бути відповідним чином замінено, скажімо, точне для Ubuntu 12.04 (Precision Pangolin) [або утопічне для Ubuntu 14.10 (Utopic Unicorn)], щоб ви тепер перейдіть на сторінку http://archive.ubuntu.com/ubuntu/dists/precise/ або будь-яку іншу специфіку для вашої програми.
Завантажте файли Release , Release.gpg та Contents - файл gz для вашої архітектури (тобто Contents-i386.gz , якщо вважати , що для вас архітектура i386). Збережіть ці три файли в каталозі / папці, названому за вашим назвою suiteCodename ( точно для точного Pangolin).
Далі вам доведеться виконати наступне для кожного із сховищ (серед головних, всесвітів, обмежених, мультисеверних ).
а. перейдіть до каталогу цільового репозиторію, наприклад. головний, а потім до каталогу архітектури, наприклад. binary-i386, щоб ви були в http://archive.ubuntu.com/ubuntu/dists/suiteCodename/repositoryName/binary-????/
б. завантажте вміст Packages.bz2, Packages.gz, випустіть і збережіть їх у каталозі, названому по імені сховища, наприклад. головна та розмістіть цей каталог у створеній раніше директорії suiteCodename .
c. повторити а. і b. для кожного із сховищ, які ви хочете.
Нарешті, у вас повинна бути така структура:
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, і вам потрібні основні та універсальні сховища)
Далі, після завантаження оновлених сховищ, ви розміщуєте завантажені файли, розташовані у належній структурі (як показано вище) у каталозі цільового офлайн-комп'ютера. Збережіть структуру каталогів precise
у папці з назвою offlineRepository / dists / точно у вашому домі користувача ( ~/offlineRepository/dists/precise
) або деінде ( /home/offlineRepository/dists/precise
використовуючи привілеї sudo в терміналі або за допомогою розпочатого з Nautilus файлового менеджера gksu nautilus
; також переконайтеся, що у вас є правильні дозволи для скопійованої структури) . Інформація про ваше автономне сховище буде готова до використання.
Додайте локальний сховище у свій список джерел . За допомогою програмного центру Ubuntu перейдіть до меню Правка -> Джерела програмного забезпечення ... -> Інше програмне забезпечення -> Додати ..., а потім у полі для рядка APT додайте: deb file:///home/offlineRepository precise main universe
та натисніть кнопку Додати джерело . Будьте впевнені, що ви змінили рядок у своїй каталозі / структурі файлу та наборі. Потім перезавантажте пакети або запустіть sudo apt-get update
у терміналі.
Тепер із оновленими (і, мабуть, нещодавно доданими сховищами) ви можете скинути список URL-адрес для пакетів та залежностей.
Я запозичую наступний рядок коду з однієї з попередніх публікацій askUbuntu:
sudo apt-get install packageName --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
напр. встановити Synaptic Package Manager:
sudo apt-get install synaptic --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
(Ви також можете генерувати списки оновлень аналогічним чином.)
Створений список можна використовувати для завантаження пакета та всіх залежностей на онлайн-комп’ютері. Створіть сценарій для завантаження або використання списку для пакетного завантаження в деяких менеджерах завантажень. (Також зауважте, що генерований текстовий файл використовує закінчення рядка Unix / Linux, і який, можливо, ви хочете змінити в Windows.) Раніше це було простішим способом, коли Synaptic Package Manager був програмою за замовчуванням в Ubuntu.
Нарешті, у цільовій системі ви можете встановити пакети за 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
Після перегляду відповідей тут: Як я можу встановити програмне забезпечення або пакети без Інтернету (офлайн)? , Я знайшов цей код Арнеля А. Борха найкориснішим.
sudo apt-get install PACKAGE --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh
У будь-якому випадку, ось кілька інструкцій для повних новачків. Я сподіваюся, що ви знайдете їх корисними.
cd FOLDERNAME
(Приклад:cd Desktop
)
Порада: Ви також можете використовуватиdir
команду , щоб переглянути папки.
Приклад коду для завантаження 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
sh install.sh
sudo dpkg -i *.deb
Або ви можете використовувати таку програму, як Synaptics для встановлення пакетів. (Synaptics: File - Додати завантажені пакети)
Крім того, ви можете просто двічі клацнути файли. Це відкриє програмний центр Ubuntu. Після завантаження програмного центру натисніть кнопку встановлення. Повторіть це, поки не будуть встановлені всі файли в папці.
У мене є невеликий скрипт 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)
Для системи, яка завжди буде підтримуватися в режимі офлайн, зазвичай краще використовувати один із надійних методів управління пакетами в автономному режимі, представлений у деяких інших відповідях. Це пояснюється тим, що вони полегшують оновлення вже встановлених пакетів, а не просто встановлення декількох пакетів одноразово.
Однак для поодиноких випадків, коли ви просто хочете швидко встановити пакети в системі, яка не має підключення до Інтернету (і у вас є можливість завантажити їх на іншій машині та перенести їх), ви можете це зробити. Основне ускладнення - це визначення того, що вам потрібно, оскільки пакет часто має інші пакети, від яких це залежить, і які повинні бути встановлені до або одночасно з цим пакетом.
Ця відповідь мотивована повторюваним запитанням g ++ в Ubuntu 14.04 і використовує випадок необхідності встановлення g++
як основний приклад.
Я наголошую, що цей метод не слід застосовувати довгостроково як альтернативу чомусь, що принаймні полегшує автоматичне визначення та встановлення необхідних оновлень безпеки. Ніколи не підключаючись до мережі, значно знижує потенціал для нападу, але деякі помилки безпеки можуть бути використані за допомогою даних з будь-якого джерела.
Хоча цей метод може виглядати складним, він займає лише кілька хвилин. Для пакетів з великою кількістю залежностей це може зайняти більше часу. Для встановлення метапакетів, які охоплюють дуже велику кількість залежностей (наприклад, ubuntu-desktop
в мінімальній системі), може знадобитися набагато більше часу, щоб завантажити всі необхідні файли .deb, і цей метод навряд чи буде підходящим.
Ви можете імітувати встановлення, щоб визначити, які інші пакети необхідні для задоволення залежностей пакета. Передача -s
прапора apt-get
( перед тим, як вказати будь-яку дію) робить це.
apt-get -s install g++
Я опустив sudo
, оскільки це просто моделювання, тому кореневі привілеї не потрібні.
Якщо ви дійсно хочете встановити всі найпоширеніші інструменти для складання пакунків, а не просто 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
.
За результатами моделювання зазвичай краще, ніж просто шукати залежність пакета (або припускати, що те, що вам потрібно, те саме, що вище), тому що:
Коли ви дізнаєтеся, які пакунки вам потрібні, ви можете їх завантажити. Я пропоную використовувати для цього Launchpad, оскільки завантаження зашифровано SSL, що допомагає запобігти пошкодженню файлів.
apt-get
або в Центрі програмного забезпечення не потрібно HTTPS, оскільки його хеш перевіряється відповідно до цифрового підписаного списку хешів. Якщо ви в кінцевому підсумку помістите ці пакунки в кеш-пакет ваших пакетів і використовуєте їх apt-get
для встановлення, це станеться.dpkg -i
, це не буде зроблено.Ви можете шукати пакет, ввівши його назву в розділі Пакети за адресою https://launchpad.net/ubuntu та натиснувши "Знайти пакет". Наприклад, пошук g++-4.8
приведе вас до сторінки вихідного пакета gcc-4.8 .
Потім прокрутіть униз до кодового імені випуску Ubuntu. Ви біжите 14.04, тож це надійний Тар. Кодові назви для всіх релізів Ubuntu перелічені на сторінці вікі випусків . Клацніть правокутний трикутник, щоб переглянути завантаження пакета для нього.
Для деяких пакетів ви можете розширити списки завантажень з більш ніж однієї кишені . Ви можете побачити:
Наприклад, ось що доступно для Firefox 14.04:
Як правило, ви хочете отримати пакети в безпеці або оновлення, якщо вони існують, інакше пакети у випуску .
Після розширення списку пакунків знайдіть .deb
файл для вашої архітектури. Назви названі . Найпоширеніші архітектури:name_version_architecture.deb
amd64
як для процесорів Intel, так і для AMD)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 ...
Якщо кількість встановлених пакетів не дуже мала і ви знаєте точний порядок їх встановлення для задоволення залежностей, використовувати ці методи набагато ефективніше, ніж установити кожен пакет окремо вручну.
Якщо у вас немає підключення до Інтернету і у вас немає нікого поблизу, де ви можете підключитися до Інтернету, є ще не вказаний варіант: нехай хтось надсилає вихідні файли через звичайну пошту.
Ви можете отримати всю операційну систему Ubuntu через пошту, оплативши DVD. Так само, як ви можете попросити онлайн-друга, щоб він надіслав вам файли DEB або навіть вихідні файли для пакета, наприклад VLC. Хоча, можливо, варто, щоб хтось надсилав повний DVD із усіма пакунками. Таким чином ви можете встановити його з цього DVD.
Це не зовсім детальна відповідь, але на високому рівні ви могли:
Я пропоную налаштувати живі компакт-диски та встановити їх.
Ви також можете завантажувати файли на ім’я файлу http://packages.ubuntu.com/ , але тоді вам також потрібно звернути увагу на залежності.
Інша можливість - використовувати ремастери. Цей інструмент дозволяє зробити ізо-зображення із власної системи, і після створення завантажувальної USB-палички через unetbootin ви можете встановити налаштовану систему на стільки комп’ютерів, які ви хочете.
У мене є кілька простих пропозицій. Можна зайти до бібліотеки. Подивіться в розділі комп'ютера потрібну операційну систему, деякі книги мають всередині DVD. Також, якщо ви хочете найсучаснішої операційної системи, я рекомендую цей веб-сайт, де ви зможете придбати DVD за номінальну плату. www.ubuntu.com/download/desktop.
Це запитання трохи старе, тому відповідь наразі може бути зайвою, але, можливо, ви також можете спробувати використовувати dpkg-offline . Встановіть bzr, а потім:
bzr branch lp:dpkg-offline
там підручник та файл readme включений туди.
Припускаючи, що ви хочете встановити git в системі Ubuntu 14.04 amd64, навіть якщо ваша система є, наприклад, 12.04 i386, ви можете:
dpkg-offline ubuntu-14.04-desktop-amd64.iso git
apt-get
для встановлення ваших пакетів.dpkg-offline буде працювати з будь-якою версією для настільних комп'ютерів Ubuntu з 10.04 і далі (я не тестував старіші версії, але вони також повинні працювати), і з будь-якою версією сервера Ubuntu з 12.10. Він також повинен працювати з amd64, i386 та armhf зображеннями незалежно від архітектури хоста. Знову ж таки, я не проходив тестування на arm64 або powerpc / ppc64el, але вони також можуть працювати.
Відмова: Я написав dpkg-offline.
Деякі пакети встановлені на установці usb-stick. Я видалив 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
.
Примітка. Це може бути не відповідь на вищезазначене питання, а на запитання, яке було у мене під час пошуку цього питання.
sources.list
а потім відновити її.