Существует много сетевых инструментов, которые могут сделать это; простой поиск Google 'преобразовывает во время Unix', приводит к большому количеству результатов, при этом epochconverter.com всего один. Если Вы хотите сделать это программно, я рекомендую mktime php ().
Вы можете использовать apt-show-versions
(в пакете с тем же именем); запустив
apt-show-versions -u
, вы получите список всех пакетов, установленных в вашей системе, для которых доступна более новая версия (используя базу данных apt
, поэтому вам нужно запустить apt-get update
, как вы упоминали).
Вы можете перечислить пакеты в качестве аргументов в apt-show-versions
, чтобы ограничить список только этими пакетами; таким образом, запуск
apt-show-versions -u ${YOUR_WATCHED_PACKAGES}
после apt-get update
покажет вам информацию, за которой вы охотитесь. Вы можете автоматизировать это, используя Post-Invoke
, как вы упомянули.
Одним из простых способов будет запуск:
apt-get -s --only-upgrade install package1 package2 ...
Можно поместить это в скрипт, который строит список пакетов из файла, запускает apt-get update
, а затем команду, приведенную выше.
Итак, я закончил с тем, что показано ниже, кажется, работает, было бы неплохо, если бы -u
поддерживал больше пакеты, просмотр многих может замедлиться.
/ etc / apt / watch
текстовый файл с одним именем пакета для строки (поддерживается # комментариев)
/usr/local/bin/apt-watch.sh
:
#!/bin/sh
test -f /etc/apt/watch || exit 0
apt-show-versions -u $(grep -v ^# /etc/apt/watch) >/tmp/apt.watch
if [ $(cat /tmp/apt.watch | wc -l) -gt 0 ] ; then
cat /tmp/apt.watch | mail root -s '[apt watch] upgrades available'
fi
/ etc /apt/apt.conf.d/99-apt-watch
:
# check upgrades avaiable for watched packages
APT::Update::Post-Invoke { "[ ! -x /usr/local/bin/apt-watch.sh ] || /usr/local/bin/apt-watch.sh || true"; };