понеділок, 4 липня 2011 р.

Кирилиця в Audacious

Пречудовий плеєр, в якому просто слухаєш музику, а не чухаєш потилицю, куди що натискати.
По замовчуванню кирилиця не запускається. Робимо наступне:
Залазимо в налаштування Skinned interface (зовнішній вигляд)
знімаємо позначку з USE BITMAP FONTS IF AVAILABLE
Вибираєте шрифт для головного вікна та списку відтворення, який підтримує юнікод (по замовчуванню Sans bold - цілком підходить)
Тепер на закладку список відтворення і в
auto character encoding detector for вибираємо Russian
Fallback character encodings: UTF-8

Варто зразу оновити список відтворення,оскільки в противному випадку кракозябри в назвах будуть до тих пір, поки не почне програватися запис!
От в все.

Налаштування такого чуда як C-Media Electronics, Inc. Audio Adapter (Planet UP-100, Genius G-Talk) в Debian

І не тільки в Debian, в більшості дистрибів подібно запрацює. Отже поїхали.
На домашньому десктопі здавна підглючував звуковий тракт, потім один канал повністю накрився, Переключив колонки на навушниковий вхід. І оце на днях накрилося й це. Оскільки я великий ентузіаст, майже що гік, маю назбираних за роки десь коло 5 звукових карт. Витягши з коробки гірко розчарувався, бо всі вони ISAшні, а PCIної ні одної. А на компі ні одного порта іса. Ну й купив оцю звукову юсб карту. Питання ціни відіграло немалу роль, слід визнати - 30 грн всього. Під віндами навіть не запускав, там вбудований зеросіді, все й так запрацює. Цікаво було на людській системі запустити, а основна система самі знаєте яка:
root@debiano:/home/eucrariano# uname -a
Linux debiano 2.6.32-5-686 i686 GNU/Linux - Debian Squeeze 6.02
Тикаємо звукову флешку в юсб порт:
А звуку немає. Тоді дивимося, чи вона проініціалізувалася:
root@debiano:/home/eucrariano# lsusb |grep -i audio
Bus 002 Device 002: ID 0d8c:000e C-Media Electronics, Inc. Audio Adapter (Planet UP-100, Genius G-Talk)
Ось і воно.
root@debiano:/home/eucrariano# cat /proc/asound/cards
1 [default ]: USB-Audio - Generic USB Audio Device
Generic USB Audio Device at usb-0000:00:1d.0-1, full speed

Робимо її не другою, а головною:
залазимо в /etc/modprobe.d/ і правимо alsa-base.conf (все під рутом)
знаходимо рядок оptions snd-usb-audio index=-2 і оці -2 замінюємо на 0, перезавантажуємося - тепер звук буде.
Насолоджуємося звуком

субота, 2 липня 2011 р.

Найбільш вживані команди терміналу/bash в Debian

Файлы и директории

ls – отобразить содержимое текущей директории

ls -al – показать детальную инфу и скрытые файлы и директории в текущей директории

cd dir - перейти в директорию dir

cd – перейти в домашнюю директорию

pwd – показать текущую директорию

mkdir dir – создать директрию dir

rm file – удалить file

rm -r dir – удалить директорию dir

rm -f file – force remove file

rm -rf dir – force remove directory dir *

cp file1 file2 – копировать file1 в file2

cp -r dir1 dir2 – копировать dir1 в dir2; создать dir2 если ее нет

mv file1 file2 – переименовать или переместить file1 в file2; если file2 директория переместить file1 в директорию file2

ln -s file link – создать символическую ссылку на файл или директорию

touch file – создать или обновить file

cat > file – запись в file

more file – прочитать file

head file – прочитать первые 10 строк file

tail file – прочитать последние 10 строк file

Процессы

ps – отобразить все активные процессы

top – отобразить все запущенные процессы,

kill pid 1003 – "убить" процесс с pid1003

killall proc – "убить" все процессы с именем proc *

xkill - “убить” любое окно щелчком мыши

bg – показать остановленные и фоновые процессы; продолжить остановленый процесс

fg – вывести недавний процесс на передний план

fg n – вывести процесс n tна передбий план

Полномочия

ls -lh - просмотр полномочий на файлы и директории в текущей директории

chmod ХХХ file – изменение полномочийфайла file на ХХХ, значение каких можно найти в man:

4 – чтение (r)

2 – запись (w)

1 – выполнение (x)

Памятка: сложивается 4+2+1=7 (rwx)

1-е 3 цифры – хозяин, 2-е - группа, 3-е другие

Пример:

chmod 777 – полные полномочия для всех

