Установка, настройки и управление rtorrent в Ubuntu

 Ubuntu  Комментарии к записи Установка, настройки и управление rtorrent в Ubuntu отключены
Апр 202011
 

Отсель http://ubuntulyb.blogspot.com/2010/10/rtorrent-ubuntu.html

Хороший торрент клиент, практически не занимает ресурсов при работе, легко настраиваем умеючи и т.д., одно но, нет к нему стандартного gui интерфейса (за исключением rutorrent и прочих, но оних ниче не скажи ибо понять не получилось, да и настройкой заниматься, ставить доп. пакеты в систему не особо охото, потому об этом тут не будет) т.е. работает в консоли только.

Установка, настройка, управление, все в консоли

sudo apt-get install rtorrent

создание директорий для него, пути можно любые, тут указан домашний каталог, но лучше не на него но на отдельный раздел, чтоб при переустановке системы сохранить торренты, файлы, сессию и продолжить раздачу-закачку, что отлично им поддерживается при переустановке, в установленой системе достаточно дать ему прежний конфиг (поэтому копию его лучше тоже на отдельном разделе сохранить хотя бы в в каталоге самой программы) и он продолжает сидировать и качать то что не досидировал и недокачал в прежней системе, в общем к сути, названия и количество директорий на выбор, только отредактировать потом конфиг

mkdir rtorrent && cd ~/rtorrent && mkdir .rsession url films music prochee && cd ~/rtorrent/url && mkdir films music prochee

Теперь создается файл в домашнем каталоге

nano .rtorrent.rc

с таким содержанием

# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.

# Количество пиров
#min_peers = 40
max_peers = 30

# Количество сидов
#min_peers_seed = 10
max_peers_seed = 30

# Количество закаек
max_uploads = 50

# Скорость закачки и раздачи
#download_rate = 0
upload_rate = 50

# Директория по умолчанию для закачек
directory = /rtorrent

# Каталог для хранения сессии
session = ~/rtorrent/.rsession

#сохранять сессию
session_save = yes

# Порт загрузки-раздачи
port_range = 6891-6891

# Случайный порт
port_random = no

# Проверка хеша
check_hash = yes

# Обращения к треккеру
use_udp_trackers = yes

# Шифрование
#
encryption = require,allow_incoming,enable_retry,prefer_plaintext 

enable_trackers = no

# Вторая часть

