Обновление и установка пакетов через медленное интернет-соединение
СТАТЬЯ ЕЩЕ НЕ ГОТОВА!
Не всем везёт иметь быстрый интернет.
Если скорость соединения с интернетом низкая, то обновлять систему или устанавливать тяжелые пакеты
стандартным способом достаточно опасно. Какой-нибудь пакет может скачаться с ошибкой и при установке
что-нибудь сломать. Исправить возникшую проблему будет сложно, или вовсе невозможно и придется
переустанавливать систему, а потом… В общем, лучше пойти другим путем и значительно снизить вероятность
возникновения проблем.
Содержание
Обновление системы
Вариант 1
Когда соединение медленное, но достаточно стабильное
Для начала нужно открыть эмулятор терминала. В KDE4/KDE5(PLASMA5) — konsole. В XFCE — xfce4-terminal.
В GNOME — gnome-terminal. В LXQT — qterminal. Либо любой другой установленный в системе.
Теперь запускаем команду sudo urpmi --auto-update --downloader wget --wget-options '-c -t 0'
Нам предлагают загрузить 21 пакет с суммарным размером 10МБ. Пакетов много, но при этом все имеют малый
размер. Можно соглашаться на установку. Просто жмем Enter. После загрузки и установки этих пакетов нам
скорее всего предложат обновить и N-ное количество других. Вот дальше уже нужно действовать по обстоятельствам.
Если нам предложат обновить, допустим, больше 15 пакетов с суммарным размером для загрузки меньше 20МБ, то
здесь тоже можно просто согласится на установку. Во всех иных случаях отказываемся.
Нам предложили загрузить 562 пакета с суммарным размером 799МБ. Отказываемся — вводим n и жмем Enter.
Запускаем команду sudo urpmi --auto-update --downloader wget --wget-options '-c -t 0' --no-install
и соглашаемся на установку. Пакеты будут загружены, но не станут устанавливаться. Если загрузка по какой-то
причине будет прерываться, предыдущую команду нужно выполнять снова, пока не будет загружено всё.
Когда все пакеты будут загружены, нужно протестировать установку. Запускаем команду
sudo urpmi --auto-select --test
Тестирование ошибок не выявило. Теперь можно обновлять систему. sudo urpmi --auto-select
Вариант 2
Когда соединение медленное и нестабильное
Пример 1
Открываем эмулятор терминала и обновляем источники sudo urpmi.update -a --downloader wget --wget-options '-c -t 0'
Запускаем команду sudo urpmi --auto-update --downloader wget --wget-options '-c -t 0' --no-install
На предложение соглашаемся. Пакеты загрузятся, но не будут устанавливаться.
От предложения загрузить и установить другие пакеты — отказываемся.
Запускаем sudo urpmi --auto-update --downloader wget --wget-options '-c -t 0'
Соглашаемся на установку.
Отказываемся. Запускаем снова sudo urpmi --auto-update --downloader wget --wget-options '-c -t 0' --no-install
и соглашаемся загрузить предложеные пакеты. Если загрузка по какой-то причине будет прерываться, предыдущую
команду нужно выполнять снова, пока не будет загружено всё.
Запускаем тестирование — sudo urpmi --auto-select --test
Тестирование ошибок не выявило. Теперь можно обновлять систему. sudo urpmi --auto-select
Пример 2
В архиве находится текстовый файл. В нем приведены команды из первого примера, но вместо снимков экрана
более подробный текстовый результат их выполнения. В нем также кратко описаны некоторые нюансы, которые
могут возникнуть при обновлении.
Установка пакетов
Пример 1
Установка wine
Обновляем источники. sudo urpmi.update -a --downloader wget --wget-options '-c -t 0'
Загружаем wine и все требуемые зависимости. sudo urpmi --downloader wget --wget-options '-c -t 0' wine --no-install
Если загрузка прервется, повторяем предыдущую команду.
Упс, ошибка. Похоже в хранилище пакетов попали те, что с ошибкой. Подождем несколько часов пока исправят.
Если эта ошибка потом возникнет снова идем на форум росы или в сообщество во вконтакте и спрашиваем,
как исправить.
Если ошибку исправили, обновляем источники, загружаем wine со всеми зависимостями. Когда всё загрузится
запускаем тест установки. sudo urpmi wine --test. Если будет ответ "Установка возможна", устанавливаем
sudo urpmi wine
Загрузка прочих файлов с интернета
Для загрузки используем программу wget с параметрами -c -t 0 -T 60
Пример:
wget -c -t 0 -T 60 http://mirror.rosalab.ru/rosa/rosa2016.1/iso/ROSA.Fresh.R11/ROSA.FRESH.PLASMA5.R11.x86_64.uefi.iso
Если загрузка прервалась, запускаем команду снова. Загрузка файла будет начата с того места, на котором остановилась.
Иногда может случиться так, что доступ в интернет есть, но загрузка файла остановилась
и программа не пытается ее продолжить. Жмем ctrl+c и снова запускаем скачивание.
Нередко wget присваивает файлу в качестве имени часть ссылки. В этом случае нужно добавлять к вышеуказанным
параметрам --content-disposition. wget -c -t 0 -T 60 --content-disposition ссылка. Но и он в некоторых ситуациях
не помогает. Тогда придется вручную присваивать нужное название после загрузки, либо используя параметр -O.
wget -c -t 0 -T 60 -O 'Имя файла.расширение' ссылка
Справка по используемым командам
Обновление системы
sudo urpmi --auto-update --downloader wget --wget-options '-c -t 0' --no-install
sudo urpmi --auto-select --test
sudo urpmi.update -a --downloader wget --wget-options '-c -t 0'
sudo — позволяет разрешенному пользователю выполнять команду как суперпользователь urpmi — загружает и устанавливает rpm пакеты --auto-update — обновляет источники пакетов, а затем выбирает какие пакеты могут быть обновлены --downloader — позволяет выбрать желаемую программу для загрузки пакетов. Мы будем использовать wget Хотя она, вроде как, установлена для urpmi программой для загрузки по умолчанию все-таки лучше перестраховаться --wget-options — устанавливает дополнительные опции для wget -c — возобновление загрузки файла. Используется если загрузка файла была прервана -t — устанавливает количество попыток скачать пакет. 0 - бесконечное --no-install — не устанавливать пакеты --auto-select — выбирает какие пакеты могут быть обновлены без обновления источников --test — тестирует установку пакетов. Пакеты не устанавливаются, в системе ничего изменяется urpmi.update — обновляет источники пакетов -a — обновить все источники