Коварный sources.list

Осмелюсь сделать предположение, что среди посетителей данного веб-закоулка есть немало поклонников одного из самых популярных дистрибутивов Linux – Debian. На протяжении многих лет он достойно держит планку качества в своем классе ОС. При всех достоинствах и плюсах дистрибутива, случаются на пути и мелкие неприятности, которые однако, при определенной совокупности факторов могут привести и к неприятностям, скажем так заметным. Не без человеческого фактора конечно же.

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

Дело в том, что некоторое время назад — в начале 2014 года, при настройке источников пакетов для пакетного установщика apt-get, мною был сделан выбор в пользу весьма удобного он-лайн сервиса, который доступен по ссылке: http://debgen.simplylinux.ch/

На странице как можно заметить, размещен генератор списка источников (sources), которые должен позже будет использовать менеджер пакетов apt.

Работает генератор по принципу несложного мастера — достаточно выбрать подходящие опции и в специальном поле появится нужное содержимое, которое надо скопировать в файл /etc/apt/sources.list , при этом не забыв сделать резервную копию (о чем кстати напоминают создатели генератора).

Все проходит штатно — код генерируется, вставляем его в указанный файл, сохраняем. Также я делал в начале 2014, и все после этого было ровно и работало без нареканий с какой-либо стороны.

Как не надо делать

Прошло около 1,5 года. В июле месяце сего года, мной была предпринята попытка проделать описанное еще раз, ну и конечно же по проторенной дорожке. Однако, как позже выяснилось, впереди данной «лыжни» ждало неожиданное открытие, которое нельзя назвать приятным.

Рисунок 1

Когда, я выполнил все по инструкции выше, скопировав следующий код:

deb http://ftp.ru.debian.org/debian stable main contrib non-freedeb-src http://ftp.ru.debian.org/debian stable main contrib non-free
deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-freedeb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-freedeb-src http://security.debian.org/ wheezy/updates main contrib non-free

и сделал привычное:

# apt-get update…

(что примечательно — тут не было никаких нареканий со стороны apt)

# apt-get install k3b

То получил нечто подобное:

Рисунок 2

k3b приведен для примера — как оказалось позднее, проблема была глобальнее одного или группы пакетов, выдавая в консоль подобные маты на совершенно разные пакеты для установки.

Как можно легко догадаться, на некоторое время я занялся популярной он-лайн игрой — «спроси у гугла». В результате, спустя некоторого кол-ва времени, на локациях данного квеста были найдены вероятные следы моих затруднений при работе. В особенности, ключевыми оказались намеки на фразу битые (held) пакеты и работу с источниками пакетов для репозиториев Debian. После чего, еще немного поработав своим верхним полушарием (прим. ред. — терминология профессора С. Савельева), я решил проверить, а куда собственно идет за пакетами мой apt во время установки и при заходе на один из ftp-серверов из «сорцев» нашел вот что:

Рисунок 3

Прошу обратить внимание код от «debgen» выше, и, куда указывает ссылка «stable», на которой помещен курсор midnight commander, на каталог jessie (v8) – хотя дистрибутив, который выбирался ранее в генераторе списка sources должен иметь название wheezy (v7). Искомый же wheezy был обнаружен там же, но под ссылкой oldstable.

Такая вот небольшая, но неприятная мелочь. Мелочь эта однако, — каюсь, по моему отчасти недосмотру, в итоге привела к проблеме, которая выходит за рамки неудачной установки одного пакета. Дело в том, что после удачного apt-get update, было установлено довольного большое количество различных пакетов, включая разные общие библиотеки…
Когда же, были замечены первые ошибки и пришла идея поискать их причины, то поезд уже «ушел в глубокий тоннель», как выражается один известный стенд-ап петросян современности.. После устранения причин ошибки, была предпринята попытка откатить установку пакетов, уже с правильными sources.list и далее:

#apt-get dist-upgrade

#apt-get -f install (рекомендация асистента apt-get)

#apt-get dist-upgrade

#apt-get autoremove (рекомендация асистента apt-get)

в итоге — тестовая система была по существу приведена в непригодное для дальнейшего существования состояние и переустановлена, ввиду невозможности работы основных инструментов установщика даже без «иксов».

Это была часть статьи, где рассказывается о неверных действиях, повторять которые в приведенном виде не следует.

Как делать правильно

Для начала, после установки Debian и настройки сети, стоит сразу же открыть в редакторе файл

/etc/apt/sources.list

и привести в соответствии с результатами работы генератора debgen.simplylinux.ch , не забыв внести корректировки в соответствии с результатами собственной сверки ссылок на ранг дистрибутива (stable, oldstable) :

Рисунок 4

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

# apt-get update

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

# apt-get install k3b

UPD1

После подобных правок source.list не исключено возникновение ошибок подобных ниже указанным:

W: Недоступен открытый ключ для следующих ID ключей:XXXXXXXXXXXXXXXX

В таком случае можно выполнить следующее

# apt-get install debian-archive-keyring

# apt-get update

Учитесь на чужих ошибках.

Удачи!

Ссылки: http://h4cks4w.blogspot.ru/

Share
Запись опубликована в рубрике ЭВТ ИТ с метками , , , , , , , , , , , , , . Добавьте в закладки постоянную ссылку.

2 комментария на «Коварный sources.list»

  1. Kind_evil говорит:

    я думал ты уже отошел от никсов ) приятно видеть.

  2. wilber говорит:

    Куда же от никсов отойдешь, когда они с каждым днем все больше захватывают рынок IT-услуг и предложений =) А касательно линуксов, сам не-понаслышке знаешь насколько это гибкий конструктор для различных целей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *