Показаны сообщения с ярлыком Patch. Показать все сообщения
Показаны сообщения с ярлыком Patch. Показать все сообщения

суббота, 28 ноября 2009 г.

mcs - манипулирование комментариями объектных файлов

В Solaris (а может и не только там) есть утилита для манипулирования комментариями объектных файлов (ELF) - msc:
/usr/ccs/bin/mcs
Весьма важное её применение просмотр что добавили в комментарии инженеры Sun Microsystems. Обычно это информация о версии исправления (patch) с которым этот файл прибыл в систему:
# mcs -p /platform/sun4u/kernel/sparcv9/unix
/platform/sun4u/kernel/sparcv9/unix:
@(#)SunOS 5.10 Generic 137111-04 Jun 2008

# mcs -p /platform/sun4u/kernel/unix
/platform/sun4u/kernel/unix:
@(#)SunOS 5.10 Generic 137111-04 Jun 2008

# mcs -p /usr/ccs/bin/mcs
/usr/ccs/bin/mcs:
@(#)SunOS 5.10 Generic 127127-11 Mar 2008
Так же это может быть информация о компиляторе или (и) сборщике:
# mcs -p /opt/csw/bin/wget
acomp: Sun C 5.8 Patch 121015-06 2007/10/03
iropt: Sun Compiler Common 11 Patch 120760-18 2007/09/19
ld: Software Generation Utilities - Solaris Link Editors: 5.8-1.302

четверг, 12 ноября 2009 г.

Удаление файлов возврата патчей Solaris

Согласно man странице patchadd при установке обновлений старые версии файлов сохраняются в папке:
/var/sadm/pkg/PKG/save
. Как результат при недостатке места в файловой системе /var можно получить сообщение Insufficient space in /var/sadm/pkg/PKG/save to save old files.
Для освобождения пространства можно воспользоваться следующим скриптом. Несомненно, это следует делать, если есть полная уверенность что откатывать ранее установленные патчи больше не понадобится. Например, такую уверенность даёт стабильная работа системы последние полгода.

#!/usr/bin/sh

BACKOUT_DIR="/var/sadm/pkg"
PKG_LIST=`ls $BACKOUT_DIR`


for PKG in $PKG_LIST
do
PATCH_LIST=`ls $BACKOUT_DIR/$PKG/save`
for PATCH in $PATCH_LIST
do
if [ $PATCH != pspool ]
then
du -hs $BACKOUT_DIR/$PKG/save/$PATCH
rm -r $BACKOUT_DIR/$PKG/save/$PATCH
fi
done
done

Что мне интересно - общие элементы Google Reader