Вы могли использовать @reboot
как crontab
поле запуска для создания относительно уверенным это не было уже запущено.
Как отметил Алекс:
sudo apt-get clean
sudo apt-get install --reinstall $(dpkg --get-selections | grep -w 'install$' | cut -f 1)
Первый гарантирует, что кэш APT пуст. Таким образом, APT-Get нужно будет скачать пакеты из репозиториев. Во-вторых, сначала вам нужен список всех установленных пакетов, который является то, что делает часть $ (...)
. Есть еще один способ с aptitude:
sudo aptitude --reinstall install '~i'
поиск ~ I
~ I .
Для обоих методов вы закончите без каких-либо автоматически установленных пакетов, поэтому вы должны использовать APT-Mark Showauto> Packages
, прежде чем делать это, и Sudo APT-MARK AUTO $ (пакеты CAT)
Чтобы восстановить список.
Ответы здесь помогли мне решить проблему, это решение, вероятно, не то наиболее эффективен, но выполняет свою работу.
#!/bin/bash
for package in `dpkg --get-selections | grep -w 'install$' | cut -f 1`; do
apt-get install --reinstall $package;
done
Я использовал этот сценарий, и меня время от времени просили дать Y (а)
. После этого сценарий продолжался. {{1 }} Но поскольку это занимает довольно много времени, это значительно увеличивает время выполнения. Я изменил скрипт, вставив - yes force-yes
Рекомендую также принудительное автоматическое принятие стандартной / старой конфигурации
#!/bin/bash
for package in `dpkg --get-selections | grep -w 'install$' | cut -f 1`; do
apt-get --yes --force-yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install --reinstall $package
done