Чому альтернативне оновлення встановлює «ручний» режим?


1

У мене є стара система, де все працює нормально, і нова система, де вона не працює. Для конкретизації: X не запускається.

Я простежив помилку до того, що оновлення-альтернативи з якоїсь причини керівництво режим для груп glx і nvidia .

Це з робочої системи:

update-alternatives --display glx   
glx - auto mode
  link currently points to /usr/lib/nvidia
/usr/lib/mesa-diverted - priority 5
  slave glx--libGL.so.1-i386-linux-gnu: /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1
/usr/lib/nvidia - priority 100
  slave glx--libGL.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libGL.so.1
  slave glx--libXvMCNVIDIA.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libXvMCNVIDIA.so.1
  slave glx--libXvMCNVIDIA_dynamic.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libXvMCNVIDIA_dynamic.so.1
  slave glx--libnvidia-cfg.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libnvidia-cfg.so.1
  slave glx--linux-libglx.so: /usr/lib/nvidia/libglx.so
  slave glx--nvidia-bug-report.sh: /usr/lib/nvidia/nvidia-bug-report.sh
  slave glx--nvidia_drv.so: /usr/lib/nvidia/nvidia_drv.so
Current 'best' version is '/usr/lib/nvidia'.

І це з системи, яка має помилку:

update-alternatives --display glx  
glx - manual mode
  link currently points to /usr/lib/mesa-diverted
/usr/lib/mesa-diverted - priority 5
  slave glx--libGL.so.1-i386-linux-gnu: /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1
/usr/lib/nvidia - priority 100
  slave glx--libGL.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libGL.so.1
  slave glx--libXvMCNVIDIA.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libXvMCNVIDIA.so.1
  slave glx--libXvMCNVIDIA_dynamic.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libXvMCNVIDIA_dynamic.so.1
  slave glx--libnvidia-cfg.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libnvidia-cfg.so.1
  slave glx--linux-libglx.so: /usr/lib/nvidia/libglx.so
  slave glx--nvidia-bug-report.sh: /usr/lib/nvidia/nvidia-bug-report.sh
  slave glx--nvidia_drv.so: /usr/lib/nvidia/nvidia_drv.so
Current 'best' version is '/usr/lib/nvidia'.

Як ви можете бачити, чомусь група glx має значення керівництво . Це також стосується групи nvidia. Всі пріоритети встановлені правильно.

Тепер я знаю керівництво рішення (яке буде працювати 'update-alternatives --config glx' правильно), оскільки моя система автоматично встановлюється і повинна виконуватися відмінно після цього (просто подивіться на стару систему). Тому я хочу зрозуміти першопричину.

Ви повинні знати, що ця проблема вже є відразу після встановлення . Ніякого ручного втручання не сталося. Я намагаюся зрозуміти, чому і коли цей режим встановлюється в ручний режим.

Сторінка оновлень-альтернатив передбачає, що тільки a --сеть або --config перемикає групу на ручний режим. Однак я не можу знайти нічого, що виконує будь-яку з цих команд.

Єдиною відмінністю між двома системами, я вважаю, є те, що новіші використовують новіші пакунки з Debian Wheezy. Я вже порівняв усі postinst підтримують скрипти між старшими і новими версіями, і нічого не змінилося в відповідних пакетах.

Я не знаю багато про оновлення-альтернативи, тому я сподіваюся, що хтось може мені допомогти.

Відповіді:


0

Я вже порівнював всі сценарії підтримки postinst між старими та новими версіями, і нічого не змінилося у відповідних пакунках.

Це може бути дуже стара версія пакета, або інший пакет, або ви у своїх спробах відновити це. Є дуже багато можливих підозрюваних (ви включили), які важко знайти саме те, що було насправді процес, який змінив його ... але принаймні ви можете знати, коли. Оновлення альтернатив має файл журналу, в /var/log/alternatives.log. Якщо у вас ще не встановлена ​​ваша система, можливо, що відповідь на питання, коли вона є, і звідти ви можете з'ясувати, хто. Ваші приміщення правильні.


0

Я сам знайшов відповіді. Очевидно, в оновлення Debian живий-побудований скрипт було додано для встановлення груп зв'язків glx і nvidia. Ми використовуємо live-build для створення системи, про яку я говорив. Приклад /usr/share/live/build/hooks/0320-update-glx-alternative.chroot

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.