Вот здесь можно побаловаться визуально, для лучшего понятия!

chmod 755 – rwx для хозяина, rx для групп и других

chown user1 file1 - назначить владельцем файла file1 пользователя user1

chown user1:group1 file1 - сменить владельца и группу владельца файла file1



SSH

ssh user@host – connect to host as user

ssh -p port user@host – connect to host on port port as user

ssh-copy-id user@host – add your key to host for userвключить пароль

Поиск

grep oit files – отобрать из files строки, содержащие “oit”

command | grep oit – найти oit в command

locate file – найти все инстанции file

Монтирование файловых систем

mount -o loop file.iso /mnt/iso смонтировать ISO-образ. Прежде надо создать директорию монтирования '/mnt/iso'

mount /dev/hda2 /mnt/hda2 монтирует раздел 'hda2' в точку монтирования '/mnt/hda2'. Убедитесь в наличии директории монтирования '/mnt/hda2'

umount /dev/hda2 размонтирует раздел 'hda2'. Перед выполнением, покиньте '/mnt/hda2'

mount -t vfat /dev/hda5 /mnt/hda5 монтировать файловую систему Windows FAT32

fuser -km /mnt/hda2 принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем



Восстановление Grub

grub

find /boot/grub/stage1 или find /boot/grub/menu.lst

root(hd0,1)

setup (hd0)

quit/exit

Восстановление Grub2 с live CD

sudo fdisk -l – определяю раздел диска

sudo mount /dev/sdXY /mnt – монтирую раздел диска (sdX мой раздел из выше)

sudo grub-install --root-directory=/mnt/ /dev/sdX – устанавливаю новый Grub

reboot – перегружаюсь



Bash

export HISTCONTROL=erasedups – удалить дубликаты

export HISTCONTROL=ignorespace – игнорировать пробелы

export HISTSIZE=500 – установить размер файла истории

export HISTTIMEFORMAT='%F %T ' - установить время.

export HISTIGNORE="pwd:ls:ls -ltr:" - игнорировать перечисленные команды ( не записывать в историю)

history -c && rm -f ~/.bash_history – очистка bash_history

↑ или !! - выполнить последнюю команду (Стрелка вверх)

history | more и после !-1 – вместо 1 нужный номер команды

Control+P

!ps - найти команду начинающуюся на ps

Системная инфа

date – показывает текущую дату и время

cal – показывает календарь

uptime – показать текущее время и работу системы без перезагрузки и выключения

w – кто в сети

whoami – кем вы зашли в компьютер

finger user – инфо о user

uname -a – полная инфа о ядре

uname -r -лишь версия ядра

cat /proc/cpuinfo – cpu инфо

cat /proc/meminfo –ram инфо

man command– показать документацию для command

df – использование диска

du – подсчитывает и выводит размер, занимаемый директорией

du -cksh - подсчитывает и выводит размер, занимаемый директорией

hdparm -i /dev/hda – инфо o HDD

hdparm -Tt /dev/hda1 – тестировать производительность чтения данных с HDD

which app – показывает какая app будет запущена по умолчанию

free – показывает использование рам и swap

whereis app – показывает нахождение app

Архивирование

tar cf file.tar files – создать tar-архив file.tar, содержащий файлы files

tar xf file.tar – извлечь файлы из file.tar

tar czf file.tar.gz files – создать tar-архив и сжать его используя gzip

tar xzf file.tar.gz – извлечь файлы с помощью gzip

tar cjf file.tar.bz2 – создать tar-архив и сжать его используя bzip2

tar xjf file.tar.bz2 – извлечь файлы с помощью bzip2

gzip file – создать архив file.gz

gzip -d file.gz – распаковать file.gz

unrar -p x file1.rar распаковать запароленный rar-архив

Сеть

ping host – пинг host выход

whois domain – whois инфа домена

dig domain – DNS инфо домена

dig -x host – reverse lookup host

aria2

aria2c http://example.org/mylinux.iso – загрузка с сети

aria2c -s3 - http://example.org/mylinux.iso – загрузка с сети используя 3 соединения (дефолт - 5)

aria2c http://a/f.iso ftp://b/f.iso – загрузка с двух источников

aria2c http://example.org/mylinux.torrent - bittorrent

aria2c ‘magnet:?xt=urn:btih:248D0A1CD08284299D E78D5C1ED359BB46717D8C’ - BitTorrent Magnet URI

aria2c http://example.org/mylinux.metalink – metalink wget file – загрузить файл

wget -c file – продолжить загрузку файла

Установка

Установка с исходника (общее):

