Tag Archive for 'freebsd'

Какую оболочку вы используете? А раскрашиваете?

Решил сделать небольшой опрос :)))

Какую оболочку вы испольузете при работе — sh, bash, tcsh, zsh, что-то другое?

Со стандартными установками или раскрашиваете зверски? :)

А для рута и для обыкновенного пользователя у вас один и тотже shell или ставите разные?

Про себя могу сказать - у меня стоит tcsh с профайлом на килобайт 5 ;) и еще с дополнительным файлом auto-completition килобайтиков эдак на 42 - но его писал не я, он есть в сети (для разных оболочек).

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

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Shell: Как пронумеровать строчки в файле?

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

Не нужно для этого запускать perl или какие-то тяжелые утилиты, можно обойтись просто awk.

Нумерация строк в файле

awk '{print NR " " $0 }' имя_файла > куда_сохранять

NR - это переменная awk, указывающая на номер строки в этом файле.

Как пример, получается такой результат:

1 Linux aldan 2.6.27-14-generic #1 SMP Wed Apr 15 19:29:46 UTC 2009 x86_64
2
3 The programs included with the Ubuntu system are free software;
4 the exact distribution terms for each program are described in the
5 individual files in /usr/share/doc/*/copyright.
6
7 Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
8 applicable law.
9
10 To access official Ubuntu documentation, please visit:

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: Что такое WITHOUT_X11 ?

Если у вас чисто серверная инсталяция системы, то перед тем, как собирать какие-либо порты, откройте файл

/etc/make.conf

и добавьте в него строку -

WITHOUT_X11=YES

Это запретит сборку каких-либо графических интерфейсов, связаных с xorg или X Window System.

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Веб сервер apache - теория протокола http и “как работает web сервер?”

30 апреля я проведу открытый онлайн каст для всех, кто интересуется веб-сервером apache:

Список тем по http серверу

  • Как вообще работает протокол HTTP? (tcp level, application level, requests/response, headers/body, GET, POST, CONNECT)
  • Как обрабатывает запросы apache? (tcp listen, select, request per children, keep-alive, max requests, dynamic content, cgi, fast cgi, modules)
  • Как работают cookies? (Set-Cookie, Cookie)
  • Как отлаживать работу веб-сервера? (telnet, lynx, tcpdump)
  • На что обращать внимание при установке и настройке apache сервера? (max_servers)
  • Настройка SSL в Apache (ssl configuration, ssl connection setup, limitations)
  • Что из себя представляют сертификаты SSL? Как они вообще работают и как их настраивать в apache? (ca, trust, sign request, certificate, key,  x509, pkcs12)

Ну и, естественно, будут ответы на ваши вопросы. Не забудьте прийти на вещание!

Запись этого курса я выкладывать не буду!

Где будет прямой эфир?

Вещание будет на сервере http://unixmastera.ru/ , а точнее

http://unixmastera.ru/content/vvedenie-v-http-i-apache-php-mysql-server

Когда будет прямой эфир по http/apache?

30 апреля, 20:00 по москве, в онлайн.

Приходите, участие в онлайн вещании абсолютно бесплатное!

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: Как закачать файл через ssh?

Если у вас есть доступ к FreeBSD машине через ssh, то вы можете просто копировать на нее файлы или скачивать.

Как скопировать файл НА сервер

scp имя_файла имя_пользователя@адрес_сервера:путь_к_директории

Используйте опцию -C (scp -C),  чтоб включить сжатие файла. Очень хорошо помогает при прокачке больших текстовых файлов.

Пример: “scp .vimrc remote: ” - скопирует .vimrc из текущей директории в корневую директорию пользователя с таким же именем на сервере remote .

Как скопировать файл С сервера

scp  имя_пользователя@адрес_сервера:путь_к_директории/имя_файла путь_к_локальной_директории_или_файлу

Пример: “scp  remote.example.ru:/usr/local/etc/apache2/httpd.conf ./ ” - скопирует httpd.conf  с удаленного сервера remote.example.ru в текущую директорию.

Как использовать команду sftp для перекачки файлов - об этом отдельно в следующий раз.

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Пошел бить собственный рекорд по MySQL

На данный момент база с которой я работаю имеет объем 16,749,867KB, в ней всего 4 таблицы, в которых суммарно 319,499,599 записей :) Самое веселое - это когда MySQL начинает между ними делать JOIN :)

До этого крупная база с которой я работал в production несколько лет назад - была объемом в 4Гб где-то и суммарно ~60 миллионов строк.

Опытным путем также установлено, что перловский класс BerkleyDB не принимает больше 500Мб кэш-памяти и, естественно, упирается в дисковую производительность при операциях с базой.

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Shell: Как задать несколько шаблонов в grep?

Альтернативные шаблоны в shell

Есть 2 варианта, которые сработает у вас - зависит от вашей оболочки

grep 'шаблон1|шаблон2|шаблон3'

или, может быть, сработает этот:

grep 'шаблон1\|шаблон2\|шаблон3'

Более подробно о шаблонах в shell можно узнать из курса ‘Регулярные выражения рулят!

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: Что такое ipfw и зачем его применять?

Что такое ipfw?

ipfw - это фильтр пакетов IP, который используется в FreeBSD. В данный момент ipfw уже вырос из просто фильтра пакетов и превратился в мощный сетевой инструмент для обеспечения безопасности.

Что он умеет делать?

  1. Как уже понятно из названия - фильтровать пакеты - часть пакетов пропускать, часть просто выкидывать.
  2. Фильтровать пакеты на разных уровнях - на канальном и на сетевом.
  3. Перенаправлять пакеты на другие хосты или в процессы, выполняющиеся на хосте (в частности, для NAT, для прозрачного кэширования или для тонкой настройки маршрутизации)
  4. Уничтожать пакеты и генерировать соответстувющий код ответа.
  5. Управлять полосой пропускания и распределением канала между разными запросами.
  6. Вводить ограничения по скорости для отдельных IP/протоколов/сетей.

Логически ipfw состоит из двух больших частей - фильтрация траффика (собственно ipfw) и управление скоростью/приоритетами (dummynet).

Зачем применяется ipfw?

  • Ограждать внутренюю сеть от внешних атак
  • Ограждать сервер от атак снаружи и изнутри
  • Четко контролировать доступ к сетевым ресурсам. Разрешать только санкционированый доступ и запрещать несакнционированый.
  • Предотвращать часть атак класса ‘отказ обслуживания’ (DoS).
  • Служит одним из слоев защиты сервера (защита на сетевом уровне).
  • Логгинг траффика - разрешенных и запрещенных пакетов.
  • Поддерживает трансляцию и преобразование запросов (при помощи посторонних программ)
  • Проверка целостности(состояния) запросов - вам не должны приходить ответы на запросы, которых вы не посылали.

Зачем применяется dummynet?

  • Ограничение скорости по отдельному сервису (скажем, для веб сервера).
  • Ограничение скорости по отдельному IP (не больше 64кбит для одного IP).
  • Ограничение скорость по сети (данному клиенту - не более такой-то полосы пропускания).
  • Эмуляция медленных каналов связи.
  • Эмуляция каналов связи с задержками.
  • Эмуляция каналов связи с потерями пакетов.

Наиболее распространеная ошибка при использовании ipfw!

Та-дамм. Естественно, удаленное администрирование ipfw. Если вы не предусмотрели механизмов автоматического отключения ipfw и загрузили неправильную конфигурацию - все, пишите письма. Только доступ к консоли вас спасет.

Поэтому после одного-двух раз наученые опытом администраторы уже заранее готовятся к сценарию, что они неправильно создали конфигурацию. Даже маленькая опечатка в одну букву может лишить вас … доступа.

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

Конечно, можно еще неправильно его сконфигурировать, но это уже совершенно другая история.

Тренинг по ipfw

Все в деталях о ipfw - в тренинге по ipfw/pf/NAT.
Записывайтесь сейчас, 28 апреля цена подымется до 4000 рублей!

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: Как настроить NAT маршрутизатор?

Запуск NAT во время загрузки

Просто добавьте в /etc/rc.conf следующие строчки:


firewall_enable="YES"
firewall_type="open"
gateway_enable="YES"
natd_enable="YES"
natd_interface="rl0

Вместо rl0 подставьте название интерфейса FreeBSD компьютера, который смотрит в интернет (а не в вашу локальную сеть!).

После этого просто перезагрузите компьютер (можно запустить все сервисы руками, но новичкам легче перезагрузить:). Обязательно имейте доступ к консоли, если у вас что-то вдруг не сработает.

Настройка других компьютеров в сети

На всех оставшихся компьютерах в сети нужно поставить в качестве Default Gateway IP адрес того интерфейса сервера, который смотрит в локальную сеть. В качестве DNS сервера ставьте DNS сервера провайдера.

Проверка работы firewall

ipfw show - найдите строчку приблизительно такого вида

divert natd ip4 from any to any via rl0

И запустите ipfw show пару раз, счетчики количества байт и пакетов в начале строки должны увеличиваться.

Проверка работы natd

Убедитесь, что natd благополучно запустился:

ps -ax | grep natd

должен вам вывести что-то типа

1321  ??  Is     0:10.60 /sbin/natd -n rl0

Это покажет, что процесс natd запустился и выполняется.

Как отлаживать NAT и ipfw - это отдельная история, об этом будет в Курсе по ipfw/pf/NAT через пару дней.

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: нет папки с портами /usr/ports

Скорее всего вы не поставили ее во время инсталяции, ну или просто стерли.

Создание базы портов /usr/ports

Самых простой способ ею обзавестись - это использовать команду portsnap

portsnap fetch extract

Она скачает файл с обновлениями (это около 60Mb) и распакует из него всю иерархию портов.

Обновление базы портов /usr/ports

Обновление делается тоже очень просто :

portsnap fetch update

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).