Очень удобно, на мой взгляд, иметь в коньках данные о дате последней синхронизации дерева портеджей. Причём, круто, если там сразу написано, что оно было синхронизировано 3 дня 15 ч 47 минут назад, а не, к примеру, 9 декабря в 17:30. То есть, вот так (это правый верхний угол экрана):
Альбом: openbox + conky + dmenu |
Для этого наваял вот такой скрипт (разумно, имхо, для скриптов conky создать отдельный каталог и туда его и положить):
~/.conky/portage-lastsync.sh :
#!/bin/sh
DATE=$(date -r /var/cache/eix +%s)
let SECONDS=`date +%s`-$DATE
let DAYS=$SECONDS/86400
let SECONDS-=$DAYS*86400
let HOURS=$SECONDS/3600
let SECONDS-=$HOURS*3600
let MINUTES=$SECONDS/60
[ $HOURS -lt 10 ] && HOURS="0$HOURS"
[ $MINUTES -lt 10 ] && MINUTES="0$MINUTES"
echo "$DAYS дн. $HOURS:$MINUTES назад"
И сделать его исполняемым:
chmod +x ~/.conky/portage-lastsync.sh
В конфиг коньков (.conkyrc, если conky не указан иной файл с опцией -c) надо добваить такую строчку:
${execi 600 ~/.conky/portage-lastsync.sh}
600 - это период выполнения этого скрипта коньками в секундах. Можно указать иное.
Если хочется, чтобы в коньках было не сколько _прошло времени_ с момента последней синхронизации, а _когда_ она была, то можно просто сделать так:
DATE=$(date -r /var/cache/eix +"%d %b %H:%M")
echo $DATE
Судить по /var/cache/eix, конечно, не идеально. Если выполнить eix-update, но не синхронизировать дерево, то скрипт покажет время с выполнения eix-update, а не время с синхронизации.
Но судить по файлу /usr/portage/metadata/timestamp.chk вообще не получится. Если, например, вы выполнили eix-sync более одного раза за период времени, в который само зеракло _не_ обновлялось, то этот файл остаётся без вообще каких-либо изменений. В этом случае, если судить по его содержимому или времени его модификации, мы будем иметь время самого первого за период времени выполнения eix-sync. Таким образом, по забывчивости и из-за некорректного вывода скрипта можно затрахать зеркало бессмысленными синхронизациями. :)
Вот. Вроде всё нопесал. Чо хотел. Удачи вам.