schedule = watch_directory_1,5,5,»load_start=~/rtorrent/url/films/*.torrent, d.set_directory=~/rtorrent/films/»
schedule = watch_directory_2,5,5,»load_start=~/rtorrent/url/music/*.torrent, d.set_directory=~/rtorrent/music/»
schedule = watch_directory_3,5,5,»load_start=~/rtorrent/url/prochee/*.torrent, d.set_directory=~/rtorrent/prochee/»

Настройка первой части конфига описана полно где и информации полно, вторая часть это директории для загрузки, при старте программа начинает сканировать каталог url и вложенные в него каталоги, при появлении торент файлов в зависимости от того где он расположен ~/rtorrent/url/films то он начинает закачку, по завершении он перемещает файл в ~/rtorrent/films

Вот в общем все, старт программы в терминале

rtorrent

и вперед

клавиши управления 

стрелками верх вниз перемещение вертикально,  вправо влево горизонтально остальные эти
Ctrl-s — начать закачку выбранного торрента,
Ctrl-d — остановить закачку торрента, или удалить остановленный торрент,
Ctrl-f — показать подробную информацию о торренте (для возврата назад — стрелка влево),
Ctrl-q — выход из программы.

Примеры команд Linux

 Ubuntu  Комментарии к записи Примеры команд Linux отключены
Апр 062011
 
Команда Описание
apropos whatis Показать команды соответствующие строке.
man -t man | ps2pdf — > man.pdf Создать pdf версию страницы мануала (man)
which command Показать полный путь к файлу команды
time command Выполнить команду и отобразить время выполнения
time cat Запустить секундомер. Ctrl-d чтобы остановить его.
nice info Запустить команду с низким приоритетом (”info” reader в данном случае)
renice 19 -p $$ Установить shell (скрипту) низкий приоритет. Используется для неинтерактивных задач.
cd — Перейти в предыдущую директорию
cd Перейти в $HOME директорию
(cd dir && command) Перейти в директорию, выполнить комманду (command) и вернуться в текущую директорию
pushd . Положить текущую директорию в стек, чтобы позже вернуться к ней с помощью popd
alias l=’ls -l –color=auto’ Быстрое отображение содержимого директории
ls -lrt Список файлов по дате.
ls /usr/bin | pr -T9 -W$COLUMNS Напечатать в 9 столбцов в ширину терминала
find -name ‘*.[ch]‘ | xargs grep -E ‘expr’ Искать ‘expr’ в текущей директории и в нижестоящих директориях.
find -type f -print0 | xargs -r0 grep -F ‘example’ Поиск всех файлов по ‘example’ в текущей директории и ниже
find -type f -print0 | xargs -r0 grep -F ‘example’ Поиск всех файлов по ‘example’ в текущей директории
find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done Обработать каждый элемент с несколькими командами (в цикле while)
find -type f ! -perm -444 Найти файлы, которые не являются видимыми для всех (полезно для веб сайта)
find -type d ! -perm -111 Найти директории не доступные для всех (полезно для web сайтов)
locate -r ‘file[^/]*\.txt’ Искать в кешированном индексе по именам.
look reference Быстрый поиск (сортированный) словаря по префиксу
grep -color reference /usr/share/dict/words Подсвечивание мест где регулярное выражение появляется в словаре
gpg -c file Зашифровать файл
gpg file.gpg Расшифровать файл
tar -c dir/ | bzip2 > dir.tar.bz2 Заархивировать директорию (папку) dir/
bzip2 -dc dir.tar.bz2 | tar -x Разархивировать архив (используйте gzip вместо bzip2 для файлов tar.gz)
tar -c dir/ | gzip | gpg -c | ssh user@remote ‘dd of=dir.tar.gz.gpg’ Создать зашифрованный архив директории (папки) dir/ на удаленном компьютере
find dir/ -name ‘*.txt’ | tar -c –files-from=- | bzip2 > dir_txt.tar.bz2 Создать архив для папки dir/ и всех вложенных папок
find dir/ -name ‘*.txt’ | xargs cp -a –target-directory=dir_txt/ –parents Создать копию папки dir/ с вложенными папками
( tar -c /dir/to/copy ) | ( cd /where/to/ && tar -x -p ) Скопировать (с правами доступа) папку copy/ в папку /where/to/
( cd /dir/to/copy && tar -c . ) | ( cd /where/to/ && tar -x -p ) Скопировать (с правами доступа) содержимое папки copy/ в /where/to
( tar -c /dir/to/copy ) | ssh -C user@remote ‘cd /where/to/ && tar -x -p’ Скопировать (с правами доступа) папку copy/ на удаленный компьютер remote:/where/to
dd bs=1M if=/dev/sda | gzip | ssh user@remote ‘dd of=sda.gz’ Сделать резервную копию (сбекапить) жесткого диска и послать ее на удаленный компьютер
rsync -P rsync://rsync.server.com/path/to/file file Только отобразить различия. Делайте много раз чтобы проверить прошли ли нормально закачки
rsync –bwlimit=1000 fromfile tofile Скопировать локально с предельной скоростью. Это приятно для I/O
rsync -az -e ssh –delete ~/public_html/ remote.com:’~/public_html’ Зеркальный веб сайт (используется шифрование и дешифрование)
rsync -auz -e ssh remote:/dir/ . && rsync -auz -e ssh . remote:/dir/ Синхронизировать текушую папку с папкой на удаленном компьютере
ssh $USER@$HOST command Запустить команду command на удаленном хосте $HOST от имени пользователя $USER (команда по умолчанию = shell)
ssh -f -Y $USER@$HOSTNAME xeyes Запустить GUI команду на удаленном хосте $HOST от имени пользователя $USER
scp -p -r $USER@$HOST: file dir/ Скопировать папку dir/ с правами доступа в домашнию папку пользователя $USER на хосте $HOST
ssh -g -L 8080:localhost:80 root@$HOST Перенаправить соединения к $HOSTNAME:8080 наружу к $HOST:80
ssh -R 1434:imap:143 root@$HOST Перенаправить соединения от $HOST:1434 к внутр. imap:143
(cd cli && wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html) Сохранить веб страницу (как она открывается локально) в текущую директорию
wget -c http://www.example.com/large.file Продолжить скачивание частично скаченного файла
wget -r -nd -np -l1 -A ‘*.jpg’ http://www.example.com/dir/ Скачать множество файлов в текущую директорию
wget ftp://remote/file[1-9].iso/ Ftp непосредственная поддержка globbing
wget -q -O- http://www.pixelbeat.org/timeline.html | grep ‘a href’ | head Отображать вывод напрямую (на экран)
echo ‘wget url’ | at 01:00 Скачать url в 01:00 в текущую директорию
wget –limit-rate=20k url Сделать закачку с уменьшенной скоростью (ограничить скорость до 20 КB/s в этом примере)
wget -nv –spider –force-html -i bookmarks.html Проверить ссылки в файле
wget –mirror http://www.example.com/

Оперативно обновлять локальную копию сайта (удобно использовать с cron)

ethtool eth0 Отобразить статус сетевого устройства (интерфейса) eth0
ethtool –change eth0 autoneg off speed 100 duplex full Вручную установить скорость сетевого интерфейса (устройства)
iwconfig eth1 Отобразить статус беспроводного интерфейса (устройства) eth1
iwconfig eth1 rate 1Mb/s fixed Вручную установить скорость беспроводного интерфейса (устройства)
iwlist scan Список беспроводных сетей в радиусе действия
ip link show Список сетевых интерфейсов (устройств)
ip link set dev eth0 name wan Переименовать интерфейс (устройство) eth0 в wan
ip link set dev eth0 up Включить интерфейс eth0 (чтобы выключить — down)
ip addr show Список ip адресов интерфейсов
ip addr add 1.2.3.4/24 brd + dev eth0 Добавить (или удалить) ip адрес и маску (255.255.255.0)
ip route show Вывести таблицу маршрутизации
ip route add default via 1.2.3.254 Установить 1.2.3.254 в качестве шлюза по умолчанию
tc qdisc add dev lo root handle 1:0 netem delay 20msec Добавить 20мс латентность к устройству loopback (для тестирования)
tc qdisc del dev lo root Убрать латентность добавленную выше
host pixelbeat.org Поиск ДНС ip адреса по имени хоста или наоборот
hostname -i Поиск локального ip адреса (идентично host ‘hostname’)
whois pixelbeat.org Поиск whois информации по имени хоста или ip адресу
netstat -tupl Список интернет сервисов в системе
netstat -tup Список активных соединений к системе (от системы)
smbtree Найти windows компьютеры в сети. См. также findsmb
nmblookup -A 1.2.3.4 Найти windows (netbios) имя, ассоциируемое с ip адресом
smbclient -L windows_box Список shares на windows компьютере или samba сервере
mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/share Смонтировать windows share (папку с открытым доступом)
echo ‘message’ | smbclient -M windows_box Послать popup сообщение на windows комьютер (отключено по умолчанию в XP sp2)
sed ’s/string1/string2/g’ Заменить строку string1 строкой string2
sed ’s/\(.*\)1/\12/g’ Изменить строку anystring1 на anystring2
sed ‘/ *#/d; /^ *$/d’ Убрать комментарии и пустые строки
sed ‘:a; /\\$/N; s/\\\n//; ta’ Соединить строки (линии) с предшествующим \
sed ’s/[ \t]*$//’ Удалить предшествующие пробелы с строк
sed ’s/\([\\`\\”$\\\\]\)/\\\1/g’ Заескейпить активные метасимволы оболочки двумя ковычками
seq 10 | sed “s/^/ /; s/ *\(.\{7,\}\)/\1/” Выровнять числа по правой границе
sed -n ‘1000p;1000q Напечатать 1000-ную строку
sed -n ‘10,20p;20q Напечатать строки с 10 по 20-ую
sed -n ’s/.*<title>\(.*\)<\/title>.*/\1/ip;T;q Получить title из HTML страницы
sort -t. -k1,1n -k2,2n -k3,3n -k4,4n Отсортировать IPV4 ip адреса
echo ‘Test’ | tr ‘[:lower:]‘ ‘[:upper:]‘ Перевести из одного регистра в другой
tr -dc ‘[:print:]‘ < /dev/urandom Отфильтровать не печатаемые символы
history | wc -l Посчитать число строк
sort file1 file2 | uniq Объединение неотсортированных файлов
sort file1 file2 | uniq -d Пересечение неотсортированных файлов
sort file1 file1 file2 | uniq -u Разность неотсортированных файлов
sort file1 file2 | uniq -u Симметрическая разность неотсортированных файлов
join -a1 -a2 file1 file2 Объединение отсортированных файлов
join file1 file2 Пересечение отсортированных файлов
join -v2 file1 file2 Разность отсортированных файлов
join -v1 -v2 file1 file2 Симметрическая разность отсортированных файлов
echo ‘(1 + sqrt(5))/2′ | bc -l Простая математика (Вычисление числа φ).
echo ‘pad=20; min=64; (100*10^6)/((pad+min)*8)’ | bc Более сложная (целая). Этот пример показывает максимум FastE packet rate
echo ‘pad=20; min=64; print (100E6)/((pad+min)*8)’ | python Питон занимается математическими вычислениями
echo ‘pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)’ | gnuplot -persist Напечатать FastE packet rate против packet size
echo ‘obase=16; ibase=10; 64206′ | bc Конвертация систем счисления (десятичную в шестнадцатиричную)
echo $((0×2dec)) Конвертация систем счисления (шестнадцатиричную в десятичную)((арифметическое расширение shell-а))
units -t ‘100m/9.69s’ ‘miles/hour’ Unit конвертация (метрической системы в имперскую)
units -t ‘500GB’ ‘GiB’ Unit конвертация (SI в IEC префиксы)
units -t ‘1 googol’ Поиск определения
seq 100 | (tr ‘\n’ +; echo 0) | bc Добавить столбец чисел.
cal -3 Отобразить календарь
cal 9 1752 Отобразить календарь для конкретного месяца года
date -d fri Какая дата у текущей пятницы.
[ $(date -d “tomorrow” +%d) = “01″ ] || exit Завершить выполнение скрипта, если только сейчас не последний день месяца
date –date=’25 Dec’ +%A Какого числа будет рождество в текущем году
date –date=’@2147483647′ Перевести секунды прошедшие с epoch (1970-01-01 UTC) в дату
TZ=’:America/Los_Angeles’ date Сколько времени сейчас на Западном побережье США (используйте tzselect чтобы найти TZ)
echo “mail -s ‘get the train’ P@draigBrady.com < /dev/null” | at 17:45 Напоминать по Email
echo “DISPLAY=$DISPLAY xmessage cooker” | at “NOW + 30 minutes” Напоминать в Popup окне
printf “%’d\n” 1234 Напечатать четырехзначное число сгруппированное соответственно локали
BLOCK_SIZE=\’1 ls -l Сделать чтобы ls группировала тысячи соответственно локали
echo “I live in `locale territory`” Получить информацию из базы данных локали
LANG=en_IE.utf8 locale int_prefix Искать информацию о локали для конкретной страны
locale | cut -d= -f1 | xargs locale -kc | less Список полей, доступных в базе данных локали
recode -l | less Отобразить доступные переходы (по 1 алиасу на каждой строке)
recode windows-1252.. file_to_change.txt Перевести Windows “ansi” в локальную (текущую) кодировку (auto делает CRFL перевод)
recode utf-8/CRLF.. file_to_change.txt Перевести windows utf8 в локальную (текущую) кодирувку
recode iso-8859-15..utf8 file_to_change.txt Перевести из кодировки latin9 (западная европейская) в utf8
recode ../b64 < file.txt > file.b64 Кодирование base64
recode /qp.. < file.txt > file.qp Раскодирование с кавычками
recode ..HTML < file.txt > file.html Перевести text в HTML
recode -lf windows-1252 | grep euro Поиск в таблице символов
echo -n 0×80 | recode latin-9/x1..dump Показать символ в кодировке latin9 по коду
echo -n 0×20AC | recode ucs-2/x2..latin-9/x Показать latin-9 encoding
echo -n 0×20AC | recode ucs-2/x2..utf-8/x Показать utf-8 encoding
gzip < /dev/cdrom > cdrom.iso.gz Сохранить копию CD с данными
mkisofs -V LABEL -r dir | gzip > cdrom.iso.gz Создать образ CD диска из содержимого директории
mount -o loop cdrom.iso /mnt/dir Смонтировать CD образ на /mnt/dir (только для чтения)
cdrecord -v dev=/dev/cdrom blank=fast Очистить CDRW
gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom — Записать CD образ (используйте dev=ATAPI -scanbus для выбора устройства записи)
cdparanoia -B Сохранить аудио треки с CD в wav файлы (сохранятся в текущую папку)
cdrecord -v dev=/dev/cdrom -audio *.wav Создать аудио диск (audio CD) из всех wav файлов, находящихся в текущей директории (см. также cdrdao)
oggenc –tracknum=’track’ track.cdda.wav -o ‘track.ogg’ Создать ogg файл из wav файла
ls -lSr Список файлов, отсортированных по размеру (файл с наибольшим размером — последний)
du -s * | sort -k1,1rn | head Показать пользователей в текущей папке с наибольшим объемом используемых данных.
df -h Показать свободное место на смонтированных файловых системах
df -i Показать свободные индексные дескрипторы на смонтированных файловых системах
fdisk -l Показать размеры разделов дисков и типы (запускается от root-а)
rpm -q -a –qf ‘%10{SIZE}\t%{NAME}\n’ | sort -k1,1n Список всех пакетов с размером дистрибутивов (размер — в Байтах)
dpkg-query -W -f=’${Installed-Size;10}\t${Package}\n’ | sort -k1,1n Список всех пакетов с размерами установки (размер — в килобайтах) для debian дистрибутивов
dd bs=1 seek=2TB if=/dev/null of=ext3.test Создать большой тестовый файл.
tail -f /var/log/messages Мониториг сообщений в log файле
strace -c ls >/dev/null Сумма/профиль системных вызовов, сделанных командой
strace -f -e open ls >/dev/null Список системных вызовов, сделанных командой
ltrace -f -e getenv ls >/dev/null Список библиотечных вызовов, сделанных командой
lsof -p $$ Список путей, которые открывал процесс
lsof ~ Список процессов, которые имеют открытые пути
tcpdump not port 22 Отобразить сетевой (кроме ssh) траффик.
ps -e -o pid,args –forest Иерархический список процессов
ps -e -o pcpu,cpu,nice,state,cputime,args –sort pcpu | sed ‘/^ 0.0 /d’ Список процессов с % использования процессора
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMN Список процессов с используемой ими памятью
ps -C firefox-bin -L -o pid,tid,pcpu,state Список всех потоков для конкретного процесса
ps -p 1,2 Список информации о процессах с конкретными IDs (идентификаторами)
last reboot Показать историю ребутов системы
free -m Показать количество оставшейся оперативной памяти (-m отображает в мегабайтах)
watch -n.1 ‘cat /proc/interrupts’ Наблюдать последовательно за изменяющимися данными
uname -a Показать версию ядра и системную архитектуру
head -n1 /etc/issue Показать название и версию дистрибутива (операционной системы)
cat /proc/partitions Показать все разделы, зарегистрированные в системе
grep MemTotal /proc/meminfo Показать всю оперативную память, которую видит система
grep “model name” /proc/cpuinfo Показать информацию о процессоре(ах) (CPU)
lspci -tv Показать информацию о шине PCI
lsusb -tv Показать информацию о USB
mount | column -t Список смонтированных файловых систем в системе (херархический вывод)
dmidecode -q | less Отобразить информацию о SMBIOS/DMI
smartctl -A /dev/sda | grep Power_On_Hours Какой промежуток времени этот диск (система) был включен (работал)
hdparm -i /dev/sda Показать информацию о диске sda
hdparm -tT /dev/sda Протестировать скорость чтения на диске sda
badblocks -s /dev/sda Протестировать на нечитаемые блоки диск sda
readline Редактор строки, используемый bash, python, gnuplot, …
screen Виртуальные терминалы с возможностями открепления, …
mc Мощный файл менеджер, которые может просматривать rpm, tar, ftp, ssh, …
qnuplot Интерактивная (скриптовая) графика
links Текстовый веб браузер
xdg-open http://www.pixelbeat.org/ Открыть файл (или url) с помощью зарегистрированного для него desktop приложения
alias hd=’od -Ax -tx1z -v’ Ручной 16-ричный дамп (пример использования: hd /proc/self/cmdline | less)
alias realpath=’readlink -f’ Канонический путь (пример использования: realpath ~/../$USER)
set | grep $USER Поиск в текущем окружении
touch -c -t 0304050607 file Установить дату для файла (YYMMDDhhmm)
python -c “import SimpleHTTPServer as ws; ws.test()” Отобразить дерево текущего каталога по адресу http://$HOSTNAME:8000/

