слишком много уровней символических ссылок в /usr/bin - катастрофа?

NTP - протокол синхронизации времени; по умолчанию участники (включая ваши системы, на которых работает ntpd ) регулярно обмениваются сообщениями, чтобы синхронизировать свои часы. Это означает, что совершенно нормально видеть несколько подключений ваших систем к различным серверам NTP; вы можете узнать о них больше, запустив ntpq и используя команду peers :

ntpq> peers
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
-ntp-3.arkena.ne 138.96.64.10     2 u  837 1024  377   45.882   -0.773   0.748
-ntp.univ-angers 145.238.203.14   2 u  684 1024  377   55.914    1.742   0.605
+regar42.fr      195.154.10.106   4 u  702 1024  377   47.394   -0.125   1.287
*dedibox.demonge 195.83.222.27    2 u  693 1024  377   45.821    0.628   2.468
-infidel.e-lista 145.238.203.14   2 u  699 1024  375   50.725    0.767   1.069
+195-154-10-106. 175.122.215.45   3 u  460 1024  377   46.420    0.052   2.269

(или просто ntpq -p из оболочки).

Если вы хотите время от времени запускать однократную синхронизацию часов, возможно, вам лучше использовать ntpdate .

2
23.05.2017, 15:39
2 ответа

ни в коем случае нельзя создавать эти символические ссылки по тому же пути с теми же именами файлов, что и исходный. он должен выдать ошибку, что файл уже существует.

, чтобы доказать, что это не так, вот результат в моей виртуальной машине в том же дистрибутиве с той же командой.

enter image description here

-1
27.01.2020, 22:04

Как вы поняли, ln заменяет только симлинки. Чтобы исправить это, нужно, по крайней мере, переустановить пакеты, которые обеспечивают недостающие симлинки...

Использование опции find -L в сочетании с -type l позволяет определить сломанные симлинки; затем dpkg -S определит соответствующий пакет в большинстве случаев:

dpkg -S $(find -L /usr/bin -type l)

Фильтрация этих данных и передача их в apt-get позволяет переустановить пакеты:

apt-get --reinstall install $(dpkg -S $(find -L /usr/bin -type l) | grep -v "diversion by" | cut -d: -f1)

Это все еще оставит несколько неработающих симлинков, в основном соответствующих альтернативам в /etc/alternatives; их можно исправить, используя что-то вроде

for file in $(find -L /usr/bin -type l -printf "%f\n"); do \
    if [ -e "/etc/alternatives/${file}" ]; then \
        ln -sf "/etc/alternatives/${file}" "/usr/bin/${file}"; \
    fi; \
done

(Вы, вероятно, захотите заменить ln -sf на echo, чтобы проверить, что будет сделано. ...)

(Я ранее предлагал использовать debsums, но это не работает, потому что симлинки не хэшируются)

.
4
27.01.2020, 22:04

Теги

Похожие вопросы