Posts Tagged ‘linux’

UUID в fstab и соотношение с ним реального дискового устройства

Wednesday, July 4th, 2012

lexus@reinstein:~$ cat /etc/fstab
UUID=80eb0f4c-acd7-4cbd-84c8-d5ae6b9318df /boot ext4 defaults 0 2
UUID=8cbc7571-76b3-4951-a37a-d705f9ec0ba6 / ext4 defaults 0 1
UUID=33b59b34-feeb-492a-8c0c-ca80106ab076 swap swap sw 0 0
UUID=099c8946-6790-4d98-ba0e-4bf880a4d858 /home ext4 defaults 0 2
UUID=0E0E0D510E0D336F /media/Storage ntfs-3g defaults 0 0

Выполняем либо ls -lR /dev/disk/ либо ls -l /dev/disk/by-uuid/ и наслаждаемся понятными записями.

lexus@reinstein:~$ ls -l /dev/disk/by-uuid/
итого 0
lrwxrwxrwx 1 root root 10 2011-06-08 09:21 099c8946-6790-4d98-ba0e-4bf880a4d858 -> ../../sda6
lrwxrwxrwx 1 root root 10 2011-06-08 09:21 0E0E0D510E0D336F -> ../../sdg1
lrwxrwxrwx 1 root root 10 2011-06-08 09:21 33b59b34-feeb-492a-8c0c-ca80106ab076 -> ../../sda5
lrwxrwxrwx 1 root root 10 2011-06-08 09:21 80eb0f4c-acd7-4cbd-84c8-d5ae6b9318df -> ../../sda1
lrwxrwxrwx 1 root root 10 2011-06-08 09:21 8cbc7571-76b3-4951-a37a-d705f9ec0ba6 -> ../../sda2
lrwxrwxrwx 1 root root 10 2011-06-08 09:21 f80ba67d-f7b3-4c8a-aaea-6dd1dbfcb6f0 -> ../../sdf1

iptables выборка по FQDN

Wednesday, July 4th, 2012

Иногда пригождается, а из головы вылетает.

Кстати страдающим от вконтактозависимости вот такое правило будет не лишним:

iptables -A OUTPUT -p tcp -m string – -string vkontakte.ru – -algo kmp -j DROP

Консоль. Логи в режиме реального времени

Wednesday, July 4th, 2012

Просто чтоб не забыть, иногда пригождается.

tail -f /var/path/to/some/logfile

iptables в Ubuntu

Wednesday, July 4th, 2012

Я привык к slackware-way при “хранении” правил iptables – скрипт rc.firewall, лежащий в /etc/rc.d/ , содержащий в себе логически понятные строчки правил iptables и умеющий принимать значения start/stop/restart.

Но в GNU/Linux, как вы понимаете, существует много вариаций решения одной и той же задачи. Рассмотрим базовую настройку iptables в Ubuntu. Написано по материалам https://help.ubuntu.com/community/IptablesHowTo#Configuration%20on%20startup .

ВнИМАние! Подразумевается, что настраиваете файрвол на локальной машине. Если на удаленной, то когда будете задавать политику по умолчанию для цепочки INPUT, разрешайте (sudo iptables -P INPUT ACCEPT), а уж потом, на последнем этапе, запрещайте через правку конфига, имея уже явно прописанные разрешающие правила.

1 шаг.

Задаём цепочкам политики по умолчанию:
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP # если у вас не включен IP-forwarding, можно и не делать, но, думаю, лишним не будет в любом случае.
# sudo iptables -P OUTPUT DROP # я этого не делал, для себя решайте сами. Не забудьте только в случае блокировки OUTPUT по умолчанию добавить правило:
sudo iptables -A OUTPUT -m state —state ESTABLISHED,RELATED -j ACCEPT

2 шаг.

Разрешаем входящий трафик на loopback-интерфейсе:

sudo iptables -A INPUT -i lo -j ACCEPT

3 шаг.

Создаём правила для входящих соединений на нашу машину:
sudo iptables -A INPUT -p tcp —dport 22 -j ACCEPT
Добавляем при необходимости другие правила/опции.

4 шаг.

Разрешаем входящие соединения со статусом ESTABLISHED и RELATED:
sudo iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT

5 шаг.

Сохраняем введённые правила в файл /etc/iptables.rules:

sudo bash -c “iptables-save > /etc/iptables.rules”

6 шаг.

