Nobody about something

Считаем траффик во FreeBSD

Написано 8 сентября 2008 в 23:15 - Рубрики: *nix

Решил я завести у себя дома аналог статистики netflow для циски. То есть сбор данных о проходящих через сеть пакетах (откуда, куда, размер). Циски у меня нету, а статистику иметь охота.

Рассмотрим установку и эксплуатацию на FreeBSD 7.0
Читать полностью »

Настройка ziproxy на нескольких IP

Написано 1 сентября 2008 в 15:55 - Рубрики: *nix

Недавно встала нетривиальная задача.

Есть ziproxy. Есть сервер с несколькими IP. Ziproxy умеет слушать либо все IP, либо один избранный. В интернет при этом ziproxy ходит либо с основного IP на интерфейсе, либо со всех, указанных в настройках, но по очереди.

Встала задача сделать так, чтобы ziproxy проксировал запрос от того IP, с которого пришёл запрос. То есть чтобы, если коннектится кто-нибудь к определённому IP, то и запрос наружу тоже должен идти от этого IP.

Насколько я знаю, из прокси серверов так можно настроить squid и, вроде бы, 3proxy.

Но, во-первых, сквид – это нечто монстроподобное (я его боюсь :) ), а во-вторых, необходимо было всё-таки постараться сделать это через ziproxy.

Решение было найдено. Читать полностью »

Kopete антиспам

Написано 24 августа 2008 в 10:04 - Рубрики: *nix, my life

Что-то разошлись спаммеры в аське сегодня утром. За 10 минут около 20 сообщений прислали. Встроенных средств борьбы со спамом в kopete нету, и ещё недавно, не было и внешних. Но я на всякий случай погуглил и нашёл антиспам плагин.
Блог автора: Alno’s blog: C++, Java и Rails
Страница с последней версией плагина: http://blog.alno.name/2008/07/kopete-antispam-03/
Страница на Sourceforge: Kopete Antispam Plugin

Плагин работает по принципу “Вопрос/ответ”. То есть он каждому, кто отправляет сообщение и не находится в вашем контакт-листе, задаёт указанный вами вопрос. Только в случае получения правильного ответа, вам откроется окно сообщения и разговор может начаться.
Последняя версия плагина 0.3.

Для последней версии пока нету deb пакета для Kubuntu. Поэтому я немного поправил это упущение. Собрал пакетик через checkinstall. Правда пакет я собрал без зависимостей.

Скачать deb пакет для Kubuntu 8.04

Amarok 1.4.9 с багой, откат.

Написано 26 июля 2008 в 11:05 - Рубрики: *nix

В последней, на сегодняшний день, версии amarok есть одна бага. Вылазит не везде, но что дома, что на ноуте она вылезла.

Суть баги в следующем:

При включённом шуфле (случайный выбор композиции) при ручном переключении песни (Next Track), amarok подвисает на некоторое время: на ноуте на секунды 2, дома аж на секунд 15. Музыку он играть продолжает, но само окно висит и на следующий трэк в течении этого виса он не переклюает. Мне это надоело.

Дома, на десктопе, скачал исходники более старой версии (1.4.8), и собрал его там. На работе пересобирать лень было. Я поставил пакет alien. Эта программа переделывает rpm пакеты в deb. Дома я собирал через checkinstall, поэтому у меня был один жирный rpm пакет. Скопировал на ноут, переделал в deb. Воткнул (dpkg -i). Воткнулся он нормально, правда amarok ругался на нехватку рекоторых либ (сам пакет без зависимостей). Симлинки спасли его.

Теперь надо сделать, чтобы пакет не обновлялся собственно при апдейте системы.

На мандриве я использую Urpmi в качестве менеджера пакетов. Есть ещё Smart, но он очень сырой и часто падает. В urpmi заблокировать пакет очень просто:

Просто дописать имя пакета в /etc/urpmi/skip.list. Кстати, там можно и regexp использовать.

echo “amarok” >> /etc/urpmi/skip.list

В убунте оказалось сложнее. Для надёжности сделал сразу 2-мя способами.

  1. Поправил файлик /etc/apt/apt.conf.d/50unattended-upgrades.
    В неём в секции Unattended-Upgrade::Package-Blacklist добавил amarok
  2. Поставил пакету статус hold:

    echo “amarok hold” | sudo dpkg –set-selections

