Home

четверг, 22 октября 2009 г.

Влажная уборка SnowLeopard

Некоторое время назад на странице были опубликованы скрипты, позволяющие производить уборку системы немедленно, не дожидаясь назначенного времени, как описано в "Надо, надо умываться ..."
Однако с тех пор произошли значительные перемены, во-первых вышла новая версия операционной системы Snow Leopard, а во-вторых автор скриптов и его страница канули в паутине и в настоящее время обновления версий под SL не существуют, а старые версии банально недоступны для скачивания.


Я попытался восполнить этот пробел в силу своего разумения.

К сожалению, авторские скрипты распространялись без исходных текстов, поэтому определенно понять их функционал не представляется возможным. Однако общее понимание сути происходящего есть, так что можно попытаться восстановить ход действий.

Во-первых, мы уже выяснили, что по-расписанию система вызывает команды


/usr/sbin/periodic daily
/usr/sbin/periodic weekly
/usr/sbin/periodic monthly


Осталось выполнить некоторые дополнительные операции

  • Восстановление прав доступа  выполняется при помощи /usr/sbin/diskutil repairPermissions /
  • Для очистки пользовательских кэшей программ нужно удалить все в каталоге ~/Library/Caches
  • Намекнуть системе на необходимость перестройки кэша модулей ядра можно, тронув каталог /System/Library/Extensions
  • Перегрузиться
Поскольку исходные скрипты были оформлены в виде AppleScript и комментировали голосом ход исполняемых задач, не станем отступать от традиции.
Открываем  редактор эпплскрипта и вводим следующие строки

property voice : "Alex"

say "performing daily task" using voice
say "please provide your administrator password" using voice
do shell script "/usr/sbin/periodic daily" with administrator privileges

say "performing weekly task" using voice
do shell script "/usr/sbin/periodic weekly" with administrator privileges

say "performing monthly task" using voice
do shell script "/usr/sbin/periodic monthly" with administrator privileges
say "periodic task are complete" using voice

say "performing permissions repair" using voice
do shell script "/usr/sbin/diskutil repairPermissions /"
say "permissions were repaired" using voice

say "empty user caches" using voice
do shell script "for cache in ~/Library/Caches/* ; do rm -rf $cache ; done"
say "user caches were deleted" using voice

do shell script "touch /System/Library/Extensions" with administrator privileges

say "it's time to reboot" using voice
do shell script "/sbin/shutdown -r now" with administrator privileges



Полученный скрипт сохраните как приложение и запускайте по желанию.
Ой.

4 коммент.:

mtresk комментирует...

Спасибо!

mactoy комментирует...

Спасибо,очень полезно!

tubor комментирует...

:) Спасибо

pavel комментирует...

Уха-ха... Повеселило, скрипт на самом деле гуд. Но надо голос Вики поставить было :)

Отправить комментарий