У меня есть друг, у которого есть компьютер, который не подключен к Интернету. Есть ли способ легко установить программное обеспечение офлайн?
Я предлагаю настроить Live CD и установить их.
Вы также можете загрузить файлы на , настроить Live CDs filename, но тогда вы должны обратить внимание на зависимости, тоже.
Это не совсем подробный ответ, но на высоком уровне вы можете:
получить желаемые .deb pkgs (и создать их список) (включить пакеты, от которых они зависят, установленный), создайте apt-архив, содержащий их, скопируйте apt-архив на CD или USB, вставьте CD или USB в целевую систему, настройте на целевую систему, чтобы включить компакт-диск или USB-apt-архив в качестве источника, установите пакеты из вашего списка с apt-get install (список pkgs)Я использую apt-get с параметром «-print-uris», чтобы сделать это.
Используйте sed, чтобы удалить лишние символы, добавленные к некоторым именам файлов (что-то вроде 3% 2a), и получить URL, имя файла и md5sum файлов. Используйте wget для загрузки файлов. Используйте md5sum, чтобы проверить, правильно ли загружены файлы.
Вы можете использовать это для создания сценария оболочки для Linux или Mac OS (замените «.cmd» в командах на .sh и выполните «chmod a + x (имя файла), чтобы добавить разрешение на выполнение скрипта) или командный файл Windows Command, и файл 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
Создать скрипт:
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, не поддерживает -quiet):
md5sum -c md5sum.txt
Чтобы автоматически добавить сценарий:
echo -e "md5sum -c md5sum.txt\npause" >> script.cmd
Запустите эти команды для e.
Вам нужно использовать 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 ....
Обычно я создаю такую папку:
apt-get / bin / msys-1.0.dll msys-intl-8.dll wget.exe msys-iconv-2.dll md5sum.exe libeay32.dll libintl3.dll libssl32.dll libiconv2.dll update / update .cmd md5sum.txt install / install-foo.cmd install-bar.cmd upgrade.cmd md5sum.txtЗатем измените wget в строках выше на ..\\bin\\wget.exe, md5sum на ..\\bin\\md5sum.exe и т. д.
Это приведет к разделению файлов * .deb и файлов списка в разные папки.
Wget for Windows: http://gnuwin32.sourceforge.net/packages/ wget.htm
md5sum для Windows: http://gnuwin32.sourceforge.net/packages/wget.htm или http://www.etree.org/cgi-bin /counter.cgi/software/md5sum.exe
Вы также можете использовать те из http://www.etree.org/cgi-bin/counter.cgi/software/md5sum.exe , которые я использую. Вам понадобятся только wget.exe, md5sum.exe и необходимые общие библиотеки. Посмотрите раздел «Иерархия папок».
В синаптике вы можете выбрать пакеты, которые вы хотите установить, и в первом меню есть возможность сгенерировать скрипт, который вы можете взять на другой компьютер и запустить там. Этот скрипт будет «wget» (т. Е. «Загрузить») все указанные вами пакеты (и их зависимости), которые вы запускаете на компьютере, имеющем доступ в Интернет.
После запуска у вас будут все файлы пакетов, необходимые для отсоединенного компьютера. Перенесите их на CD / USB-накопитель и установите их с помощью sudo dpkg -i *.deb.
Первое, что вы могли бы сделать до установки автономного пакета, - это обновить репозиторий / репозитории, которые вам нужны. Вы наверняка должны точно обновить основной репозиторий (бесплатно и официально поддерживаемое программное обеспечение).
Приложения, которые вы хотите установить, могут находиться в некоторых других репозиториях, таких как Main (бесплатная, но без официальной поддержки) или Ограниченный (несвободный, официально поддерживаемый) , или репозиторий Multiverse (несвободный, без официальной поддержки). Таким образом, вы можете захотеть и один или несколько из них.
Итак, первым шагом в этом процессе является создание обновленного автономного хранилища; затем сгенерируйте список «загрузить» и загрузите их, и, наконец, insatllation. Вот как это делается: source
Введите 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/ или в любом другом конкретном пакете, который у вас есть. Загрузите файлы Release, Release.gpg и содержимое - ????. Gz файл для вашей архитектуры (т. Е. Contents-i386.gz, предполагая, что вы - архитектура i386). Сохраните эти три файла в каталоге / папке, названной в честь вашего набораCodename (точное для Precise Pangolin). Затем вам нужно будет сделать следующее для каждого из репозиториев (среди Main, Universe, Restricted, Multiverse), которые вы хотите. а. перейдите в каталог целевого репозитория, например. основной, а затем в каталог архитектуры, например. binary-i386, чтобы вы попали в http://archive.ubuntu.com/ubuntu/dists/suiteCodename/repositoryName/binary-ver/ b. загрузите содержимое Packages.bz2, Packages.gz, отпустите и сохраните их в каталоге, названном именем repositoryName, например. main и поместите этот каталог в ранее созданный каталог SuiteCodename. с. повторите a. и 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 / exact в вашем домашнем доме (~/offlineRepository/dists/precise) или где-либо еще (/home/offlineRepository/dists/precise с использованием sudo previleges в терминале или с файловым менеджером 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: 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
[ ! D69] Если у вас нет никакого подключения к Интернету, и у вас нет никого рядом с тем, где вы можете подключиться к Интернету, есть еще один вариант: попросите кого-нибудь отправить исходные файлы через обычную почту.
Вы можете получить всю Ubuntu OS через почту, заплатив за DVD. Точно так же вы можете попросить онлайн-друга отправить вам файлы DEB или даже исходные файлы для пакета, такого как VLC. Хотя это может стоить того, чтобы кто-то отправил полный DVD со всеми пакетами. Таким образом, вы можете установить его с этого DVD.
Этот вопрос немного старый, поэтому ответ в это время может быть избыточным, но, возможно, вы также можете попробовать использовать dpkg-offline. Установите bzr, затем:
bzr branch lp:dpkg-offline
есть учебник и файл readme, включенные там.
Предполагая, что вы хотите установить git в систему Ubuntu 14.04 amd64, даже если ваша система например, 12.04 i386, вы можете:
загрузить изображение ubuntu-14.04-desktop-amd64.iso Run 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.
Быстрый взломать копию всех пакетов, которые вы загрузили для своей установки, на его машину (подробные инструкции здесь). Файлы .deb хранятся в файле /var/cache/apt/archives, затем на другом компьютере запускают Synaptic и выбирают File -> Add Package Downloaded и выполняют поиск в папке, вы помещали файлы и открывали их, принимали все (или устанавливали с терминала с помощью команды sudo dpkg -i DEB_PACKAGE_NAME) .
Synaptic Предполагается, что ваш менеджер пакетов не настроен на удаление пакетов сразу после установки. Он также предполагает, что вы используете ту же версию Ubuntu (10.10, 12.04 и т. Д.) И версию архитектуры (32b или 64b).
Репозиторий DVD
Если вам нужны последние исправления ошибок и исправления безопасности, ознакомьтесь с подробными инструкциями здесь , который охватывает создание собственного репозитория DVD.
Некоторые пакеты установлены на установочный 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.
Примечание: Это может быть не ответ на вопрос выше, а на вопрос, который я имел, когда смотрел этот.
У меня есть небольшой скрипт 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)
Первое, что вы могли бы сделать до установки автономного пакета, - это обновить репозиторий / репозитории, которые вам нужны. Вы наверняка должны точно обновить основной репозиторий (бесплатно и официально поддерживаемое программное обеспечение).
Приложения, которые вы хотите установить, могут находиться в некоторых других репозиториях, таких как Universe (бесплатная, но без официальной поддержки) или Ограниченные (без поддержки, официально поддерживаемые) или Multiverse (не- бесплатно, без официальной поддержки). Поэтому вы можете захотеть один или несколько из них.
Итак, первым шагом в этом процессе является создание обновленного автономного хранилища; затем сгенерируйте список «загрузить» и загрузите их, и, наконец, insatllation. Вот как это делается: source
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 / exact в вашем домашнем доме пользователя (~/offlineRepository/dists/precise
) или где-либо еще (/home/offlineRepository/dists/precise
с использованием sudo previleges в терминале или с файловым менеджером Nautilus началось с gksu nautilus
, также убедитесь, что у вас есть права для скопированной структуры). Ваша автономная информация о репозитории будет готова к использованию. deb file:///home/offlineRepository precise main universe
и нажмите Добавить источник . Убедитесь, что вы изменили строку в отношении вашей директории / структуры файла и набора. Затем перезагрузите пакеты или запустите sudo apt-get update
в терминале. [/g25] 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. dpkg
или любым другим способом. Следующая структура, помимо приведенного выше объяснения, должна дать вам идею:
blockquote>/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
Другая возможность - использовать remastersys. Этот инструмент позволяет вам сделать iso-образ из вашей собственной системы и после создания загрузочного USB-накопителя через unetbootin вы можете установить индивидуальную систему на столько компьютеров, сколько хотите.
Я использую apt-get с опцией «-print-uris», чтобы сделать это. Я также добавляю «-qq», поэтому было бы тихо.
Используйте sed, чтобы удалить лишние символы, добавленные к некоторым именам файлов (что-то вроде 3% 2a), и получить url, filename и md5sum файлов. Используйте wget для загрузки файлов. Используйте md5sum для проверки правильности загрузки файлов.
Вы можете использовать это для создания сценария оболочки для Linux или Mac OS (замените «.cmd» в командах на .sh и выполните «chmod a + x (имя файла), чтобы добавить разрешение на выполнение сценария) или командный файл Windows Command, и файл 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, не поддерживает -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 ...
.
Обычно я создаю такую папку:
Затем измените 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 for 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 и необходимые общие библиотеки. Посмотрите раздел «Иерархия папок».
Я использую apt-get с опцией «-print-uris», чтобы сделать это. Я также добавляю «-qq», поэтому было бы тихо.
Используйте sed, чтобы удалить лишние символы, добавленные к некоторым именам файлов (что-то вроде 3% 2a), и получить url, filename и md5sum файлов. Используйте wget для загрузки файлов. Используйте md5sum для проверки правильности загрузки файлов.
Вы можете использовать это для создания сценария оболочки для Linux или Mac OS (замените «.cmd» в командах на .sh и выполните «chmod a + x (имя файла), чтобы добавить разрешение на выполнение сценария) или командный файл Windows Command, и файл 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, не поддерживает -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 ...
.
Обычно я создаю такую папку:
Затем измените 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 for 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 и необходимые общие библиотеки. Посмотрите раздел «Иерархия папок».
Первое, что вы могли бы сделать до установки автономного пакета, - это обновить репозиторий / репозитории, которые вам нужны. Вы наверняка должны точно обновить основной репозиторий (бесплатно и официально поддерживаемое программное обеспечение).
Приложения, которые вы хотите установить, могут находиться в некоторых других репозиториях, таких как Universe (бесплатная, но без официальной поддержки) или Ограниченные (без поддержки, официально поддерживаемые) или Multiverse (не- бесплатно, без официальной поддержки). Поэтому вы можете захотеть один или несколько из них.
Итак, первым шагом в этом процессе является создание обновленного автономного хранилища; затем сгенерируйте список «загрузить» и загрузите их, и, наконец, insatllation. Вот как это делается: source
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 / exact в вашем домашнем доме пользователя (~/offlineRepository/dists/precise
) или где-либо еще (/home/offlineRepository/dists/precise
с использованием sudo previleges в терминале или с файловым менеджером Nautilus началось с gksu nautilus
, также убедитесь, что у вас есть права для скопированной структуры). Ваша автономная информация о репозитории будет готова к использованию. deb file:///home/offlineRepository precise main universe
и нажмите Добавить источник . Убедитесь, что вы изменили строку в отношении вашей директории / структуры файла и набора. Затем перезагрузите пакеты или запустите sudo apt-get update
в терминале. [/g25] 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. dpkg
или любым другим способом. Следующая структура, помимо приведенного выше объяснения, должна дать вам идею:
blockquote>/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
Первое, что вы могли бы сделать до установки автономного пакета, - это обновить репозиторий / репозитории, которые вам нужны. Вы наверняка должны точно обновить основной репозиторий (бесплатно и официально поддерживаемое программное обеспечение).
Приложения, которые вы хотите установить, могут находиться в некоторых других репозиториях, таких как Universe (бесплатная, но без официальной поддержки) или Ограниченные (без поддержки, официально поддерживаемые) или Multiverse (не- бесплатно, без официальной поддержки). Поэтому вы можете захотеть один или несколько из них.
Итак, первым шагом в этом процессе является создание обновленного автономного хранилища; затем сгенерируйте список «загрузить» и загрузите их, и, наконец, insatllation. Вот как это делается: source
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 / exact в вашем домашнем доме пользователя (~/offlineRepository/dists/precise
) или где-либо еще (/home/offlineRepository/dists/precise
с использованием sudo previleges в терминале или с файловым менеджером Nautilus началось с gksu nautilus
, также убедитесь, что у вас есть права для скопированной структуры). Ваша автономная информация о репозитории будет готова к использованию. deb file:///home/offlineRepository precise main universe
и нажмите Добавить источник . Убедитесь, что вы изменили строку в отношении вашей директории / структуры файла и набора. Затем перезагрузите пакеты или запустите sudo apt-get update
в терминале. [/g25] 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. dpkg
или любым другим способом. Следующая структура, помимо приведенного выше объяснения, должна дать вам идею:
blockquote>/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
Я использую apt-get с опцией «-print-uris», чтобы сделать это. Я также добавляю «-qq», поэтому было бы тихо.
Используйте sed, чтобы удалить лишние символы, добавленные к некоторым именам файлов (что-то вроде 3% 2a), и получить url, filename и md5sum файлов. Используйте wget для загрузки файлов. Используйте md5sum для проверки правильности загрузки файлов.
Вы можете использовать это для создания сценария оболочки для Linux или Mac OS (замените «.cmd» в командах на .sh и выполните «chmod a + x (имя файла), чтобы добавить разрешение на выполнение сценария) или командный файл Windows Command, и файл 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, не поддерживает -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 ...
.
Обычно я создаю такую папку:
Затем измените 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 for 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 и необходимые общие библиотеки. Посмотрите раздел «Иерархия папок».
Первое, что вы могли бы сделать до установки автономного пакета, - это обновить репозиторий / репозитории, которые вам нужны. Вы наверняка должны точно обновить основной репозиторий (бесплатно и официально поддерживаемое программное обеспечение).
Приложения, которые вы хотите установить, могут находиться в некоторых других репозиториях, таких как Universe (бесплатная, но без официальной поддержки) или Ограниченные (без поддержки, официально поддерживаемые) или Multiverse (не- бесплатно, без официальной поддержки). Поэтому вы можете захотеть один или несколько из них.
Итак, первым шагом в этом процессе является создание обновленного автономного хранилища; затем сгенерируйте список «загрузить» и загрузите их, и, наконец, insatllation. Вот как это делается: source
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 / exact в вашем домашнем доме пользователя (~/offlineRepository/dists/precise
) или где-либо еще (/home/offlineRepository/dists/precise
с использованием sudo previleges в терминале или с файловым менеджером Nautilus началось с gksu nautilus
, также убедитесь, что у вас есть права для скопированной структуры). Ваша автономная информация о репозитории будет готова к использованию. deb file:///home/offlineRepository precise main universe
и нажмите Добавить источник . Убедитесь, что вы изменили строку в отношении вашей директории / структуры файла и набора. Затем перезагрузите пакеты или запустите sudo apt-get update
в терминале. [/g25] 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. dpkg
или любым другим способом. Следующая структура, помимо приведенного выше объяснения, должна дать вам идею:
blockquote>/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
Я использую apt-get с опцией «-print-uris», чтобы сделать это. Я также добавляю «-qq», поэтому было бы тихо.
Используйте sed, чтобы удалить лишние символы, добавленные к некоторым именам файлов (что-то вроде 3% 2a), и получить url, filename и md5sum файлов. Используйте wget для загрузки файлов. Используйте md5sum для проверки правильности загрузки файлов.
Вы можете использовать это для создания сценария оболочки для Linux или Mac OS (замените «.cmd» в командах на .sh и выполните «chmod a + x (имя файла), чтобы добавить разрешение на выполнение сценария) или командный файл Windows Command, и файл 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, не поддерживает -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 ...
.
Обычно я создаю такую папку:
Затем измените 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 for 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 и необходимые общие библиотеки. Посмотрите раздел «Иерархия папок».
Первое, что вы могли бы сделать до установки автономного пакета, - это обновить репозиторий / репозитории, которые вам нужны. Вы наверняка должны точно обновить основной репозиторий (бесплатно и официально поддерживаемое программное обеспечение).
Приложения, которые вы хотите установить, могут находиться в некоторых других репозиториях, таких как Universe (бесплатная, но без официальной поддержки) или Ограниченные (без поддержки, официально поддерживаемые) или Multiverse (не- бесплатно, без официальной поддержки). Поэтому вы можете захотеть один или несколько из них.
Итак, первым шагом в этом процессе является создание обновленного автономного хранилища; затем сгенерируйте список «загрузить» и загрузите их, и, наконец, insatllation. Вот как это делается: source
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 / exact в вашем домашнем доме пользователя (~/offlineRepository/dists/precise
) или где-либо еще (/home/offlineRepository/dists/precise
с использованием sudo previleges в терминале или с файловым менеджером Nautilus началось с gksu nautilus
, также убедитесь, что у вас есть права для скопированной структуры). Ваша автономная информация о репозитории будет готова к использованию. deb file:///home/offlineRepository precise main universe
и нажмите Добавить источник . Убедитесь, что вы изменили строку в отношении вашей директории / структуры файла и набора. Затем перезагрузите пакеты или запустите sudo apt-get update
в терминале. [/g25] 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. dpkg
или любым другим способом. Следующая структура, помимо приведенного выше объяснения, должна дать вам идею:
blockquote>/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
Я использую apt-get с опцией «-print-uris», чтобы сделать это. Я также добавляю «-qq», поэтому было бы тихо.
Используйте sed, чтобы удалить лишние символы, добавленные к некоторым именам файлов (что-то вроде 3% 2a), и получить url, filename и md5sum файлов. Используйте wget для загрузки файлов. Используйте md5sum для проверки правильности загрузки файлов.
Вы можете использовать это для создания сценария оболочки для Linux или Mac OS (замените «.cmd» в командах на .sh и выполните «chmod a + x (имя файла), чтобы добавить разрешение на выполнение сценария) или командный файл Windows Command, и файл 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, не поддерживает -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 ...
.
Обычно я создаю такую папку:
Затем измените 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 for 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 и необходимые общие библиотеки. Посмотрите раздел «Иерархия папок».
У меня есть небольшой скрипт 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)
Этот вопрос немного старый, поэтому ответ в это время может быть избыточным, но, возможно, вы также можете попробовать использовать 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 и далее (I не тестировались со старыми версиями, но они должны работать ) и с любой версией сервера Ubuntu начиная с 12.10. Он также должен работать с изображениями amd64, i386 и armhf независимо от архитектуры хоста. Опять же, я не тестировал с arm64 или powerpc / ppc64el, но они также могут работать.
Отказ от ответственности: я написал dpkg-offline.
Первое, что вы могли бы сделать до установки автономного пакета, - это обновить репозиторий / репозитории, которые вам нужны. Вы наверняка должны точно обновить основной репозиторий (бесплатно и официально поддерживаемое программное обеспечение).
Приложения, которые вы хотите установить, могут находиться в некоторых других репозиториях, таких как Universe (бесплатная, но без официальной поддержки) или Ограниченные (без поддержки, официально поддерживаемые) или Multiverse (не- бесплатно, без официальной поддержки). Поэтому вы можете захотеть один или несколько из них.
Итак, первым шагом в этом процессе является создание обновленного автономного хранилища; затем сгенерируйте список «загрузить» и загрузите их, и, наконец, insatllation. Вот как это делается: source
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 / exact в вашем домашнем доме пользователя (~/offlineRepository/dists/precise
) или где-либо еще (/home/offlineRepository/dists/precise
с использованием sudo previleges в терминале или с файловым менеджером Nautilus началось с gksu nautilus
, также убедитесь, что у вас есть права для скопированной структуры). Ваша автономная информация о репозитории будет готова к использованию. deb file:///home/offlineRepository precise main universe
и нажмите Добавить источник . Убедитесь, что вы изменили строку в отношении вашей директории / структуры файла и набора. Затем перезагрузите пакеты или запустите sudo apt-get update
в терминале. [/g25] 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. dpkg
или любым другим способом. Следующая структура, помимо приведенного выше объяснения, должна дать вам идею:
blockquote>/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
Я использую apt-get с опцией «-print-uris», чтобы сделать это. Я также добавляю «-qq», поэтому было бы тихо.
Используйте sed, чтобы удалить лишние символы, добавленные к некоторым именам файлов (что-то вроде 3% 2a), и получить url, filename и md5sum файлов. Используйте wget для загрузки файлов. Используйте md5sum для проверки правильности загрузки файлов.
Вы можете использовать это для создания сценария оболочки для Linux или Mac OS (замените «.cmd» в командах на .sh и выполните «chmod a + x (имя файла), чтобы добавить разрешение на выполнение сценария) или командный файл Windows Command, и файл 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, не поддерживает -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 ...
.
Обычно я создаю такую папку:
Затем измените 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 for 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 и необходимые общие библиотеки. Посмотрите раздел «Иерархия папок».
Первое, что вы могли бы сделать до установки автономного пакета, - это обновить репозиторий / репозитории, которые вам нужны. Вы наверняка должны точно обновить основной репозиторий (бесплатно и официально поддерживаемое программное обеспечение).
Приложения, которые вы хотите установить, могут находиться в некоторых других репозиториях, таких как Universe (бесплатная, но без официальной поддержки) или Ограниченные (без поддержки, официально поддерживаемые) или Multiverse (не- бесплатно, без официальной поддержки). Поэтому вы можете захотеть один или несколько из них.
Итак, первым шагом в этом процессе является создание обновленного автономного хранилища; затем сгенерируйте список «загрузить» и загрузите их, и, наконец, insatllation. Вот как это делается: source
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 / exact в вашем домашнем доме пользователя (~/offlineRepository/dists/precise
) или где-либо еще (/home/offlineRepository/dists/precise
с использованием sudo previleges в терминале или с файловым менеджером Nautilus началось с gksu nautilus
, также убедитесь, что у вас есть права для скопированной структуры). Ваша автономная информация о репозитории будет готова к использованию. deb file:///home/offlineRepository precise main universe
и нажмите Добавить источник . Убедитесь, что вы изменили строку в отношении вашей директории / структуры файла и набора. Затем перезагрузите пакеты или запустите sudo apt-get update
в терминале. [/g25] 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. dpkg
или любым другим способом. Следующая структура, помимо приведенного выше объяснения, должна дать вам идею:
blockquote>/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
Я использую apt-get с опцией «-print-uris», чтобы сделать это. Я также добавляю «-qq», поэтому было бы тихо.
Используйте sed, чтобы удалить лишние символы, добавленные к некоторым именам файлов (что-то вроде 3% 2a), и получить url, filename и md5sum файлов. Используйте wget для загрузки файлов. Используйте md5sum для проверки правильности загрузки файлов.
Вы можете использовать это для создания сценария оболочки для Linux или Mac OS (замените «.cmd» в командах на .sh и выполните «chmod a + x (имя файла), чтобы добавить разрешение на выполнение сценария) или командный файл Windows Command, и файл 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, не поддерживает -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 ...
.
Обычно я создаю такую папку:
Затем измените 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 for 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 и необходимые общие библиотеки. Посмотрите раздел «Иерархия папок».