Создаём скрипт /etc/network/if-pre-up.d/iptablesload следующего содержания:
#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

7 шаг.

Создаём скрипт /etc/network/if-post-down.d/iptablessave следующего содержания:
#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.downrules ]; then
   iptables-restore < /etc/iptables.downrules
fi
exit 0

8 шаг.

Делаем только что созданные скрипты исполняемыми:
sudo chmod +x /etc/network/if-pre-up.d/iptablesload
sudo chmod +x /etc/network/if-post-down.d/iptablessave

Готово. Теперь при необходимости можно редактировать файл с правилами и перезапускать скрипт /etc/network/if-pre-up.d/iptablesload для вступления изменений в силу.

О том, что мне не нравится в этом подходе.

Просмотрите ваш файл /etc/iptables.rules . Вам не кажется, что он несколько “захламлён” (в примере я привожу не всё содержимое) ?

# Generated by iptables-save v1.4.4 on Mon May 23 15:20:51 2011
*filter
:INPUT DROP [172:18570]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [681:120764]
[30:1727] -A INPUT -i lo -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp —dport 22 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp -m multiport —dports 135,139,445 -j ACCEPT
[176:17992] -A INPUT -p udp -m udp -m multiport —dports 137,138 -j ACCEPT
#
-A INPUT -p icmp -m icmp —icmp-type 8 -j ACCEPT
#
[556:391583] -A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon May 23 15:20:51 2011

И не забудьте обратить внимание при дальнейшей ручной правке файла, чтобы после строк с правилами следующей строкой была строка со словом “COMMIT”, иначе при “перезагрузке” набора правил iptables, эти правила не вступят в силу.

В общем, не привычен мне этот метод.

Конвертирование имён файлов из одной кодировки в другую

Wednesday, July 4th, 2012

convmv – converts filenames from one encoding to another

Для настоящео переименования (а не “тестового” вывода того, что получится в итоге) – использовать параметр – -notest:

– -notest
Needed to actually rename the files. By default convmv will just print what it wants to do.

Спасибо http://pmenshikov.ru/ .

xfreerdp

Wednesday, July 4th, 2012

#!/bin/sh
xfreerdp -u LOGIN -d DOMAIN_NAME -a 32 -z -g 1900×1000 -k 0x00000409 —plugin cliprdr —plugin rdpsnd —plugin rdpdr —data disk:${USERNAME}:${HOME} —plugin rdpdr —data printer — server.example.com

#!/bin/sh
xfreerdp -u LOGIN -d DOMAIN_NAME -a 32 -z -g 1900×1000 -k 0x00000409 —plugin cliprdr —plugin rdpsnd —plugin rdpdr —data disk:${USERNAME}:${HOME} —plugin rdpdr —data printer — server.example.com

Видео .ogv -> .avi

Wednesday, July 4th, 2012

Маленькая памятка о перекодировании видео из формата .ogv в .avi. Делалось в Ubuntu 10.04 LTS.

Нужен пакет mencoder.

mencoder -idx <имя_файла>.ogv -ovc lavc -oac mp3lame -o <имя_файла>.avi

CPU Scaling: Slackware, Zenwalk

Wednesday, July 4th, 2012

1. В Zenwalk устанавливаем 2 пакета:

  • cpugreq
  • cpufrequtils.

Далее все сводится к ручной/автоматизированной загрузке нужного модуля:

alexey[~]$ /sbin/modprobe -l | grep cpufreq_
kernel/drivers/cpufreq/cpufreq_stats.ko
kernel/drivers/cpufreq/cpufreq_powersave.ko
kernel/drivers/cpufreq/cpufreq_userspace.ko
kernel/drivers/cpufreq/cpufreq_ondemand.ko
kernel/drivers/cpufreq/cpufreq_conservative.ko

… потом играемся с опциями cpufreq-set – выставляем желаемый governor (-g )и частоту (-f) CPU, чем добиваемся требуемого результата.

Вероятно, того же можно добиться правкой rc.cpufreq и rc.cpufreq.conf в каталоге /etc/rc.d, однако я эти файлы не трогал.


2. В Slackware устанавливаем пакет

  • cpufrequtils,

затем правим /etc/rc.d/rc.modules<..здесь_может_быть_версия_ядра..>.

В Slackware опции по CPU-scaling по дефолту находятся именно тут. Так что не будем ничего менять и изобреть велосипед.

PS: на высокую информативность не претендует. Так, заметка на память.