Портал информационной и технической поддержки ПО образовательных учреждений РФ

SPO HELP
  • Новости
  • Продукты
  • Поддержка
  • Учебный центр
  • Документация
  • Сообщество
  • Форумы
       
  • Вход
  • Регистрация

Форумы → Продукты пакета свободного ПО для ОУ РФ → Установка ПО без подключения к инэту
Последние записи

Установка ПО без подключения к инэту

Подписаться на Установка ПО без подключения к инэту Сообщений: 18, участников: 5

  • Участвуют:
  • Александр Павлов
  • kna_s36
  • Сергей Целищев
  • Александр Опарин
  • Роман
Ответить


21 декабря 2009, 10:45
Custom_rg-creations_l_medium Александр Павлов Записей: 4

Обьясните пожалуйста, как устанавливать (обновлять) ПО на компьютерах не подключенных к сети. Либо, как разместить репозитории, с которых производится установка, на CD-DVD диск.

 
21 декабря 2009, 11:11
Icon_missing_medium kna_s36 Записей: 225

http://www.altlinux.org/Apt/CreateRepository

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

 
21 декабря 2009, 11:20
Custom_rg-creations_l_medium Александр Павлов Записей: 4

Спасибо, буду пробовать.

 
24 декабря 2009, 15:57
Imgp4410_medium Сергей Целищев Записей: 121

Если есть много интернета можно сделать так (http://www.altlinux.org/Mirror):

rsync -va --stats --delete-after --exclude SRPMS rsync.altlinux.org::ALTLinux/p5 /media/MMEDIA/altlinux

Эта команда у меня дома периодически синхронизирует репозитарий пакетов на USB-диск, примонтированный в /media/MMEDIA.
Первое выполнение этой команды приводит к скачиванию примерно 45 Гигов (сами пакеты и образы дисков), зато в дальшейшем скачиваются только обновленные пакеты. Если не нужны образы или какие-либо архитектуры, то подбираем соотвествующие --exclude, я не качаю только исходники - SRPMS.

В школе на эту директорию натравливаем apt-get:

rpm [p5] file:/media/MMEDIA/altlinux/p5/branch i586 classic
rpm [p5] file:/media/MMEDIA/altlinux/p5/branch noarch classic

В принципе есть еще скрипты для создания зеркал репозитариев в пакете sisyphus-mirror, но с ними я еще не разбирался.

 
29 декабря 2009, 13:17
Custom_rg-creations_l_medium Александр Павлов Записей: 4

Вот что мне как-раз и нужно, дома у меня как раз есть "много интернета" и "много винта". Спасибо за подробное описание Сергей.

 
31 декабря 2009, 01:09
Imgp4410_medium Сергей Целищев Записей: 121

Спасибо за Ваше спасибо :-)

С наступающим Новым Годом, и чтоб был он Годом СПО :-)

 
11 января 2010, 10:19
кот_medium Александр Опарин Записей: 20

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

 
12 января 2010, 02:04
Icon_missing_medium kna_s36 Записей: 225

Вот и я о том же. Просим сообщество доходчиво, для "простых" людей, объяснить как делать локальные репозитории из кэша aptitude с записью на CD/DVD-диск (лучше USB-FLASH/HDD) и как производить последующее обновление с него отдельно стоящего компьютера без какой-либо связи с внешним миром. Как в последующем обновлять локальный репозиторий.

Интересует не выкачивание гигабайтов всего репозитория altlinux.org, а такой вариант: есть N компьютеров, один подключен к Интернету, сети нет. На все поставлено одна и та же идентичная система. Компьютер, подключенный к Интернет обновляется (скачивая естественно только последние обновления), с этих обновлений делается локальный репозиторий и обновляются переносом остальные N-1 компьютеров. Далее в нужный момент репозиторий опять обновляется и опять переносятся обновления и т.д.

Рассматривается также схема, когда есть N компьютеров, один подключен к Интернету, через вторую свою сетевую карту выходит в локальную сеть, т.е. есть возможность остальным N-1 компьютерам обновляться из локального репозитория на 1-м компьютере по сети.

 
12 января 2010, 10:53
Imgp4410_medium Сергей Целищев Записей: 121

Попробую:

Известно, что apt-get складывает скачанные пакеты в директории /var/cache/apt/archives, потом их оттуда инсталлирует при помощи rpm. При скачивании он корежит названия файлов, видимо потому, что выкачивание проводится при помощи wget, а тот изменяет некоторые символы типа пробелов при сохранении на диск. Поэтому необходимо восстановить исходное имя файла. Далее нужно создать структуру директорий, стандартную для работы пакетного менеджера и наполнить ее переименованными пакетами. И, последнее, необходимо сгенерировать "базу данных" для пакетного менеджера о содержимом каждой директории.