Теперь плеер работает нормально и не обновляется и дома и на работе.

Visto-unix

Написано 7 июля 2008 в 15:23 - Рубрики: *nix

Вот многие часто ругают винду (висту), за её самостоятельность и недоверие к пользователю. Последнее время часто в этом контексте упоминают убунту.

Но это всё фигня. Сегодня на один из компов ставился OpenSolaris (очень суровая unix система :) ). При установке он ничего не спросил про сеть.

После установки, при попытке зайти в конфигуратор сети (стоял Гном), он выругался, что включён автоконфигурятор этой самой сети. Хотя при установке его никто об этом не просил и он не спрашивал.

Нашёлся какой-то менеджер пакетов для этого Солариса. Только этот менеджер никак не хочет ставить пакеты без ответа на вопрос “вы точно хотите поставить пакет(ы)?”.

А вы говорите виста…

Апгрейд компа. Перенос системы.

Написано 1 июля 2008 в 12:45 - Рубрики: *nix, железо

Вот у меня и новый домашний компутер. Я полностью мигрировал на него.
Что нужно делать при полной смене начинки компа, если стоит винда? Правильно – переустанавливать заново. Потому что, даже если воткнуть старый винт, то кроме BSOD она ничего не покажет

Что нужно делать есть стоит Линукс? Правильно – просто вставить старый винт в новый комп и загрузиться с него

Всё работает. Теперь надо всё хозяйство перенести на новый винт

