Архив рубрики: How To

Исправляем ошибку "sorry, you must have a tty to run sudo"

Внезапно столкнулся с тем,  что из крона не отрабатывал скрипт, который прекрасно отрабатывал из консоли. Выдавал в STDERR указанную ошибку-  sorry, you must have a tty to run sudo.
Проблема решается изменением файла /etc/sudoers. Для его изменения рекомендую использовать утилиту visudo, а не править редактором напрямую. Находим строку:

Defaults    requiretty

И закомментируем её:

#Defaults    requiretty

И всё, sudo отлично работает из под cron.

Примечание: на самом деле, лучше переписать скрипты без использования sudo, поскольку эта закомментирование этой директивы наносит некоторый ущерб безопасности сервера:

# Disable «ssh hostname sudo «, because it will show the password in clear.
#         You have to run «ssh -t hostname sudo «.

Автор: AlexWinner

batch resize, или массовое изменение размера картинок в Linux Debian/Ubuntu

Столкнулся с необходимостью быстро отресайзить папку фотографий.  Так как под рукой только Linux Ubuntu, пришлось искать способы под него.
Конечно, была идея отресайзить все картинки через Гимп, но это стрельба из пушки по воробьям. Причём медленная стрельба.
А простой и красивый способ нашёлся следующий.

Читать

Converting 32bit RRD to 64bit RRD (This RRD was created on other architecture)

Такая ошибка вываливается тогда, когда на одной архитектуре (скажем, 64bit), вы пытаетесь использовать rrd-шки, созданные на другой (32bit).
Починить можно, перегнав rrd-шку в xml на старой системе, а затем обратно — на новой.
Например, на старой системе выполняем:

rrdtool dump sometest.rrd > sometest.xml

На новой:

rrdtool restore sometest.xml sometest.rrd

Если же файлов много, то можно сделать это так:
На старой системе:

for i in `find -name «*.rrd»`; do rrdtool dump $i > $i.xml; done

На новой:

for i in `find -name «*.xml»`; do rrdtool restore $i `echo $i |sed s/.xml//g`; done

Автор: AlexWinner

Ubuntu — возвращаем F10 в MC (Midnight Commander)

К сожалению, в Ubuntu 11.04 и 11.10 нажатия кнопки F10 перехватываются Unity. Это очень разжражает, так как в Midnight Commander’е эта кнопка часто используется, например, для выхода.
Избавиться о перехватов Unity просто. Для этого надо выполнить следующие действия:
1) Устанавливаем compizconfig-settings-manager:

$ sudo aptitude install compizconfig-settings-manager

2) Далее, запускаем его (в меню приложений находим compizconfig-settings-manager)
3) Вводим в фильтре Unity и находим Ubuntu Unity Plugin:

4) Снимаем галочку либо нажимаем на него и переназначаем клавишу вызова. Я выбрал Ctrl+Shift+F10

 

Автор: AlexWinner

Linux — меняем кодировку для всех файлов в директории

for file in `find . -type f`; do iconv $file -f cp1251 -t utf8 -o ${file}_tmp; mv ${file}_tmp $file; done

Рекурсивно меняет кодировку для всех файлов в текущей директории из cp1251 в utf8.