Привет всем!
Решил написать скрипт для поиска и удаления старых ядер, оставшихся после обновлений системы. Работает по-идее для debian/ubuntu. С ядрами вроде как нормально, грепаньем выбираются все, кроме текущего. С заголовочными файлами сложнее. Как ни грепал, пакет linux-headers-номер_текущего_ядра все равно остается в списке удаляемых. Может у кого есть идеи как лучше грепать, да и вообще как можно по-другому список ненужных ядер/исходников сформировать? Просто я в скриптописании не силен, получилась какая-то ерундистика...
Сам скрипт смотрите ниже. Требуется запуск под рутом или с sudo, но только для целей apt-get purge, в остальных командах повышенные привилегии не используются. Можно и на рабочей системе запускать, apt-get запускается с ключом -s (СИМУЛЯЦИЯ), то есть реально ничего в системе НЕ удаляется и НЕ изменяется.
- скрипт предполагает, что вы запускаете его из под самого нового из установленных ядер,
- скрипт предполагает, что версии ядра/исходников начинаются с версии 2 (сейчас все ядра 2.6, до 3ей версии еще пока далековато, да и адаптировать не сложно...)
#!/bin/bash
# this is a script for purging unused old kernels installed in your system,
# you should use this script under newest kernel installed!!!
# Please, run it with sudo or as a root user (needed only for apt-get purge operation)!
# checking for root privileges
if [ "$(id -u)" != "0" ]; then
echo 'This script must be run as root or with sudo command!!!' 2>&1
exit 1
fi
# let's get installed and removed kernels list
# and exclude removed kernels
# and exclude kernel you are using now
# excluding kernel metapackage too (list only linux-image-2....),
# then we are going to write this list to a temporary file
dpkg --get-selections linux-image*\
| grep -v deinstall\
| grep -v `uname -r`\
| grep 2 > /tmp/tmp.txt
# asking user if he wants to purge kernels found...
echo "Old kernels found:"
cat /tmp/tmp.txt
echo "You are now running kernel:"
echo linux-image-`uname -r`
CORRECT_INPUT=0
while [ $CORRECT_INPUT -ne 1 ]
do
echo -n "Would you like to purge old kernels found? (y/n): "
read CHOISE
case $CHOISE in
y)
echo "Purging kernels!..."
CORRECT_INPUT=1
;;
n)
rm /tmp/tmp.txt
echo "Exiting..."
CORRECT_INPUT=1
exit 0
;;
*)
echo "Please enter y or n and press enter!"
;;
esac
done
# let's purge unused kernels which are in our tempfile
apt-get -s purge `cat /tmp/tmp.txt | cut --fields=1 -`
echo -n 'Done! Press any key to continue!'
read CONTINUE
# finding old kernel-headers
dpkg --get-selections linux-headers*\
| grep -v deinstall\
| grep 2 > /tmp/tmp.txt
# asking user if he wants to remove old kernel haders too...
echo "Old kernel headers found, script can purge them too:"
cat /tmp/tmp.txt
echo "Your current kernel headers version:"
echo linux-headers-`uname -r`
CORRECT_INPUT2=0
while [ $CORRECT_INPUT2 -ne 1 ]
do
echo -n "Would you like to purge old kernels headers? (y/n): "
read CHOISE
case $CHOISE in
y)
echo "Purging kernel headers!..."
CORRECT_INPUT2=1
;;
n)
rm /tmp/tmp.txt
echo "Exiting..."
CORRECT_INPUT2=1
exit 0
;;
*)
echo "Please enter y or n and press enter!"
;;
esac
done
# purging kernel-headers which are in our tempfile
apt-get -s purge `cat /tmp/tmp.txt | cut --fields=1 -`
rm /tmp/tmp.txt
echo 'All done! Exiting script...'
exit 0
Плюсы Openfire:
Что нового в 3.7.0:
>>> Подробности
Проект Ubuntu формирует список сертифицированного оборудования, которое совместимо с последними версиями дистрибутивов. На специально отведенной веб-страничке можно посмотреть, например, поддерживается ли Ваш недавно купленный ноутбук, каких проприетарных драйверов может не хватать, а также пути решения некоторых проблем с устройствами.
Поддержка устройств отличается "статусом": Certified, Enabled или Ready. Первый означает, что производители сами предоставили своё оборудование для тестирования инженерами Canonical, и все тесты пройдены успешно. Во-втором случае Canonical самостоятельно настраивает Ubuntu для работы на данном оборудовании и следит за должной производительностью. Последний же статус означает, что оборудование тестировалось самим производителем с помощью специального тестового пакета, результаты были направлены на проверку в Canonical.
>>> Подробности
Добрый всем вечер.
Вот попал в руки такой интересный диск. Скрины сюда вставлять не пробовал, так что не ругайте за кривой способ поделиться изображениями.
http://imglink.ru/show-image.php?id=cffc0f5547b72b8d38691d4449a74f97
http://imglink.ru/show-image.php?id=2257df6838070b230d7e5d6daba90c84
http://imglink.ru/show-image.php?id=c0cc1ae52c54906495b0f4977efab306
К чему я собственно это запостил - диск откровенно продавался в магазине. На диске, естественно, 5 варезных игрушек для Windows. Больше всего поражает скрин со штрих кодом и "Лицензия МПТР России" с указанием юридического адреса изготовителя данного диска. Особенно иронично выглядит "С претензиями по качеству продукции обращаться..." Интересно, доколе наша страна будет практиковать двойные стандарты, когда за продажу вот таких вот дисков в магазинах не делается абсолютно ничего, а за установку частным лицам "нелицензионного ПО" могут взыскать по полной? Нехорошо как-то получается, господа российские копирасты.
Из описания разработчиков:
"MDC (Multiple Direct Communicator) – это универсальный мультипротокольный мессенджер с поддержкой операционных систем Windows, Linux, MacOS X и протоколов ICQ, Mail.Agent, Jabber и др. Интуитивность интерфейса, возможность хранения истории на сервере, объединение контактов из разных IM-сетей – это лишь начало того, что вы найдете для себя в MDC."
Ключевые моменты:
Дополнительно:
"С момента выхода 1.0.1.3 вокруг MDC образовалось довольно внушительное community, которое растет с каждым днем. Мы очень благодарны всем его участникам за поиск багов в ночных билдах и адекватные замечания по usability. Спасибо!!! Пасхальные яйца исключительно для Вас :)"
>>> Подробности