Wine@etersoft Описание встроенных программ диагностики

 Ubuntu, wine@etersoft, Всяческие настройки  Комментарии к записи Wine@etersoft Описание встроенных программ диагностики отключены
Мар 222011
 

Отсель http://cgroup.drohobych.com.ua/index.php?option=com_content&task=view&id=113&Itemid=128&limit=1&limitstart=22

Тестирование работы блокировок

Описание winelocktest, предназначенной для проверки работы взаимных блокировок.

winelocktest запускается под root

Результат испытаний блокировок оформляется в виде двухмерной таблицы, где каждая ячейка соответствует определённой комбинации режимов открытия и разделения файлов

  • G_R- открытие на чтение
  • G_W- открытие на запись
  • S_R- разрешение на чтение другим
  • S_W- разрешение на запись другим

В каждой ячейке может быть до трёх обозначений.

Первое:

  • l (при запуске в режиме тестирования между пользователями)- работают POSIX-блокировки на файл
  • u — режим запуска самостоятельный и POSIX-блокировки не проверяются
  • F — драйвер файловой системы не сбрасывает все блокировки при закрытии одного из дескрипторов на файл, как это должно быть согласно POSIX (появляется при работе через CIFS, значения не имеет)

Второе: Успешность проверки на взаимное открытие файлов разными пользователями:

  • V- разрешено и совпадает с тем, как должно быть
  • o- не разрешено, а должно бы
  • C- разрешено, но не совпадает с тем, как должно быть

