The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Использование apt-zip и yumdownloader для загрузки обновлений с другой машины
apt-zip позволяет минимизировать ручные операции при обновлении Debian/Ubuntu 
на машине с медленным соединением к сети.

Устанавливаем apt-zip:
   apt-get install apt-zip

В /etc/apt/apt-zip.conf определяем носитель для переноса пакетов между машинами.
Например, меняем "MEDIUM=/media/zip" на "MEDIUM=/media/disk"

Обновляем кеш пакетов:
   apt-get update

Записываем на Flash диск примонтированный как /media/disk список пакетов для обновления:

   apt-zip-list

На Flash будет записан shell скрипт (fetch-script-wget-имя_машины ) для загрузки пакетов 
при помощи утилиты wget. На машине с высокоскоростным линком достаточно просто
запустить этот скрипт.

Тип обновления задается в /etc/apt/apt-zip.conf через переменную DEFAULT_APTGETACTION:

upgrade - обновление уже установленных пакетов из репозиториев, определенных в /etc/apt/sources.list
dselect-upgrade - от upgrade отличается использованием dselect
dist-upgrade - поддерживает расширенный разрешения конфликтов, больше подходит
для выполнения обновления
всего дистрибутива до более новой версии.

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

   apt-zip-inst

Для запроса установки новых дополнительных пакетов можно использовать:

   apt-zip-list -a upgrade -p openoffice.org,digikam 
   ...
   apt-zip-inst -a upgrade -p openoffice.org,digikam

--------------

Рекомендации от _selivan_. Если дома есть dial-up, создаем скрипт upd.sh:

   #!/bin/bash
   # Usage: get_soft_links.sh <package1> ... <packageN>
   URLS=soft`date +%F_%H.%M`-urls.txt
   LIST=soft`date +%F_%H.%M`-list.txt
   DIR=~/links
   # get links
   apt-get --print-uris -y -qq dist-upgrade | cut -d\' -f2 >  $DIR/$URLS
   apt-get --print-uris -y -qq install $@ | cut -d\' -f2 >> $DIR/$URLS
   # print names of requested packages to file
   echo $@ > $DIR/$LIST
   #convert unix newline format to windows for windows download managers
   sed -i -e 's/$/\r/' $DIR/$URLS


Если диалапа нет - на один шаг больше:

   apt-get --print-uris update
   ...

--------------

Рекомендации от sHaggY_caT по использованию yumdownloader в Fedora, Centos, ASP
и других Red Hat-подобных дистрибутивах:

Ставим yum-utils.
Для генерации листа закачки можно использовать скрипт 
(первый аргумент название пакета, второй, имя выходного файла):

   #!/bin/sh
   yumdownloader --urls $1 | sed '1,2d' > /media/disk/$2.txt

Удаление первых двух строк поставлено, так как там служебная информация от плагинов и yum. 
К сожалению, yum не разделяет вывод служебной информации и результат на потоки,
по этому, сделать 2>/dev/null нельзя

Что касается машины совсем без интернета, в тут возможность подобная "apt-get
--print-uris update" не получится.
Можно только сгенерировать список для загрузки с ключем "-C":

   yumdownloader -C --urls пакет

Преварительно нужно все-таки обновить кэш с помощью "yum update".

В основанных на Red Hat дистрибутивах скаченные пакеты можно либо с помощью yum либо с помощью rpm:

   yum localinstall название_файлов_пакетов_через_пробел
   rpm -Uhv название_файлов_пакетов_через_пробел

Yum скачает недостающие зависимости. Если список был сгенерирован верно, то это не нужно, 
и необходимо использовать rpm.

Две полезные команды, которые установят все rpm-пакеты из текущей директории:

   ls -l | grep rpm | awk '{print $9}' | xargs yum localinstall
   ls -l | grep rpm | awk '{print $9}' | xargs rpm -Uhv

--------------

Как заставить apt-get установить вручную загруженные пакеты: http://www.opennet.ru/tips/info/1707.shtml

