Обновление и установка пакетов через медленное интернет-соединение — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
''Автор рецепта -- участник форума '''unixforum.org''' [http://unixforum.org/index.php?showuser=32169 VictorR2007]''
 
 
  
 
Не всем везёт иметь быстрый интернет.<br/>
 
Не всем везёт иметь быстрый интернет.<br/>
Если скорость низкая, то есть варианты при обновлении.<br/>
+
Если скорость соединения с интернетом низкая, то обновлять систему или устанавливать тяжелые пакеты <br/>
Например пакет {{pkg|kdeartwork4-wallpapers}} очень тяжёлый, но файлы в нём практически не меняются от версии к версии.<br/>
+
стандартным способом достаточно опасно. Какой-нибудь пакет может скачаться с ошибкой и при установке <br/>
Достаточно раз его установить, скопировать каталог {{источник|/usr/share/wallpapers}}, потом удалить пакет {{pkg|kdeartwork4-wallpapers}} и скопировать этот каталог обратно. Картинки будут установлены, но обновляться не будут.<br/>
+
что-нибудь сломать. Исправить возникшую проблему будет сложно, или вовсе невозможно и придется <br />
Теперь [http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85 протокол], лучше брать [[Настройка официальных источников| зеркало]] [http://ru.wikipedia.org/wiki/Http http], с [http://ru.wikipedia.org/wiki/Ftp ftp] при низкой скорости хуже.<br/>
+
переустанавливать систему, а потом... В общем, лучше пойти другим путем и значительно снизить вероятность <br />
Ещё можно в несколько раз сократить траффик зайдя в [[Центр управления РОСА]] далее {{Меню|"Управление программами" - "Настройка источников установки/обновления" - "Параметры" - " "Глобальные параметры" - "Проверка-никогда" - "Загрузчик-wget" - "Политика загрузки..-никогда"}}. Теперь при обновлении источников объем загружаемой информации сократится в разы. По загрузчику {{Программа|wget}}, он вроде как и создан для медленных соединений.
+
возникновения проблем.<br />
Потом выбор зеркала. Нужно зеркало с поддержкой докачки, и так как скорость в нашем случае не нужна, то лучший выбор:<br/>
+
 
 +
И так, приступим.<br />
 +
Для начала нужно открыть программу konsole (KDE4, PLASMA5(KDE5)).<br />
 +
Теперь запускаем команду {{cmd|sudo urpmi --auto-update --downloader wget --wget-options '-c -t 0 -T 60'}}<br />
 +
[[Файл:Screenshot 01.png|мини]]
 +
 
  
<nowiki>http://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2011/</nowiki> <br/>
 
зеркало бывает перегружено, но в нашем случае с медленной скоростью это не существенно. Это зеркало поддеживает {{Программа|rsync}} и докачку, плюс здесь самые свежие пакеты.
 
Подозреваю что остальные зеркала синхронизируются с этим.<br/>
 
Теперь о закачке.<br/>
 
Напишу в виде примера.<br/>
 
Мы хотим обновить KDE4, обновление глобальное.<br/>
 
Скорости нет, ну может ночью хорошая.<br/>
 
Если дать стандартную команду
 
{{cmd|urpmi --auto-select --auto-update}}<br/>
 
то может быть некорректное обновление, сбой загрузки или не до конца догруженный файл приведут к краху системы.<br/>
 
  
  

Версия 12:14, 1 февраля 2020

Не всем везёт иметь быстрый интернет.
Если скорость соединения с интернетом низкая, то обновлять систему или устанавливать тяжелые пакеты
стандартным способом достаточно опасно. Какой-нибудь пакет может скачаться с ошибкой и при установке
что-нибудь сломать. Исправить возникшую проблему будет сложно, или вовсе невозможно и придется
переустанавливать систему, а потом... В общем, лучше пойти другим путем и значительно снизить вероятность
возникновения проблем.

И так, приступим.
Для начала нужно открыть программу konsole (KDE4, PLASMA5(KDE5)).
Теперь запускаем команду sudo urpmi --auto-update --downloader wget --wget-options '-c -t 0 -T 60'

Screenshot 01.png



Другой вариант urpmi --auto-select --auto-update --no-install
позволяет только скачать файлы без их установки, а установить их можно позже.
Но с нашей скоростью это не выход.
Urpmi скачивает пакеты порциями в каталог /var/cache/urpmi/partial потом скачанные файлы перемещает в каталог /var/cache/urpmi/rpms, потом начинает скачивает следующую порцию файлов.
Если в процессе загрузки возникнет проблема со связью, да плюс зеркало не поддерживает докачку, мы получим сообшение что необходимо обновить источники, а каталоги /var/cache/urpmi/partial и /var/cache/urpmi/rpms будут очищены и придётся всё скачивать заново. Чтобы это обойти, команда должна быть с ключём --auto такая
urpmi --auto-select --auto-update --auto --no-install
В этом случае каталог /var/cache/urpmi/rpms никогда не очищается и все пакеты останутся при вас.
Потом копируем загруженные файлы в нужный нам каталог. Даём команду
genhdlist2 /путь/к/этому каталогу
и добавляем его как локальный источник. Повторяем команду
urpmi --auto-select --auto-update --auto --no-install
пока не догрузятся все файлы,после каждой загрузки копируя их в нужный каталог и выполняя
genhdlist2 /путь/к/этому каталогу
Когда все пакеты загрузятся, можно отключить сетевые источники и обновиться с локального.
Для начала лучше так
urpmi --auto-select --auto-update --test
тут мы посмотрим вывод, нет ли недокачанных пакетов. Если всё хорошо, то обновляемся и радуемся жизни.
Если получаем ошибку на какой-то пакет то не расстраиваемся, возможно просто не докачалось несколько байт.
Копируем его имя и ищем его в локальном репзитарии, чтобы узнать полное имя для докачки, если файл крупный, если мелкий то можно его просто удалить, и повторно запустить urpmi --auto-select --auto-update --auto --no-install
Если пакет большой то проще его докачать, смотрим, где он лежит на сервере. Например, у нас есть недокачанный kdebase4-workspace-4.6.5-4-mdv2011.0.x86_64.rpm размером около 60мб, его заново качать нет смысла, путь к нему

ftp://mirror.yandex.ru/mandriva/official/2011/x86_64/media/main/release/ 

мы открываем консоль в каталоге с локальным репозитарием и даем команду

wget -c ftp://mirror.yandex.ru/mandriva/official/2011/x86_64/media/main/release/kdebase4-workspace-4.6.5-4-mdv2011.0.x86_64.rpm
пакет докачается и можно обновляться.


Всё, можем отключить сетевые источники и обновиться любым удобным способом, GUI или консоль, тут дело вкуса.