Третье: Успешность работы блокирования

  • L- сработала блокировка (блокирование области файла через LockFile работает)
  • X- не сработала блокировка (программы (пользователи) “не видят” друг друга)

Правильное поле должно выглядеть либо как “l ” (“u ”), либо как “lVL” (“uVL”), все другие случаи являются ошибкой.

См. также http://wiki.winehq.org/FileLocking

WINE@Etersoft 1.0. Руководство пользователя

 Ubuntu, wine@etersoft, Всяческие настройки  Комментарии к записи WINE@Etersoft 1.0. Руководство пользователя отключены
Мар 222011
 

отсель http://cgroup.drohobych.com.ua/index.php?option=com_content&task=view&id=113&Itemid=128&limit=1&limitstart=6

Настройка совместной работы по протоколу CIFS

WINE@Etersoft позволяет настроить совместное использование файловой базы данных в гетерогенной среде. В качестве файлового сервера при этом может быть использован SAMBA 3.0.14 и выше, Windows 2000 и выше, или другой файловый сервер, работающий по протоколу CIFS. При этом используется специальный модуль ядра Linux (CIFS@Etersoft), модифицированный для корректной работы WINE. Поставляется он в пакете etercifs.

Настройка Linux/Samba-сервера для совместной работы по протоколу CIFS