Для загрузки обновлений на внешней машине с Windows можно использовать Keryx
(http://www.opennet.ru/opennews/art.shtml?num=19650)

В графическом интерфейсе synaptic есть возможность сгенерировать скрипт для
загрузки выбранных пакетов
с их последующей установкой: "генерировать скрипт закачки пакетов" и "добавить закаченные пакеты".
 
06.01.2009 , Источник: http://www.opennet.ru/openforum/vsl...
Ключи: apt, packet, debian, install, update / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux

Обсуждение [ RSS ]
 
  • 1.1, VecH, 12:50, 06/01/2009 [ответить] [смотреть все]
  • +/
    У меня дома нет инета, убунту ставил с диска LiveCD
    как произвести apt-get update на этой машине?

    > apt-get --print-uris update

    выдает список и скачать его тоже можно, только куда их распаковывать и ложить

    хотелось бы заострить внимание на том как произвести apt-get update на машине вообще без инета

     
     
  • 2.2, Аноним, 13:52, 06/01/2009 [^] [ответить] [смотреть все]
  • +/
    Кладешь закаченные файлы в /var/cache/apt/archives и запускаеш apt-get update
     
     
  • 3.5, VecH, 18:51, 07/01/2009 [^] [ответить] [смотреть все]
  • +/
    >Кладешь закаченные файлы в /var/cache/apt/archives и запускаеш apt-get update

    так он инета просить будет

     
  • 1.3, sHaggY_caT, 17:59, 06/01/2009 [ответить] [смотреть все]
  • +/
    Добавила текст про локальную установку пакетов в RH-системах, ждет модерации:)
     
     
  • 2.8, абырвалг, 08:03, 26/03/2009 [^] [ответить] [смотреть все]
  • +/
    Чем отличаются команды:
    ls -l | grep rpm | awk '{print $9}'
    от
    ls *rpm*
    ???
    Кроме того, обе команды ошибочны - в указанном контексте правильнее использовать
    ls *.rpm
     
     
  • 3.9, абырвалг, 08:08, 26/03/2009 [^] [ответить] [смотреть все]  
  • +/
    И почему бы вообще не написать так:
    yum localinstall *.rpm
    rpm -Uhv *.rpm
    KISS никто не отменял. :)
    http://ru.wikipedia.org/wiki/п÷я─п╦п╫я├п╦п©_KISS
     
     
  • 4.10, sHaggY_caT, 15:48, 06/06/2009 [^] [ответить] [смотреть все]  
  • +/
    ага, так тоже можно :) не знаю,почему меня на пайпы потянуло
     
  • 1.4, Aleksey, 12:04, 07/01/2009 [ответить] [смотреть все]  
  • +/
    Спасибо.
    В закладки!
     
  • 1.6, _selivan_, 05:05, 09/01/2009 [ответить] [смотреть все]  
  • +/
    VecH:

    apt-get update точно так же понимает параметры -y -qq и --print-uris. Сложность в том, что все скачанные файлы будут назаваться одинаково(Packages.bz2, Sources.bz2, Release и Release.gpg), их надо будет переименовать вроде этого: ftp.debian.org_debian_dists_testing_Release и положить в /var/lib/apt/lists. Нужные имена уже присутствуют в выводе apt-get вместе с URL-ми. Если есть возможность установить в месте скачивания wget для Windows, можно написать несложный скрипт, если нет - можно сохранить правильные названия в том же порядке в отдельный файл, и скачав все файлы с одинаковыми именами в одну папку (получится то-то вроде Release, Release(2) и т. д.) переименовать их в соответствии со временем создания. Всё решаемо. apt-zip штука хорошая,  но ИМХО вероятность встретить *nix на доступной машине с инетом весьма мала

     
     
  • 2.7, VecH, 05:18, 09/01/2009 [^] [ответить] [смотреть все]  
  • +/
    под виндой только wget использую :)
    поэтому проблем нет
    проблему в своем вопросе я понял, решил, спасибо за комментарии
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:




      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor