Архив метки: Linux

Исправляем ошибку "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

Видеоредактор Lightworks для Linux

Отличная новость для всех хабравчан, кто любит Linux и редактировать видео! В публичном доступе появился видеоредактор Lightworks для Linux! На данный момент программа имеет статус beta-версии, но по отзывам работает довольно стабильно. Разработчики отметили следующее: Поддерживаются только системы 64bit Требуются видеокарты от ATI или Nvidia с последними драйверами.

 

Официально поддерживаются только дистрибутивы Ubuntu (включая 13.04) и Linux Mint

Для установки требуется регистрация (бесплатная) После регистрации вы получите PRO-версию на 7 дней

Приложение уже доступно для загрузки — Lightworks

Автор: ГАЗЕНВАГЕН™

Исправляем ошибку rsync ERROR: module is read only

Иногда при попытке записи на rsync-сервера с помощью команды rsync может вылезти ошибка вида:

ERROR: module is read only 

С первого раза и не понятно, что это за модуль и почему он read-only.
На самом деле всё просто, достаточно просто добавить в конфиг /etc/rsyncd.conf в соответствующий раздел параметр read only = no.

Ниже приведён пример конфига /etc/rsyncd.conf:

uid = nobody
gid = nobody
use chroot = no
max connections = 8
syslog facility = local5
pid file = /var/run/rsyncd.pid
[backups]
path = /var/backups-remote
read only = no

Автор: AlexWinner
Дата публикации: 2013-04-22T14:30:00.000-07:00

CentOS / Fedora — исправляем ошибку yum: database disk image is malformed

Проблема

Столкнулся с ошибкой, когда yum после команды yum update стал выдавать ошибку:

Error: database disk image is malformed
You could try using —skip-broken to work around the problem
You could try running: rpm -Va —nofiles —nodigest

Попытки решения

Указанные в этом выводе команды не помогли.
Нагугленные команды типа:

 mv /var/lib/rpm/__db* /tmp
rpm —rebuilddb

или

 yum history new

также не помогли.

Решение

В итоге решение проблемы пришло в виде команды:

 yum clean dbcache

Однако после неё вылезла другая ошибка:

sqlite3.OperationalError: table trans_beg already exists

Она решилась с помощью команды

 yum history new

 

Автор: AlexWinner
Дата публикации: 2013-04-21T14:28:00.000-07:00

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

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

Читать

Послать самому себе пакет данных через сеть

В одном из проектов у меня стояла необычная задача, на компьютере с 2-мя сетевыми интерфейса требовалось передавать UDP пакеты с одного сетевого интерфейса на другой через сеть.

Предположил что у нас есть 2 сетевых карты, а следовательно и два сетевых интерфейса:
  — eth0 ip 192.168.10.1
  — eth1 ip 192.168.10.2

 Для начала, я попробовал решить эту задачу самым простым(и первым) способом пришедшим мне в голову. Создать сокет и привязать его к сетевому интерфейсу eth0(192.168.10.1) и посылать пакеты на 192.168.10.2. Но как оказалось так просто ядро Linux не провести, показания ifconfig говорили что пакету идут через сетевую петлю lo.

После продолжительного поиска я наткнулся на патч для ядра от Julian Anastasov(не стал пытаться переводить на русский, вдруг ошибусь) Send-To-Self interface flag. Который позволял отправлять самому себе пакеты через внешнюю сеть. Автор постоянно обновляет этот патч. Основными преимуществами заявленными автором являются:
  — данная фича может быть использована любыми приложениями без изменения кода
  — фича не ограничивается 2 интерфейсами
  — фичу можно использовать с несколькими IP адресами
  — фича не зависит от состояний rp_filter’a и arp_filter’a
  — подробней и остальное тут

Что удобно в пропатченном ядре функция такой маршрутизации включается и отключается на лету из userspace’a. Вот так:

# Включаем
echo 1 > /proc/sys/net/ipv4/conf/eth0/loop
# Выключаем
echo 0 > /proc/sys/net/ipv4/conf/eth0/loop

Автор: Dmitriy Falko
Дата публикации: 2013-03-29T10:27:00.001+04:00