1. apt-get install apt-repo-tools

2. vi /usr/local/bin/crfagc.sh
Приводим к содержимому:

#Create Repo From Apt-Get Cache
#!/bin/sh
CACHE_DIR=/var/cache/apt/archives
REPO_DIR=/tmp/repo
REPO_NAME=cache
if [ -d $REPO_DIR ]
        then
        for src_name in `ls $CACHE_DIR | grep .rpm`
                do
                src_path="$CACHE_DIR/$src_name"
                dst_name=`rpm -qp --queryformat %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm "$src_path"`
                arch=`rpm -qp --queryformat %{ARCH} "$src_path"`
                cp -v $src_path $REPO_DIR/$arch/RPMS.$REPO_NAME/$dst_name
                done
        for arch in i586 i686 x86_64 noarch
                do
                genbasedir --bloat --progress --topdir=$REPO_DIR $arch $REPO_NAME
                done
        else
        for arch in i586 i686 x86_64 noarch; do
        mkdir -p "$REPO_DIR/$arch/base" "$REPO_DIR/$arch/RPMS.$REPO_NAME"
        done
        echo Directories are created! Run script again!

fi

За скрипт не ругайте - bash еще не на уровне, изучаю.
chmod +x /usr/local/bin/crfagc.sh
выполнить crfagc.sh два раза - за первый прогон создадутся необходимые директории
Не учитывается пока обновление пакетов, ведь надо удалять старые версии при скачивании новых - не придумал еще как.
Написано по мотивам приводившейся выше kna_s36 ссылки - окно у меня в пару уроков было :-)

3. Копируем директорию с образовавшимся репозиторием на флеш или юсб хард. Подключаем к машине, которую хотим обновить,
создаем файл описания источника пакетов, например /etc/apt/sources.list.d/test.list

rpm file:/tmp/repo i586 cache
rpm file:/tmp/repo i686 cache
rpm file:/tmp/repo noarch cache

/tmp/repo из примера заменяем на путь к репозитарию на смонтированной флешке.

Это первый вариант. Для второго путь /tmp/repo в скрипте меняем на /var/ftp/repo, например, а в описании источника используем
конструкцию rpm ftp://адрес/директорий архитектура имя_репозитория. Естественно, что на вашей машине с двумя интерфейсами в сторону локальной сети должен быть доступен ftp-сервер.

 

 
13 января 2010, 01:49
Icon_missing_medium kna_s36 Записей: 225

"При скачивании он корежит названия файлов" - ни разу не заметил.

Я так понимаю, что создаются папки "i586 i686 x86_64 noarch" и в каждую кладутся одни и те же файлы?

И еще - это же можно сделать и вручную?

 
13 января 2010, 08:43
Imgp4410_medium Сергей Целищев Записей: 121

Ну, про "корежит" я может и погорячился :-) Но видоизменяет, эт точно. Если посмотрите, в /var/cache/apt/archives/ файлы обозваны так:имя программы_версия_архитектура.rpm. Посмотрите любой пакет и сравните его с тем, как он называется на фтп-сервере альтлинукс. Вот пример - grip_20090606%3a3.1.3-alt12_i586.rpm, видите % в названии?

в папки i586 ... noarch кладутся файлы, имеющие соотвествующую архитектуру, не одни и те же. phpMyAdmin_3.2.4-alt1.M51.1_noarch.rpm и recode_3.6-alt8_i586.rpm попадут в разные директории. Вручную это делать можно, но зачем? Обновления - периодический процесс, чтобы каждый раз не разгребать все руками действия оформляются в виде скрипта :-)

P.S. Моя любимая интернет-цитата: "Юниксоиды - народ ленивый, им проще потратить два часа на написание скрипта, который за две минуты сделает получасовую работу."

 
13 января 2010, 14:33
Imgp4410_medium Сергей Целищев Записей: 121