Никаких особенных настроек делать не требуется. Если у вас сервер уже настроен и работает с Windows-клиентами, то он будет работать и с WINE@Etersoft.

Настройке Samba посвящено множество статей в Интернете. Вот некоторые из них:

http://www.opennet.ru/docs/RUS/samba_win2000/

http://www.linuxfocus.org/Russian/March2002/article177.shtml

http://www.citforum.ru/operating_systems/linux/samba/

При использовании одной и той же машины в качестве файлового и терминального сервера одновременно, следует устроить так, чтобы терминальные клиенты также работали с общим ресурсом посредством протокола CIFS, иначе взаимодействия не получится.

Советы по настройке SAMBA-сервера

Конфигурационный файл сервера smb.conf обычно находится в /etc/samba.

Рекомендуется, чтобы oplocks были включены (включены по умолчанию)- это улучшит производительность в монопольном режиме. kernel oplocks (включены по умолчанию) можно выключить, это немного снизит загрузку на систему. Включенные логи (log level в значении больше 0) могут в несколько раз замедлить производительность. Проверьте, что указано use sendfile = yes. Остальные параметры Таким образом пример оптимальных настроек может быть таким:

; oplocks = yes
kernel oplocks = no
use sendfile = yes
log level = 0

Остальные параметры по поводу locks/oplocks должны быть установлены по умолчанию. Параметр strict sync включает выполнение команд по сбросу буфера на диск (flush). По умолчанию он выключен, и это ускоряет работу.

