Доброго времени суток, товарищи!
Я - сам себе злобный Буратино, решил частично вручную обновить систему. Теперь она частично сломана (частично удалось восстановить, частично нет). Прошу Вашей помощи - очень уже не хочется переустанавливать и терять настроенные xneur, переключение раскладки по левым и правым Ctrl+Shift и Alt+Shift, настроенный PlayOnLinux, браузеры с расширениями, bumblebee, virtualbox и т. д.
Предыстория
Вчера товарищ прислал исходники игрушки "на потестить", игрушка для сборки требовала cmake 3
У меня Precise (12.04), cmake 2.8
Я решил установить cmake от xenial, скачав необходимые пакеты с packages.ubuntu.com (под презрительные советы обновиться до 14.04 или перелезть на дебиан, дескать, LTS не для стабильности, и прочее разжигание междистрибутивной розни).
Параллельно потребовалось вручную обновить libstdc++6 - обновил, зависимости потянулись друг за другом, пока одна из них не законфликтовала с libdesktop-gnome-3-2 или как-то так. Тогда я дал задний ход, часть заменил на родные, части поставил от Trusty (14.04). Вроде разрешились все конфликты, кроме plymoutn-label (он остался ненастроенным). В списке обновлённых были, кажется, upstart и (точно) собственно plymouth. Я решил, что plymouth-label - это просто красивая картинка при загрузке (где точечки бегут), и я без неё как-нибудь обойдусь.
После чего решил сделать контрольную перезагрузку.
Контрольная перезагрузка показала, что я самонадеянный болван. Точечки бегут-бегут, останавливаются... и ничего не происходит.
Тогда я через загрузочную флэшку скачал родные plymouth, upstream, libplymouth2 и libdbus и в режиме восстановления установил их с помощью dpkg. Это возымело некоторый эффект: теперь система грузилась до окна входа в систему, но попытка ввести имя пользователя, пароль, выбрать рабочее окружение "Ubuntu" или "Lubuntu" приводит к вечному циклу.
Однако неизвестно зачем, когда и как поставленный IceWM грузится! Из-под него и пишу. Кроме этих окружений, в наличии ещё несколько (Gnome/openbox - частично работоспособен, Lubuntu Netbook и Ubuntu 2D - неработоспособны, выкидывает).
Вывод compiz --replace --debug
compiz (core) - Debug: Could not stat() file /home/nickolaus/.compiz-1/plugins/libcore.so : No such file or directory
compiz (core) - Debug: Could not stat() file /usr/lib/compiz/libcore.so : No such file or directory
compiz: ../../src/xcb_io.c:529: _XAllocID: Assertion `ret != inval_id' failed.
То же, после попыток включить unity через ccsm
compiz (core) - Debug: Could not stat() file /home/nickolaus/.compiz-1/plugins/libcore.so : No such file or directory
compiz (core) - Debug: Could not stat() file /usr/lib/compiz/libcore.so : No such file or directory
compiz (core) - Debug: pending request:
compiz (core) - Debug: - event serial: 683
compiz (core) - Debug: - event window 0x1200090
compiz (core) - Debug: - x: 0 y: 0 width: 1366 height: 768 border: 0, sibling: 0x0
compiz (core) - Debug: pending request:
compiz (core) - Debug: - event serial: 706
compiz (core) - Debug: - event window 0x1200090
compiz (core) - Debug: - x: 0 y: 0 width: 0 height: 0 border: 0, sibling: 0x0
compiz (core) - Debug: Could not stat() file /home/nickolaus/.compiz-1/plugins/libccp.so : No such file or directory
Backend : ini
Integration : true
Profile : default
Adding plugins
Initializing core options...done
XIO: fatal IO error 17 (File exists) on X server ":0"
after 786 requests (781 known processed) with 45 events remaining.
В качестве попыток починить выполнял всякие sudo apt-get install --reinstall и sudo dpkg-reconfigure, перемещал папки с конфигами и т. д. - не помогло.
В связи с этим возникают следующие вопросы:
0. Какие ещё файлы мне нужно предоставить для полноты картины?
1. Как восстановить эту несчастную систему?
2. Как можно надёжно и компактно забэкапить установленную Ubuntu вместе с конфигами и настройками, но без содержимого рабочего стола и документов?
По ходу дальнейших попыток всё починить буду дополнять сообщение.
UPD1:
Пишут, что это может быть из-за bumblebee. У меня nvidia, и он стоит, но как удалить (и как потом восстановить!) - представляю слабо.
UPD2:
Под гостем и под другим пользователем ни разу не удалось войти в окружение Ubuntu, симптомы те же.
Ещё пишет про какой-то saned, но, по-моему, это надпись всегда там была.
UPD3:
Возможно, причина происходящего - недостаток места на /home. Разбираюсь...
UPD4:
Возникли ещё вопросы:
3. Чем dpkg-reconfigure отличается от apt-get install --reinstall ?
4. Пишет ли dpkg логи?
Пожалуйста, у кого есть какие-нибудь мысли - отвечайте, я очень жду.
UPD5:
Свежесозданным пользователем войти не удалось.
Лог metacity --replace
Предупреждение менеджера окон: Для ключа GConf «/apps/metacity/general/action_double_click_titlebar» установлено недопустимое значение
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
(metacity:22226): GConf-CRITICAL **: gconf_value_get_string: assertion `value->type == GCONF_VALUE_STRING' failed
g_dbus_connection_real_closed: Remote peer vanished with error: Underlying GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.
Предупреждение менеджера окон: Произошла неустранимая ошибка ввода-вывода 0 (Выполнено) на дисплее «:0».
UPD6:
Версию с недостатком места отбрасываем.
5. У меня куда-то делся xorg.conf Страшно ли это и как его вернуть?
6. Есть ли возможность сейчас как-то записать версии всех установленных пакетов, а потом резко откатиться на родные или хотя бы от Trusty?
UPD7:
Установил gdm. Теперь заходит в Ubuntu 2D, только unity приходится запускать вручную.
Хотелось бы всё-таки узнать, что произошло-то?