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
.
ни в коем случае нельзя создавать эти символические ссылки по тому же пути с теми же именами файлов, что и исходный. он должен выдать ошибку, что файл уже существует.
, чтобы доказать, что это не так, вот результат в моей виртуальной машине в том же дистрибутиве с той же командой.
Как вы поняли, 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
, но это не работает, потому что симлинки не хэшируются)