Частой проблемой является несоответствие прав, под которым обращается самба-сервер, с правами на файлы, к которым он обращается. Например, при использовании security = share и обращении к серверу без указания пользователя/пароля он может обращаться к файлам от имени пользователя nobody или pcguest, которые вряд ли имеют права на изменение разделяемых файлов.

В примере ниже Самба с ресурсом sharewine всегда будет обращаться от имени wine: winetester к файлам в каталоге/var/local/share

[sharewine]
path = /var/local/share
public = yes
force user = wine
force group = winetester
writable = yes
guest ok = yes

Настройка Linux-клиентов для совместной работы по протоколу CIFS

Настройка происходит в два этапа: установка специального собранного модуля ядра CIFS и монтирование общего сетевого ресурса.

Подготовка модуля ядра CIFS@Etersoft

Начиная с версии WINE@Etersoft 1.0.9 для работы с CIFS необходимо использовать пакет etercifs версии 3.5 или выше.

Для корректной совместной работы необходимо установить пакет etercifs и задействовать модуль CIFS ядра Linux.

Если имеются смонтированные по протоколу CIFS сетевые ресурсы, необходимо прежде их размонтировать командой # umount <точка монтирования>

# service etercifs restart

Такой ответ означает, что в данный момент имеются ресурсы, смонтированные по протоколу CIFS:

Unloading CIFS kernel module... ERROR: Module cifs is in use [FAILED]
Removing CIFS kernel module... ERROR: Module cifs is in use [FAILED]

Просмотреть список смонтированных ресурсов можно командой mount. После успешного размонтирования необходимо ещё раз выполнить команду service etercifs restart

Unloading CIFS kernel module...          [ DONE ]
Loading CIFS kernel module... cifs from Etersoft is not found,
you can try compile it with 'service linux-cifs build' command.  [FAILED]

Перед использованием модуля ядра его необходимо скомпилировать. Если команда service etercifs restart завершилась ответом, показанным выше, необходимо собрать модуль CIFS для Вашего ядра командой service etercifs build. Для этой операции Вам потребуется компилятор GCC и заголовочные файлы ядра. Если заголовочные файлы отсутствуют, Вам будет предложено название пакета, который надо установить. Для систем Debian и Ubuntu управление сервисами производится прямым запуском скрипта /etc/init.d/etercifs. Так для сборки модуля ядра нужно выполнить команду /etc/init.d/etercifs build.

# service etercifs build

Ответ такого вида означает отсутствие заголовочных файлов ядра, необходимых для сборки модуля CIFS@Etersoft для Вашего ядра.

Build for 2.6.18-ovz-smp-alt12 Linux kernel
(headers in /lib/modules/2.6.18-ovz-smp-alt12/build)
Error: no kernel headers found at /lib/modules/2.6.18-ovz-smp-alt12/build
Please install package
        kernel-headers-modules-XXXX for ALT Linux
        kernel-devel-XXXX for FCx / ASP Linux
        kernel-source-stripped-XXXX for Mandriva 2007
        linux-headers for Debian / Ubuntu
        kernel-source-XXXX for SuSe
        kernel-source-XXXX for Slackware / MOPSLinux
or use KERNSRC variable to set correct location
Exiting...

После установки необходимого пакета с заголовочными файлами выполните команду service etercifs build ещё раз.