Интересен кому-нибудь вариант скрипта с удалением старых пакетов?
Я набросал, проверить пока не могу в работе - нет в кеше обновленных пакетов :-(

 
14 января 2010, 01:49
Icon_missing_medium kna_s36 Записей: 225

"в папки i586 ... noarch кладутся файлы, имеющие соотвествующую архитектуру, не одни и те же." - а если мне нужны только i686? Ну смысла нет держать весь набор файлов, если на все компьютеры установлен х86 дистрибутив.

 
14 января 2010, 08:57
Imgp4410_medium Сергей Целищев Записей: 121

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

Второй основной архитетурой являются 64-битные процессоры, что зашифровано под x86_64.

i686 необходима тогда, когда вы решаете пересобрать необходимый вам софт под более новые 32-bit процессоры и указываете эту архитектуру в процессе сборки. 

noarch - архитектурно-независимые пакеты, содержащие файлы, общие для всех платформ.

Пример:

[teacher@teacher Создание репозитория]$ find /media/MMEDIA/altlinux/p5/branch/ -type f -name 'xpdf*'
/media/MMEDIA/altlinux/p5/branch/files/noarch/RPMS/xpdf-japanese-3.02-alt7.noarch.rpm
/media/MMEDIA/altlinux/p5/branch/files/noarch/RPMS/xpdf-common-3.02-alt7.noarch.rpm
/media/MMEDIA/altlinux/p5/branch/files/noarch/RPMS/xpdf-chinese-traditional-3.02-alt7.noarch.rpm
/media/MMEDIA/altlinux/p5/branch/files/noarch/RPMS/xpdf-korean-3.02-alt7.noarch.rpm
/media/MMEDIA/altlinux/p5/branch/files/noarch/RPMS/xpdf-chinese-simplified-3.02-alt7.noarch.rpm
/media/MMEDIA/altlinux/p5/branch/files/x86_64/RPMS/xpdf-3.02-alt7.x86_64.rpm
/media/MMEDIA/altlinux/p5/branch/files/x86_64/RPMS/xpdf-reader-3.02-alt7.x86_64.rpm
/media/MMEDIA/altlinux/p5/branch/files/i586/RPMS/xpdf-reader-3.02-alt7.i586.rpm
/media/MMEDIA/altlinux/p5/branch/files/i586/RPMS/xpdf-3.02-alt7.i586.rpm

 

Видите, есть программа xpdf собранная для запуска на 32-х и 64-х битных процессорах и общие для обеих сборок части, они и располагаются в директории noarch.

 

 
14 января 2010, 10:04
Icon_missing_medium kna_s36 Записей: 225

Но если у меня нет ни одного первого пентиума и 64-битного процессора, то зачем мне держать и качать эти файлы? Да и не скачиваются они у меня, раз в кэше я не видел ни одного файла с х86_64. Или получается когда я скачиваю обновления того же xpdf, то оно берется с репозитория altlinux'а из i586? А Ваш скрипт определяет сам куда класть и раскладывает по нужным папкам при создании локального? У меня папка x86_64 после создания репозитория просто всегда будет пустая?

 
14 января 2010, 12:28
Imgp4410_medium Сергей Целищев Записей: 121

kna_s36 писал(а):

Но если у меня нет ни одного первого пентиума и 64-битного процессора, то зачем мне держать и качать эти файлы? Да и не скачиваются они у меня, раз в кэше я не видел ни одного файла с х86_64. Или получается когда я скачиваю обновления того же xpdf, то оно берется с репозитория altlinux'а из i586? А Ваш скрипт определяет сам куда класть и раскладывает по нужным папкам при создании локального? У меня папка x86_64 после создания репозитория просто всегда будет пустая?

Именно так, все х86 машины используют i586 и noarch директории репозитария АльЛинукс.

Скрипт я писал, чтобы учесть все возможные варианты, если необходимо, удалите x86_64 и i686 из перечисления в циклах.

 
15 января 2010, 03:59
Icon_missing_medium kna_s36 Записей: 225

Вот теперь мне стало все понятно. Спасибо большое за разъяснения.

 
25 января 2010, 09:18
Icon_missing_medium Роман Записей: 5

kna_s36 писал(а):

есть N компьютеров, один подключен к Интернету, сети нет. На все поставлено одна и та же идентичная система. Компьютер, подключенный к Интернет обновляется (скачивая естественно только последние обновления), с этих обновлений делается локальный репозиторий и обновляются переносом остальные N-1 компьютеров. Далее в нужный момент репозиторий опять обновляется и опять переносятся обновления и т.д.

Рассматривается также схема, когда есть N компьютеров, один подключен к Интернету, через вторую свою сетевую карту выходит в локальную сеть, т.е. есть возможность остальным N-1 компьютерам обновляться из локального репозитория на 1-м компьютере по сети.

 не знаю как насчет rmp-based дистрибутивов, но в deb-based есть такая штука как apt-cacher-ng, обновляется/устанавливает что-то один комп - к пакету получают доступ все остальные. Можно добавить и уже установленные пакеты.

Войдите чтобы ответить на тему

Форумы → Продукты пакета свободного ПО для ОУ РФ → Установка ПО без подключения к инэту
  • Главная
  • О проекте
  • Справка
  • Теги
  • Карта сайта

©2015 Все права защищены. Портал информационной и технической поддержки ПО образовательных учреждений РФ.
Cо всеми проблемами и пожеланиями по работе портала и службы технической поддержки вы можете обратиться по адресу .