ifconfig

пятница, 8 мая 2009 г.

1. Просмотр настроек для сетевого интерфейса

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

# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:2D:32:3E:39:3B
inet addr:192.168.2.2 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::21d:92ff:fede:499b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:977839669 errors:0 dropped:1990 overruns:0 frame:0
TX packets:1116825094 errors:8 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2694625909 (2.5 GiB) TX bytes:4106931617 (3.8 GiB)
Interrupt:185 Base address:0xdc00

2. Отображение всех интерфейсов, включая отключенные

# ifconfig -a

3. Выключаем интерфейс

# ifconfig eth0 down

4. Запускаем интерфейс

# ifconfig eth0 up

5. Назначаем интерфейсу IP адрес

Назначим IP адрес 192.168.2.2 на интерфейс eth0.
# ifconfig eth0 192.168.2.2

Изменим сетевую маску на интерфейсе eth0.
# ifconfig eth0 netmask 255.255.255.0

Изменим бродкаст адрес для интерфейса eth0.
# ifconfig eth0 broadcast 192.168.2.255

Назначаем IP адрес, маску и бродкаст одной командой.
# ifconfig eth0 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255

6. Изменяем MTU

Для изменения Maximum transmission unit (MTU) на значение XX используем следующую команду..
# ifconfig eth0 mtu XX

7. Promiscuous mode

По умолчанию когда сетевая карта получает пакет, она проверяет адрес получателя. В случае если этот адрес отличен от назначенных ей адресов, пакет отбрасывается. В promiscuous mode, карта не отбрасывает данные пакеты. Вместо этого она принимает все пакеты, приходящие через интрефейс. Для установки данного режима требуются привелегии суперпользователя. Большинство сетевых мониторов и анализаторов используют данный режим для захвата пакетов и анализа сетевого трафика.

Следующуая команда переводи интерфейс в promiscuous mode.
# ifconfig eth0 promisc

Следующуая команда переводи интерфейс в нормальный режим.
# ifconfig eth0 -promisc

Apache: применяем изменения в конфиге без перезагрузки сервера

Выполните следующую команду:
# /etc/init.d/httpd reload

или
# apachectl -k graceful

Различие от нормального рестарта в том, что текущие открытые коннекты не будут сброшены.

Замораживаем сессию vi

Не сомневаюсь что вам иногда требуется, находясь в каком-либо конфиге, выполнить команду в шелле. Например найти название какого либо файла, или посмотреть страницу помощи?

Вместо того чтобы выходить из vi; выполнить необходимую команду и вернуться обратно, есть более замечательное решение, которые вы можете выполнить напрямую из сессии vi:
Введите":", затем введите "shell".

Вы окажетесь в обычном окне шелла, где можете использовать любые команды. Когда вам потребуется вернуться к сеансу vi, наберите команду "exit" и вы вернетесь к своему документу.

Метки Linux разделов

Отображаем текущие метки
Если вызвать команду e2label без параметров, вам будет выведена текущая метка устройства:
# e2label /dev/sda1

Пример вывода:
/boot

Устанавливаем новую метку
Если дополнительным аргументов указана новая метка, тогда команда e2label установит её вместо в качестве новой метки файловой системы. Метка в Ext2 может быть длиной до 16-ти символов. Если новая метка длиннее чем 16 символов, e2label усечет её и выдаст предупреждающее сообщение:
# e2label /dev/sdb2 stroage

Так же можно воспользоваться опцией -L в команде tune2fs:
# tune2fs -L usbstroage /dev/sdb2

mod_perl

среда, 6 мая 2009 г.

Setup mod_perl

# apt-get install libapache2-mod-perl2

# a2enmod perl

# /etc/init.d/apache2 restart

Now the module is installed, but we've not configured it in any way. The simplest way to see an overview of what is happening is to add the perl-status handler. Create the file /etc/apache2/conf.d/perl-status with the following contents:
 #
 # make status information available at
 # http://example.com/perl-status/
 #
 
  SetHandler perl-script
  PerlHandler +Apache2::Status
 


 #
 # But only from the local host, and our trusted
 # remote IP.
 #
 
  order deny,allow
  deny from all
  allow from 127.0.0.1
  allow from your.ip.address
 

Speeding up Perl CGI Scripts
Because mod_perl embeds a persistent copy of Perl inside the Apache webserver you can use this embedded copy of perl to run your existing perl-based CGI scripts faster. This speedup comes from avoiding the overhead of launching a new copy of the Perl interpreter when an incoming CGI request is to be handled, to get a more impressive speedup requires making changes to your script(s).

By default in Debian GNU/Linux system CGI-scripts are located in /usr/lib/cgi-bin - we can specify that Apache run these via mod_perl by making the following changes to our site configuration:

  PerlModule Apache::Registry
  Alias /cgi-bin/ /usr/lib/cgi-bin
 
  SetHandler perl-script
  PerlHandler Apache::Registry
  PerlSendHeader On
  Options +ExecCGI
 


Once you've done this, and reloaded the new configuration (by running "/etc/init.d/apache2 restart"), you find that your existing CGI scripts launch much more quickly!