Осмелюсь сделать предположение, что среди посетителей данного веб-закоулка есть немало поклонников одного из самых популярных дистрибутивов Linux – Debian. На протяжении многих лет он достойно держит планку качества в своем классе ОС. При всех достоинствах и плюсах дистрибутива, случаются на пути и мелкие неприятности, которые однако, при определенной совокупности факторов могут привести и к неприятностям, скажем так заметным. Не без человеческого фактора конечно же.
Но чтобы не утомлять читателя долгими и длинными предложениями, перейду к рассмотрению проблемы, появление которой стало причиной для написания этого текста.
Сегодня хочу осветить одну из, вероятно не самых распространенных комбинаций ошибок людей, работающих с Debian (вполне вероятно применимо и к его родственным форкам).
Дело в том, что некоторое время назад — в начале 2014 года, при настройке источников пакетов для пакетного установщика apt-get, мною был сделан выбор в пользу весьма удобного он-лайн сервиса, который доступен по ссылке: http://debgen.simplylinux.ch/
На странице как можно заметить, размещен генератор списка источников (sources), которые должен позже будет использовать менеджер пакетов apt.
Работает генератор по принципу несложного мастера — достаточно выбрать подходящие опции и в специальном поле появится нужное содержимое, которое надо скопировать в файл /etc/apt/sources.list , при этом не забыв сделать резервную копию (о чем кстати напоминают создатели генератора).
Все проходит штатно — код генерируется, вставляем его в указанный файл, сохраняем. Также я делал в начале 2014, и все после этого было ровно и работало без нареканий с какой-либо стороны.
Как не надо делать
Прошло около 1,5 года. В июле месяце сего года, мной была предпринята попытка проделать описанное еще раз, ну и конечно же по проторенной дорожке. Однако, как позже выяснилось, впереди данной «лыжни» ждало неожиданное открытие, которое нельзя назвать приятным.
Когда, я выполнил все по инструкции выше, скопировав следующий код:
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
То получил нечто подобное:
k3b приведен для примера — как оказалось позднее, проблема была глобальнее одного или группы пакетов, выдавая в консоль подобные маты на совершенно разные пакеты для установки.
Как можно легко догадаться, на некоторое время я занялся популярной он-лайн игрой — «спроси у гугла». В результате, спустя некоторого кол-ва времени, на локациях данного квеста были найдены вероятные следы моих затруднений при работе. В особенности, ключевыми оказались намеки на фразу битые (held) пакеты и работу с источниками пакетов для репозиториев Debian. После чего, еще немного поработав своим верхним полушарием (прим. ред. — терминология профессора С. Савельева), я решил проверить, а куда собственно идет за пакетами мой apt во время установки и при заходе на один из ftp-серверов из «сорцев» нашел вот что:
Прошу обратить внимание код от «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) :
Далее надо сохранить изменения и запустить обновление списка пакетов в 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/
я думал ты уже отошел от никсов ) приятно видеть.
Куда же от никсов отойдешь, когда они с каждым днем все больше захватывают рынок IT-услуг и предложений =) А касательно линуксов, сам не-понаслышке знаешь насколько это гибкий конструктор для различных целей.