Внезапность отказа линуксной ОС, как правило, мнимая. На самом деле вы что-то сделали не так. Главное – помнить, что вы до этого делали. Если не помните – наберите в терминале history или смотрите лог-файлы.
Попался и автор этих строк. Захотелось, как раньше, иметь установленный пакет Lotus Symphony – достойный IBM-овский продукт, о котором «Вести» уже писали. Но вот незадача – на сайте разработчика выложены только пакеты rpm. Отвлекаясь, замечу, что Ubuntu их тоже устанавливает, причём без преобразования в deb, о чём, кстати, мало кто знает. Если не верите – наберите в терминале man rpm и убедитесь. Но deb роднее, поэтому я преобразовал скачанный rpm-пакет в deb. Установка с помощью любимой утилиты gdebi прошла гладко, зависимости удовлетворены.
Далее понадобилось установить пакет dsniff, чтобы попользоваться его утилитами, уж очень кое-кто донимал. Но не тут-то было! Пакеты больше ни устанавливались, ни сносились, а в ответ на все попытки системы выдавала сообщение, что пакет symphony-nl2 стал криво, должен быть переустановлен, но отсутствует в архивах.
Добавляю злополучный пакет в /var/cache/apt/archives пытаюсь переустановить, но тщётно. Поискал командой whereis symphony-nl2, куда установился злополучный пакет, но его нигде не оказалось... По своему опыту я уже знал, что с deb-пакетами такое происходит, если пакет «битый». Но чтобы «битость» пакета сломала всю систему управления?! Чего-чего, а этого от Ubuntu я не ожидал.
Но раз система сообщает, что пакет «битый», значит, факт попытки установки пакета должен быть зарегистрирован системой! Проверяем, так ли это:
dpkg -l | grep symphony-nl2
Есть! Зарегистрирован факт установки. Но куда? В лог-файлах сообщается, что пакет устанавливался в /opt/ibm/, но такого каталога нет и в помине даже среди скрытых. Значит, пакет действительно не установлен. Проверяем, знает ли система что-либо о статусе пакета:
dpkg -s symphony-nl2
Оказывается, прекрасно знает, потому что выводит:
Package: symphony-nl2
Status: deinstall reinstreq half-installe
Нда... Система управления пакетами в Ubuntu, похоже, несколько недоделана: она отлично понимает, что пакет установлен наполовину (half-installed), но ничего не предпринимает, если не считать блокировки команд более высокого уровня. Поможем ей – вручную с правами суперъюзера, удаляем в файле /var/lib/dpkg/status запись о пакете, и всё опять работает.
Сломаться устанавливаемый пакет может по многим причинам: отключение питания, сбойный сектор, механический толчок системника или ноутбука. Блокировка команд – не очень красивое решение. Разработчикам есть над чем работать. А для нас пока что главное – не паниковать, а исследовать, что случилось и как выйти из положения. Это даже где-то увлекательно. Правда, для меня так и осталось загадкой, почему теперь линуксный продукт Lotus Symphony в линуксной линейке представлен пакетом в формате rpm, а не в более распространённым формате deb, как было раньше. Возможно, потому, что в Ubuntu теперь можно устанавливать пакеты rpm без преобразования в deb? Получается. Мне рассказывали. :)
P.S. В Ubuntu, чтобы посмотреть содержимое настроечного файла или лога, не обязательно пользоваться терминалом или редактором. Достаточно в адресной строке браузера набрать путь и имя.
Комментарии
PPS. Если у вас Линукс, то, набрав в браузере /home/имя, попадаете в свою домашнюю папку. Далее можно слушать музыку, смотреть видео, читать книги и т.д. Можно наделать закладок на любимый медиаконтент и облачные сервисы и наслаждаться, не выходя из браузера. Чем не "хромоОС"? :) Впрочем, то же можно делать и с Windows, но это менее удобно. И да, запускаемые приложения отмечаются в в списке загрузок, который как бы лончерная панель.
К чему это я? Предлагаю добавить рубрику "Знаете ли вы, что".
Рубрика неплохая, думаю, будет очень хорошо если Вы и положите почин:)
Так нет её в рубрикаторе...
Рубрики именно с таким названием нет, но есть аналогичная по смыслу "На заметку", в которой собственно и публикуются всяческие разные советы.
Туда и пишу. Ладно, снимаю своё предложение.