Build for 2.6.18-std-smp-alt6 Linux kernel
(headers in /lib/modules/2.6.18-std-smp-alt6/build)
We in ALT Linux, use GCC 4.1
make: Entering directory `/usr/src/linux-2.6.18-std-smp-alt6'
  CLEAN   /usr/src/linux-cifs/.tmp_versions
make: Leaving directory `/usr/src/linux-2.6.18-std-smp-alt6'
make: Entering directory `/usr/src/linux-2.6.18-std-smp-alt6'
  CC [M]  /usr/src/linux-cifs/sess.o
...
  LD [M]  /usr/src/linux-cifs/cifs.o
  Building modules, stage 2.
  MODPOST
  CC      /usr/src/linux-cifs/cifs.mod.o
  LD [M]  /usr/src/linux-cifs/cifs.ko
make: Leaving directory `/usr/src/linux-2.6.18-std-smp-alt6'
Copying built module to /lib/modules/linux-cifs

Если присутствует строчка Copying built module to /lib/modules/linux-cifs, значит, что сборка завершилась успешно, и можно смело загружать модуль командой service etercifs restart. В итоге должно быть следующее:

Unloading CIFS kernel module...            [ DONE ]
Removing CIFS kernel module...            [ DONE ]

При вызове build можно указать путь к заголовочным файлам ядра для сборки: KRNSRC=/usr/src/путь service etercifs build. Или только версию ядра: KERNELVERSION=2.6.26-std-pae /etc/init.d/etercifs build.

Монтирование сетевого ресурса

Сетевой ресурс можно монтировать либо для каждого пользователя персонально (тогда права доступа будут определяться сервером), либо для всех сразу- при условии что пользователи на локальной машине входят в одну группу, указанную при монтировании (доступ к ресурсу станет определяться местными настройками), а также без контроля прав. Примеры монтирования приведены ниже. Вам потребуется установить пакет, содержащий команду mount.cifs. Для систем на основе Debian/Ubuntu она находится в пакете smbfs.

Для монтирования удалённого CIFS-ресурса необходимо с правами пользователя root выполнить команду:

# mount -t cifs //<сервер>/<ресурс> <локальный каталог> \
         -o user=,pass=,file_mode=0660,dir_mode=02770,uid=,gid=,iocharset=utf8

file_mode=0660 определяет необходимые права на запись/чтение файлов пользователю и указанной (через параметр gid) группе. dir_mode=2770 определяет необходимые права на запись/чтение каталогов пользователю и указанной (через параметр git) группе. iocharset=utf8 определяет кодировку отображаемых имен файлов и каталогов (должна соответствовать кодировке локали в вашей системе).

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

# mount -t cifs //<сервер>/<ресурс> <локальный каталог> -o noperm,user=,pass=

Монтирование с параметром credentials=<имя файла> позволяет считывать дополнительные параметры монтирования из указанного файла. Если user и passwd не указываются, тогда авторизация на сервере производится от имени пользователя guest. Если не указан пароль, система спросит его в любом случае.

После этого следует создать новый виртуальный диск-каталог в ~/.wine/dosdevices, который будет указывать на локальный каталог, куда смонтирована файловая система. Некоторые программы требуют доступности именно в виде сетевого ресурса, для них потребуется создать ссылку:

$ mkdir -p ~/.wine/unc/servername
$ ln -s <локальный каталог> ~/.wine/unc/servername/sharename

В результате данный ресурс будет доступен win-приложениям через UNC-путь \servernamesharename.

Соответствие версий WINE@Etersoft и CIFS

Начиная с версии WINE@Etersoft 1.0.9, для организации сетевой работы следует использовать модуль etercifs из пакета etercifs. Для совместимости с предыдущими версиями WINE@Etersoft предназначен пакет linux-cifs, содержащий совместимый вариант модуля etercifs.

При возникновении путаницы с версиями etercifs следует учитывать следующее:

  1. Старый WINE не будет работать с пакетом etercifs, потому что модуль в нём не создаёт файл/proc/fs/cifs/Etersoft.
  2. Новый WINE отличает etercifs от linux-cifs как раз по наличию/proc/fs/cifs/Etersoft) и ведёт себя соответственно, поддерживая работу с обоими пакетами.
  3. Новый WINE по названию модуля (через файл/sys/module/etercifs/version) умеет определять, наш ли модуль cifs загружен.
  4. Начиная с определённой версии модуля cifs новый WINE (через файл/sys/module/cifs/version) будет поддерживать штатный модуль cifs из ядра.

Использование устаревшего модуля smbfs ядра Linux

Для ядер 2.4.x, для которых нет работающего CIFS, возможно использование модуля smbfs для организации совместной работы. Нами подготовлен патч, добавляющий поддержку блокировок в ядро 2.4.32.

Настройка Windows-сервера для совместной работы по протоколу CIFS