Как это делается (всё проводится на рабочей системе, безо всяких liveCD):

  1. Вначале, собственно, выделим разделы на винте. Разбить можно чем угодно. Разумеется, в KDE я разбил через QTParted. Я разбил так: вначале 30 гигов FAT32 (на всякий случай), 30 гигов для корня ( / ), 4 гига для свопа, 200 гигов для домашней диры ( /home ). В конце осталось около 30 гигов свободными. Буду использовать их для всяких тестов

  2. Изменим загрузчик. Честно, я не стал особо пытаться разобраться с командами grub и сделал всё через гуй мандривы

  3. Перенесём данные: переносить можно по всякому. Например tar`ить на старом винте, и рас`tar`ивать на новом. Но много геммороя. Лучше всего ИМХО сделать так:

    • Подмаунтим новые разделы. Например так:

      mkdir /mnt/new
      mkdir /mnt/new/main
      mkdir /mnt/new/home
      mount /dev/sda2 /mnt/new/main
      mount /dev/sda4 /mnt/new/home
    • Копируем данные

      cp -ax /* /mnt/new/main/
      cp -ax /home/* /mnt/new/home/

      Ключ x означает, что файлы, на других файловых системах не будут копироваться. То есть при копировании корня, раздел home, а также proc, dev и прочие, копироваться не будут.

      Ключ a сохраняет все атрибуты файлов, владельца, права, дату изменения и т.п. В том числе копирует симлинки и хардлинки именно как симлинки и хардлинки, а не файлы.

  4. Поправим fstab на новом винте: vim /mnt/new/main/etc/fstab

  5. Перезагружаемся. В биосе выставляем приоритет винтов, чтобы основным был новый.

  6. Проверяем с какого винта загрузились df

Динамический шейпинг во FreeBSD на основе PF

Написано 29 июня 2008 в 21:18 - Рубрики: *nix

Как и обещал, расскажу об устройстве собственно NAT`а на шлюзе. Но не простого NAT`а, а ещё и с шейпингом. Но не с простым шейпингом, а динамическим. То есть, при отсутствии активности одного из компутеров в интернете, весь канал будет отдаваться другим.
Читать полностью »

Глюки IDE DVD через jmicron

Написано 23 июня 2008 в 10:13 - Рубрики: *nix, железо

Купил новый комп. Доволен как фиг знает кто.
Вот за что я люблю линукс, так за то, что ничего не надо переставлять из системы. Воткнул винт и всё.

Нарадоваться не мог – всё летает. Вот только раз в 2 минуты комп что-то подзависал на секунду. А раз в час выдавал авторан, что вставлен Audio CD ([хотя привод пустой).

Полез разбираться. В /var/log/messages было вот такое.

Jun 22 05:19:50 tuupic kernel: ide: failed opcode was: unknown
Jun 22 05:19:50 tuupic kernel: hdb: drive not ready for command
Jun 22 05:19:50 tuupic kernel: hdb: status error: status=0×58 { DriveReady SeekComplete DataRequest
}
Jun 22 05:19:50 tuupic kernel: ide: failed opcode was: unknown
Jun 22 05:19:50 tuupic kernel: hdb: drive not ready for command
Jun 22 05:19:50 tuupic kernel: hdb: status error: status=0×58 { DriveReady SeekComplete DataRequest
}
Jun 22 05:19:50 tuupic kernel: ide: failed opcode was: unknown
Jun 22 05:19:50 tuupic kernel: hdb: drive not ready for command
Jun 22 05:21:04 tuupic kernel: hdb: cdrom_pc_intr: The drive appears confused (ireason = 0×01). Tryi
ng to recover by ending request.
Jun 22 05:22:50 tuupic kernel: cdrom_pc_intr, write: dev hdb: type=d, flags=1088

dmesg | tail тоже выдавал кучу ошибок.
Погуглил на тему этих ошибок. На англоязычном мандривовском форуме нашёл ответ.

Связано это с контроллером jmicron, через который производители реализуют IDE на своих материнках на intel чипсетах. Так как intel убрал из своих южных мостов поддержку IDE ещё с чипсета i965 (южный мост ICH8).

Вообщем, лечится так. Удаляется файлик /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/ide/pci/jmicron.ko.gz. После этого надо сделать новый initrd (приблизительно так: mkinitrd /boot/initrd-2.6.24.5-desktop-2mnb.img 2.6.24.5-desktop-2mnb).
Этим мы убрали глючный модуль. Но ведь, так у нас вообще привод работать не будет. Чтобы IDE всё-таки заработал, делаем echo “pata_jmicron” >> /etc/modprobe.preload (как вариант, можно добавить в rc.local строку modprobe pata_jmicron)
Ребутимся. Всё – теперь IDE DVD привод работает нормально.

Причины глюка для меня остаются пока загадкой. Сборка ядра мандривы это такая кривая (кстати в ALT Linux тоже встречается), или это ошибка в самом коде ядра. Но эспериментировать с пересборкой ядра мне откровенно лень. Работает, да и ладно.

p.s. остаётся открытым вопрос, “а будут ли после этого работать SATA порты с этого контроллера”. Но для меня это вопрос риторический, так как 4-х SATA портов с южного моста ICH9 мне хватает за глаза.

p.p.s. Позже, как обживусь, буду разгонять. Но пока только проц, так как nvclock пока не умеет работать с видеокартами 9-й серии

Клавиатура с подсветкой.

Написано 21 июня 2008 в 1:04 - Рубрики: *nix, железо

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

На форуме убунты прочёл подсказку.

Решил проблему так:

  1. Убрал из конфига иксов вот это:

    grp_led:scroll,

  2. Перезапустил иксы. При переключении раскладки не светится. Теперь как заставить светиться когда мне надо :)
  3. Так как подсветка привязана к несуществующей лампочке, то включается свет так:

    xset led 3

    А выключается так:

    xset -led 3

  4. Осталось это забиндить на клавиши. Я сделал по совету в той теме.
    Установил пакет xbindkeys
    Для дебиан систем есть пакет xbindkeys-config. Для rpm его надо самому из исходников собрать.Ссылку не дам – гугл в помощь.
    Через этот xbindkeys-config настроил включение на Ctrl+Win+”+”, а выключение на Ctrl+Win+”-”
  5. Добавил собственно xbindkeys в автостарт.

    ln -s /usr/bin/xbindkeys ~/.kde/Autostart/

  6. Радуюсь свету :)

P.S.Без иксов всё нормально работает по дефолтному scroll-lock.

P.P.S. Информация неактуальна. В настоящее время всё переделано по-другому

Шлюз на FreeBSD

Написано 18 июня 2008 в 16:13 - Рубрики: *nix

Для начала, для чего он нужен и что должен уметь

  1. Раздача интернета. То есть нат
  2. Наиболее простой способ подключения компутера к сети. Без запоминания или ручного ввода каких-либо параметров. Короче DHCP сервер
  3. Уменьшить задержку на DNS, а заодно и скрыть от юзера адреса DNS провайдера. Короче кэширующий DNS сервер.

Читать полностью »