Unix

Стояла задача: швидко замінити у 200 XML файлах стрічку «tbl_Offering» на «tbl_OfferingMovement». Ось як це можна зробити одним рядком Perl коду під Debian GNU/Linux (оригінал кожного файлу зберігається окремо з розширенням bak):

perl -i.bak -p -e 's/tbl_Offering/tbl_OfferingMovement/gi;' *

Поставив я у себе в мережі джабер і тепер хочу поділитися тим, як я це зробив, бо останнім часом питають про це буже часто! Отже, після кількох днів проб і тестів я обрав для себе Jabberd-1.4.3 (показав себе найбільш стабільним на даний момент), для ICQ транспорту — jit-1.1.6, усе збирав з портів під FreeBSD4.10-STABLE оновлених 28 серпня 2004 р. через CVSup

Доволі багато сплило часу з моменту написання мною статті про налаштування djbDNS. Сьогодні я вирішив сісти і написати щось подібне для поштового сервера. Звичайно, що це буде продукт того ж D. J. Bernstein — Qmail (http://www.qmail.org/). Що ж, у нас уже запущений DNS, усі деталі машини та використовуваних мною параметрі читайте в статті по djbDNS у рубриці МЕТА. Дана стаття базується на документі «Installing qmail under FreeBSD» Aaron Hill © 2001-2003, зокрема використано його скрипт запуску Qmail під FreeBSD. Менше слів! До роботи!

ВСТУП
Доволі часто для адміністратора, який лише починає своє знайомство з FreeBSD виникає необхідність налаштувати власний DNS. Хто пробував це робити знає яка це важка, трудомістка та клопітка праця… Разом з FreeBSD у Вас у системі обов’язково стоятиме одна з версій BIND (Berkeley Internet Name Domain). Можливо, що для гуру це не проблема, проте початківцю це далеко не легко!

Що таке DNS? DNS — це протокол, який перетворює імена в IP-адреси та навпаки. Наприклад, у відповідь на запит www.unix.lviv.ua ми отримаємо IP-адресу веб-серверу офіційного сайту відкритої Львівської групи користувачів Unix. Так само відбувається й зворотній процес. Запит IP-адреси машини, поверне ім’я хосту. Для того щоб система працювала не обов’язково мати працюючий DNS у себе на комп’ютері, їх достатньо існує в інтернеті, проте коли ми говоримо про мережу, то DNS нам знадобиться: чи для основного серверу нашого домену (який Ви використовуватимете), чи просто для кешування DNS-запитів, наприклад, браузерів.

Дана стаття не претендує стати підручником по DNS, таких існує достатньо і набагато більш фаховіше написаних! Я прагну лише допомогти в налаштуванні DNS для конкретних потреб на конкретному прикладі.

Як було сказано найбільш розповсюдженим DNS є BIND, проте не зважаючи на свою популярність, він таки залишається доволі болючим і дирявим місцем 🙂 Біда ще й у тім, що більшість проблем BIND криється в бібліотеках, більше відомих як libresolv та libbind, переповнення буферу та інші гадості — результат помилок у цих бібліотеках. Саме тому я використовую djbDNS. Він був написаний D. J. Bernstein. Як на мене його переваги очевидні — легка та швидка конфігурація, безпека, стабільність… Джеймсом Бернштейн замінив стандартну libresolv на власну, відому як djbdns client library. Відразу зауважу, що багато хто не долюблює його програм (djbdns, qmail, daemontools та ін.). Не заперечую, що він має свій особливий стиль програмування, який однак є доволі структурованим та цікавим.