Настройка и организация ресурса стандартна и реализуется через “Общий доступ к файлам и папкам”. Важно не забыть указать права доступа к общему ресурсу и файлам. Если авторизация проходит через AD, необходимо установить параметр “Network Microsoft Server: Digitally sign communications (always) — Disable” в групповой политике.


Мар 202011
 

отсель http://howitmake.ru/blog/ubuntu/20.html

Размышлений на тему необходимости DHCP сервера в локальной сети множество, некоторые, несознательные личности или начинающие системные администраторы, предпочитают все настраивать вручную, якобы так надежнее, данное мнение имеет свое право на жизнь, но при одном условии, что сеть небольшая и число компьютеров подключенных к ней является постоянной величиной. В случае если в сети количество подключенных ПК постепенно увеличивается, или могут появиться клиенты, которым нужен доступ в вашу сеть лишь периодически, то вам, как системному администратору, придется делать не нужную работу-все эти проблемы помогает решить DHCP сервер. Данный сервер настраивается за пару минут и снимет с вас, очень много, рутинной работы.
Немного теории: DHCP расшифровывается как Dynamic Host Configuration Protocol, что по русски означает — протокол динамической конфигурации узла. Для тех кому интересно более подробно -вам сюда.

Настраивать мы будим на сервере Ubuntu 10.04. Способ настройки сервера не изменился со времен Ubuntu 7.XX.

Установим необходимый пакет

sudo apt-get install dhcp3-server

После выполнения установки, сервер автоматически НЕ запускается-выдавая ошибку, это нормально!
Для примера рассмотрим сеть с диапазоном IP адресов, начиная с 192.168.0.3 по 192.168.0.254 и маской подсети 255.255.255.0.
Наш шлюз, для выхода в Интернет занимает IP 192.168.0.1
В сети есть DNS сервер находящийся по адресу 192.168.0.2
Выдача IP адресов осуществляется на основе MAC адресов сетевых карт.

Начнем настройку:

sudo nano /etc/dhcp3/dhcpd.conf

Имя сети, можно оставить как есть, но лучше закомментировать.

#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;

Если данный DHPC сервер будет единственным в сети, то директиву лучше раскоментировать.

authoritative;

Далее находим диапазон настроек адресов:
Снимем комментарии со строчек, которые нам необходимы:


# A slightly different configuration for an internal subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {   # подсеть и маска
range 192.168.0.5 192.168.0.254; # указываем диапазон IP адресов, которые будут выдаваться клиентам
option domain-name-servers 192.168.0.2; # IP DNS-сервера
option domain-name "internal.example.org"; # можно задать название своей сети
option routers 192.168.0.1;  # адрес шлюза или маршрутизатора через который мы выходим в Интернет.
  option broadcast-address 192.168.0.255;  #широковещательный адрес который находится последним в диапазоне IP данной подсети
 default-lease-time 600; # время аренды IP адреса в сек.
  max-lease-time 7200;  # максимальное время аренды IP адреса
}

Все, теперь запускаем наш сервер:

sudo /etc/init.d/dhcp3-server start

Если запуск прошел без ошибок, то если подключить клиентский компьютер в эту сеть, он получит IP адрес.

Рассмотрим вариант, немного сложнее.
Предположим, что в качестве маршрутизатора у нас выступает ПК с двумя сетевыми картами eth0-смотрит в локальную сеть, eth1-смотрит в Интернет.
Чтобы наш DHCP сервер выдавал IP адреса только клиентам нашей локальной сети, необходимо указать системе, на каком сетевом интерфейсе принимать запросы от клиентов, в нашем случае eth0

sudo nano /etc/default/dhcp3-server

В строке INTERFACES указываем сетевой интерфейс, который смотрит в нашу локальную сеть (eth0)

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

Но и на этом не успокаиваемся.
Предположим, нам необходимо закрепить определенный IP адрес, за опеределенный сетевым устройством, например-сетевым принтером.
MAC адрес сетевого адаптера позволяет довольно легко идентифицировать нужное нам устройство внутри локальной сети.
И так определились-у нас есть принтер (хотя это может быть любое устройство, которое может подключаться к локальной сети) с MAC адресом: 00:00:72:6c:9m:2p, нам необходимо присвоить ему постоянный IP 192.168.0.100
Добавляем в самый конец dhcpd.conf

sudo nano /etc/dhcp3/dhcpd.conf
host network-printer {
  hardware ethernet 00:00:72:6c:9m:2p;
  fixed-address 192.168.0.100;
}

Где: hardware Ethernet-аппаратный адрес, он же MAC, fixed-address-IP который должен доставаться именно этому устройству.

После этого перезагружаем DHCP сервер чтобы изменения вступили в силу.

sudo /etc/init.d/dhcp3-server restart

В случае если необходимо просмотреть журнал DHCP сервера, идем в /var/log/messages
Настройка DHCP сервера, отнимет у вас не более пяти мин. жизни, но в последствии, сохранит вам-море времени.
Вот собственно и все.