./configure

make

make install

Установка с исходника (Debian)

./configure && make && sudo checkinstall

dpkg -i pkg.deb – установак пакета (Debian)

apt-get install pkg - установить / обновить пакет

apt-get update && apt-get dist-upgrade - обновить всю систему (Дебиан)

yum erase pkg – удалить pkg

yum install pkg- установить / обновить пакет

zypper install pkg - установить пакет (Suse)

rpm -Uvh pkg.rpm – установка/обновление rpm пакета

rpm -e pkg – удаление (.rpm не нужно)

emerge pkg – установить пакет (Gentoo)

emerge --update --ask world – обновить систему

emerge -aC pkg - удалить пакет

equo install pkg – установить (Sabayon)

equo remove pkg – удалить (Sabayon)

smart install pkg -установить

smart remove pkg – удалить

Остановка системы

shutdown -h now - остановить систему

shutdown -r now - перегрузить систему

reboot, poweroff - перезагрузка системы

last reboot - статистика перезагрузок

logout - выйти из системы

Горячие клавиши

Ctrl+C – halts the current command

Ctrl+Z – stops the current command, resume with fg in the foreground or bg in the background

Ctrl+D – log out of current session, similar to exit

Ctrl+W – erases one word in the current line

Ctrl+U – erases the whole line

Ctrl+R – type to bring up a recent command

!! - repeats the last command

exit – log out of current session

пʼятниця, 1 липня 2011 р.

Налаштування портів для Transmission

Ну от, перейшов на супербезліміт від інтертелекома, а качаються торенти ну дуже повільно. Якщо на чистому анлімі інтер видавав мені 115 кБ, то на суперанлімі - до 800, при середніх значеннях 250-550, що зумовлено, ймовірніш за все, віддаленістю від базової станції.
Як виявляється причинами низької швидкості торентозакачки є: мала кількість роздаючих, низький рейтинг, тощо (більше тут - http://forum.megashara.com/showthread.php?t=5920 і тут - http://katushka.net/forum/showthread.php?tid=1006). Ще одна причина - закриті порти і воно ледве пролазить де може.
Для відкриття портів детальна інформація (ну цілком достатня, скажемо так) є тут http://flug.org.ua/lists/debian-russian/49421/ .
Для себе: я відкрив собі порт 51000. Тому:
Соединения устанавливаются в две стороны:
1) входящие соединения от других клиентов к transmission: они устанавливаются
*с* случайного порта на *заданные* порт transmission

В типичной/нормальной установке файрвола фильтруются только соединения извне на
локальные сервисы, поэтому для торрента их нужно специально разрешить:
# (упрощённо)
# разрешаем прохождение пакетов относящихся к уже установленным соединениям
# (под это правило попадает большинство пакетов, оно должно идти первым)
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# разрешаем всё на loopback
iptables -A INPUT -i lo -j ACCEPT
# режем левизну
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state NEW -p tcp '!' --syn -j DROP
# параноим
#iptables -A INPUT -s 169.254.0.0/16 -j DROP
# (аналогично с другими *не используемыми* приватными сетями)
# (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12)
# разрешаем входящие соединения для торрента (порт поменяй на свой!)
iptables -A INPUT -p udp -m udp --dport 6688 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 6688 -j ACCEPT
# убиваем *все остальные* попытки соединения:
#iptables -A INPUT -j LOG
iptables -A INPUT -j REJECT

Доступнітсть портів перевіряємо тут - http://www.whatsmyip.org/ports/
І перевіряємо роботу
netstat

Як бачимо, все працює ;)
Швидкість піднялася втричі, ловлю трафік на швидкості близько 50 кбійт на с, що не багато, але все пізнається в порівнянні ;).

Там ще мулька була одна, яка дозволяє у внутрішніх налаштуваннях модема дещо переключити, щоб швидше працював, але то вже інша історія.Після перепідключення, ці налаштування пропадають, тому я їх тупо записав у файл .port_for_transmission (ще варто зробити його виконуваним), який поклав у /root і запускаю просто: #sh .port_for_transmission. Вміст файла:
root@debiano:~# cat .port_for_transmission
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state NEW -p tcp '!' --syn -j DROP
iptables -A INPUT -s 169.254.0.0/16 -j DROP
iptables -A INPUT -s 10.0.0.0/8 -j DROP
iptables -A INPUT -s 172.16.0.0/12 -j DROP
iptables -A INPUT -p udp -m udp --dport 51000 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 51000 -j ACCEPT
iptables -A INPUT -j LOG
iptables -A INPUT -j REJECT
netstat