id: Гость   вход   регистрация
текущее время 15:26 29/03/2024
Владелец: spinore (создано 24/06/2012 22:23), редакция от 26/05/2013 06:29 (автор: spinore) Печать
Категории: софт, анонимность, tor, операционные системы
создать
просмотр
редакции
ссылки

Настройка Tor-роутера под BSD (transparent Tor-proxy как anonymizing middlebox)


Пример, приведённый в официальном Tor-faq, на текущий момент не применим для OpenBSD PF из-за смены синтаксиса, и, на мой взгляд, содержит ряд неточностей. Ниже привожу пример настройки с дополнительным закручиванием гаек в PF. Цель — прозрачно выпускать несколько локальных подсетей в Tor, где каждая из них будет привязана к своему Tor-клиенту (в рассматриваемом примере две подсети).


Пусть выходной сетевой интерфейс — fxp0, а входные — vr0 и vr1. Тестировались только OpenBSD и NetBSD. При установке Tor из портов пользователь tor (_tor) и группа tor (_tor) создаются автоматически в NetBSD (OpenBSD). Далее с помощью vipw добавляем аналогичного юзера для второй подсети (достаточно сменить UID, сохранив ту же группу, имена пользователей для удобства можно упорядочить как, например, tor1 и tor2). Для tor-пользователей создаются конфигурационные файлы наподобие таких:

$ cat torrc_1 
SocksPort 9050 
SocksListenAddress 127.0.0.1 
RunAsDaemon 1
DataDirectory /tmp/tor_1
User tor1
AutomapHostsOnResolve 1
Log notice file /tmp/tor_1.log
VirtualAddrNetwork 10.192.0.0/10
TransPort 9060
DNSPort 5353
$ cat torrc_2 
SocksPort 8050 
SocksListenAddress 127.0.0.1 
RunAsDaemon 1
DataDirectory /tmp/tor_2
User tor2
AutomapHostsOnResolve 1
Log notice file /tmp/tor_2.log
VirtualAddrNetwork 172.16.0.0/12
TransPort 8060
DNSPort 5363
и кладутся в нужную директорию1. Автозапуск при загрузке системы делается прописыванием в /etc/rc.local строчек наподобие
/usr/local/bin/tor -f /path/to/torrc_1
/usr/local/bin/tor -f /path/to/torrc_2
для OpenBSD и
/usr/pkg/bin/tor -f /path/to/torrc_1
/usr/pkg/bin/tor -f /path/to/torrc_2
для NetBSD.

Вопреки сказанному в Tor-faq, прав на чтение /dev/pf достаточно не только для OpenBSD, но и для NetBSD, потому назначаем:
# chgrp tor /dev/pf
# chmod g=r /dev/pf
Нижеследущий конфиг был проверен на работоспособность в NetBSD 5.0.2, NetBSD 5.1 и OpenBSD 4.52:
# переменные:
in0  = "vr0"
IPin0 = "IP_НА_vr0"
net0 = "СЕТЬ_НА_vr0"
TransPort0 = "9060"
DnsPort0 = "5353"
 
in1  = "vr1"
IPin1 = "IP_НА_vr1"
net1 = "СЕТЬ_НА_vr1"
TransPort1 = "8060"
DnsPort1 = "5363"
 
out0  = "fxp0"
IPout0 = "IP_НА_fxp0"
 
lh  = "localhost"
tor_users = "{ tor1, tor2 }"
 
# опции по вкусу:
scrub all no-df random-id min-ttl 128
 
# редиректы:
rdr on $in0 inet proto tcp from $net0 to ! $IPin0             -> 127.0.0.1 port $TransPort0
rdr on $in0 inet proto udp from $net0 to ! $IPin0 port domain -> 127.0.0.1 port $DnsPort0
 
rdr on $in1 inet proto tcp from $net1 to ! $IPin1             -> 127.0.0.1 port $TransPort1
rdr on $in1 inet proto udp from $net1 to ! $IPin1 port domain -> 127.0.0.1 port $DnsPort1
 
# фильтрация:
block all
block in quick from any os NMAP
antispoof log quick for {$in0,$in1,$out0}
 
pass in  on $in0  inet proto tcp from $net0   to $lh port $TransPort0 user root
pass in  on $in0  inet proto udp from $net0   to $lh port $DnsPort0   user root
 
pass in  on $in1  inet proto tcp from $net1   to $lh port $TransPort1 user root
pass in  on $in1  inet proto udp from $net1   to $lh port $DnsPort1   user root
 
pass out on $out0 inet proto tcp from $IPout0 to any                  user $tor_users
 
block inet6 all
Выше строки
block all
block in quick from any os NMAP
antispoof log quick for {$in0,$in1,$out0}
можно заменить на
block return log (all)
и тогда сниффер
# tcpdump -i pflog0 -n -e action block
покажет все пакеты, блокируемые PF (полезно для отладки). Критерий actions поддерживается только в OpenBSD. Кроме того, ввиду правила "block all" блокирование nmap и антиспуфинг, возможно, избыточны3.

Такая же конфигурация на OpenBSD 4.8 с учётом смены синтаксиса PF выглядит так4:
# редиректы:
match in on $in0 inet proto tcp from $net0 to ! $IPin0             rdr-to 127.0.0.1 port $TransPort0
match in on $in0 inet proto udp from $net0 to ! $IPin0 port domain rdr-to 127.0.0.1 port $DnsPort0
 
match in on $in1 inet proto tcp from $net1 to ! $IPin1             rdr-to 127.0.0.1 port $TransPort1
match in on $in1 inet proto udp from $net1 to ! $IPin1 port domain rdr-to 127.0.0.1 port $DnsPort1
 
# фильтрация:
block all
block in quick from any os NMAP
antispoof quick for {$in0,$in1,$out0}
 
pass in  on $in0  inet proto tcp from $net0   to $lh port $TransPort0 user unknown
pass in  on $in0  inet proto udp from $net0   to $lh port $DnsPort0   user unknown
 
pass in  on $in1  inet proto tcp from $net1   to $lh port $TransPort1 user unknown
pass in  on $in1  inet proto udp from $net1   to $lh port $DnsPort1   user unknown
 
pass out on $out0 inet proto tcp from $IPout0 to any                  user $tor_users
block inet6 all
Данные конфиги PF разрешают выход в сеть исключительно Tor-клиентам. Чтобы разрешить что-то ещё (входящие по ssh, например) добавьте правила по вкусу.

Замечания:

  • Стоить отметить один важный феномен. Конфиг для старого синтаксиса PF (т.е. первый) работает для входящих только при опции user root, а для нового — только при user unknown5, при этом в описании опции user в man pf.conf ничего не менялось. Для работоспособности исходящих соединений tor нужно указывать user tor6, но и это не консистентно с документацией на PF, где чёрным по-белому указано, что при дропе привелегий владельцем сокета остаётся исходный пользователь (в нашем случае root, т.к. запуск из /etc/rc.local). Для входящих соединений, согласно документации, должен быть user unknown, если это — транслируемый траффик, либо пользователь, слушающий на заданном порту7. С этой точки зрения что должно быть на самом деле для pass in согласно букве документации вообще не ясно (траффик сначала перенаправляется rdr, а лишь затем передаётся на порт Tor. Если считать, что rdr не меняет критерий user, то по логике вещей для pass in должен стоять root [см. выше про дроп привелегий]).
  • В Tor-faq указан более короткий вариант правил (совмещает в себе и разрешение входящих и редирект), но я для большей контролируемости предпочитаю писать фильтрацию и трансляцию/перенаправления отдельно. Как мне представлялось (и как пишется во многих руководствах), пакет проходит фильтрацию до перенаправления и после. На практике стало понятно, что фильтрацию до перенаправления он не проходит, потому соответствующие правила из PF были изъяты3.

Указанная конфигурация легко заливается с помощью скрипта mklivecd на NetBSD LiveCD, что позволяет сделать бездисковый Tor-рутер из любого старого компьютера8. Конфиг будет работать и на одной сетевой с одним интерфейсом (надо будет для in0 и in1 указать тот же интерфейс).


P.S.: Конфигурацию с local redirection пока не настраивал, потому PF-аналог Linux-настройки привести не могу.



1Раздел /tmp целесообразно монтировать в память посредством mfs.
2В NetBSD 3.0 текущая версия Tor через pkgsrc собирается без поддержки прозрачной торификации (причины мне не известны), потому протестить не удалось.
3Если кто объяснит, где я не прав и как всё на самом деле, буду очень благодарен.
4Начало конфига до "опций" совпадает с предыдущим.
5Определялось экспериментально.
6Если вообще указывать опцию user, что в данной заметке делается по умолчанию.
7Например, user root для входящих pass in на ssh.
8Сколь-нибудь автоматизированных средств сборки OpenBSD LiveCD в сети не обнаружено, а все how-to написаны для довольно старых версий OpenBSD и не работают на 4.8 (ядро не влазит в отведённый размер boot при дискетоподобной системе загрузки LiveCD). Под FreeBSD есть средства автоматизированной сборки LiveCD, но я их не тестировал.


 
На страницу: 1, 2, 3, 4, 5, 6 След.
Комментарии [скрыть комментарии/форму]
— Гость (26/06/2012 16:51)   <#>
Ну покритикуйте ubuntu minimal.

Как мне туда софт поставить? Допустим, из pkgsrc я всегда могу поставить самую свежую версию Tor, которая будет слинкована со всеми теми библиотками, что нужно. Про пляски под убунту при инсталляции актуального бинаря Tor'а не наслышаны? Хорошо, один раз я установлю софт. А как его обновить? Из портов это делается легко, и потом так же переносится на LiveCD. В линуксах же без портов (за исключеним генты) легко не решается даже такая простая задача, как поставить последнюю версию прикладного софта. Многие хотят себе водрузить, например, дебиан, потом видят, что там в пакетах нет того, что нужно. Раз так, надо либо ставить unstable (а это опасно), либо с бубном вокруг бегать.

У меня есть хост с убунтой. Под релиз имеются пакеты (не путать с портами). И пока релиз не обновишь, пакеты тоже не обновить. Гибкость, можно сказать, нулевая (по сравнению с BSD).

для вас безопаность это крутая хакерская консолька некрофильской ОС на пыльном пеньке

Ещё один не осилил консоль.

Про группу openPGP я не зря упомянул. Большая часть уважаемых гуру почему-то предпочитает монструозный комбайн

Выборка из 5ти человек нерепрезентативна. Большая часть уважаемых грамотных гуру скорее бы вам сказала, что выбор ОС определяется наполовину «исторически сложившимися обстоятельствами», и наполовину — «постановкой задачи». Популярность Linux'а в первую очередь идёт из-за низкого порога вхождения (плюс ли это или минус — вопрос другой), а не из-за каких-то особых качеств Linux-системы. Ну и есть как задачи, которые на BSD трудно решать, так и задачи, применение для которых Linux'а — преумножение сущностей без необходимости. Нормальные линуксоиды, например, не стесняются ставить BSD на рутеры.

Re: Ping of Death в OpenBSD Packet Filter

Лучше список local root уязвимостей для Linux читайте, а про PoD в OpenBSD вы бы вообще не узнали, не перепости я эту новость с obsd.ru на лор.

Напоминаете аполегетов LISP, которые любят защищать свой язычок тем, что дескать он и в космос

Да, LISP — это лакмусовая бумажка. Если чел не понимает, в чём суть и смысл LISP'а (в MIT'е программированию учат на примере Scheme, а в России — борланд си, паскаль и бейсик; симптоматично), то с ним трудно о чём-то говорить. Кстати, нетривиально, что в OpenBSD в портах/пакетах активно поддерживаются самые последние версии функциональных языков (а там бутстреп нужен).

Порты есть.

Они неофициальные, со всеми отсюда вытекающими последствиями, типа качества поддержки.

Не нравится генту — компиляйте LFS и прикручивайте portage.

Чтобы гента была в актуальном поддерживаемом состоянии, надо постоянно красноглазить. Достаточно пол года позаниматься делом, а не красноглазием и фиксом гентушных портов/багов, как система превращается в нечто неподдерживаемое. Слова, опять же не мои, а всё тех же матёрых гентушников (и мой небольшой опыт работы с гентой тоже это подтверждает). В частности. именно поэтому народ обычно выбирает Debian, а не генту.

Ну а сравнивать LFS с установкой и настройкой BSD, что делается за пару часов (включая нужный прикладной софт и залитие на livecd) — это уже совсем не в тему.
— Гость (26/06/2012 18:21)   <#>
Про пляски под убунту при инсталляции актуального бинаря Tor'а не наслышаны?
Не наслышан. Ознакомьтесь.

легко не решается даже такая простая задача, как поставить последнюю версию прикладного софта
Не говорите о том, чего не знаете. Есть ebuilds в генту. Есть PKGBUILDs в арче. Есть ppa/third-party repositories в Ubuntu/Debian. Есть configure && make && checkinstall, что даст на выходе обычный пакет. Вариантов море.

У меня есть хост с убунтой.
Толку-то что есть, если вы даже простейшие вещи не знаете.

Ещё один не осилил консоль.
Куда уж мне, один только spinore мастер.

Большая часть уважаемых грамотных гуру скорее бы вам сказала, что выбор ОС определяется наполовину «исторически сложившимися обстоятельствами», и наполовину — «постановкой задачи».
Вы их спрашивали?

Популярность Linux'а в первую очередь идёт из-за низкого порога вхождения
Gentoo поставить проще NetBSD?

так и задачи, применение для которых Linux'а — преумножение сущностей без необходимости.
Как вы тактично про сущности. Сразу бы написали, что линукс — говно и ничего на нём не сделаешь, мастера консоли профессионалы выбирают BSD.

а про PoD в OpenBSD вы бы вообще не узнали, не перепости я эту новость с obsd.ru на лор
Один только spinore у нас в курсе всех новостей.

Если чел не понимает, в чём суть и смысл LISP'а
Святая простота толстота. spinore про функциональщину пошёл нести, не будучи программистом. Опять как со струнами нагуглили? Гугль это хорошо, но фундаментальные знания профессии таким образом вы не получите. Хватит максимум на форумный троллинг и то быстро раскусят.

Они неофициальные
Я имел ввиду систему Portage — это аналог бсдшных портов. Она, кстати, функциональнее BSD-шной будет — есть USE-флаги. Есть ещё AUR и PKGBUILDs в ArchLinux, тоже похоже.

Слова, опять же не мои
Если это те же, кто говорил про LiveCD, то, их слова не многого стоят.

Bleeding edge он и в Африке bleeding edge. Чем NetBSD менее красноглаза?
Ну а сравнивать LFS
Это возможность создать с нуля свой дистрибутив. Такой опции в BSD, насколько я знаю, нет.


Даже у Мердока FreeBSD, а не Net. Он, наверно, тоже консоль не осилил.
— Гость (26/06/2012 18:27)   <#>
P.S. Ваши данные слегка устарели. MIT вместо Scheme теперь использует Python для обучения.
— Гость (26/06/2012 19:57)   <#>
Про пляски под убунту при инсталляции актуального бинаря Tor'а не наслышаны?
Не наслышан. Ознакомьтесь.
Если Tor Project сделал простую инструкцию под какой-то дистр, то что с другим софтом? Например, privoxy или polipo. Или более свежая версия ssh. Если разработчик софта не предоставил способ установки, пиши пропало, жди, когда портируют. Да и как он его может предоставить (в общем случае)? Допустим, его версия софта требует таких-то новых версий библиотек, а этих версий в системе нет. Ставить с сорсов всё дерево зависимостей? Ну-ну, успехов. Тут ситуация простая: либо кто-то собрал пакет/порт под систему, либо нет.

Не говорите о том, чего не знаете. Есть ebuilds в генту.
Гента была сразу оговорена, как исключение. Не передёргивайте.

Есть PKGBUILDs в арче. Есть ppa/third-party repositories в Ubuntu/Debian.
Слово «third-party» ни на что не намекает? А я ведь специально об этом выше написал.

Есть configure && make && checkinstall
Установка с сорсов, в надежде, что магически autoconf сделает всё хорошо? Не аналог портов ни разу. Кажется, мысль вам должна быть понятна: нет порта (в смысле инструкций по сборке пакета) — нет и пакета.

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

Gentoo поставить проще NetBSD?
Так проблема не в установке, а в доводке до уровня комфортного использования со всем нужным софтом. Можно подумать, самая большая сложность — установить ОС. Судя по повальному увлечению гентушников к компиляции kde, что-то у них со скиллами явно не так, раз преимущества оконных менеджеров не видят.

Они неофициальные
Я имел ввиду систему Portage — это аналог бсдшных портов. Она, кстати, функциональнее BSD-шной будет — есть USE-флаги.
Я в курсе. Проблемы генты не в отсутствии портов, и это было оговорено. Покажите мне лучше порты для дебиана, федоры или убунты.

Ну а сравнивать LFS
Это возможность создать с нуля свой дистрибутив. Такой опции в BSD, насколько я знаю, нет.
Так о том и речь, что мы начали с лёгкого создания LiveCD под специализированну задачу, а вы предлагаете инструменты уровня «свой дистрибутив сделать».

Про остальное (типа LISP'а), вижу, вам ответить нечего, а показывать, что я могу в ответ покидаться говном не хуже вас, мне не интересно.
— Гость (26/06/2012 20:55)   <#>
Если разработчик софта не предоставил способ установки, пиши пропало, жди, когда портируют.
ppa/third-party repositories может сделать любой желающий, а не только разработчик софта. Ознакомьтесь.

Допустим, его версия софта требует таких-то новых версий библиотек, а этих версий в системе нет. Ставить с сорсов всё дерево зависимостей?
Да уж, у всех сколько времени всё работает, тут приходит spinore и говорит, что ничего работать не будет. Загляните на лаунчпад и посмотрите, сколько там всего.

Установка с сорсов, в надежде, что магически autoconf сделает всё хорошо?
Вы использовали checkinstall? Нет. А я — да. И всё работало.

Завязываться на сторонние репы
А что вы будете делать, если нужной версии порта не окажется? Или они у вас автоматически из libastral появляются? Не понимаю в чём проблема.

У генты есть overlays, у фри freshports. Суть всё та же — сторонние репы.
Так проблема не в установке, а в доводке
Ну и чем доводка вашей NetBSD сложнее генту?

Судя по повальному увлечению гентушников к компиляции kde
О как. Уже все гентушники кдешники. Опять кто-то вам сказал или на этот раз сами?

Покажите мне лучше порты для
А PKGBUILDs арчевые вы сознательно мимо ушей пропускаете? (С LiveCD тоже два раза повторять пришлось, пока не дошло. Есть повод задуматься по поводу усваимости информации.)

Вообще, странную вы позицию заняли. С одной стороны есть доступная только мастерам консоли NetBSD, с другой гента с недопортами (про остальные альтернативые вы не в курсе). Причём вначале NetBSD у вас оказалась сложнее по порогу вхождения, а затем почему-то гента стала красноглазее. И проблемы генты по сравнению с NetBSD так озвучены и не были, зато в Net у нас всегда автоматически есть весь последний софт (от мейнтейнеров дистрибутива с первоклассным аудитом) и никаких багов.
Про остальное (типа LISP'а), вижу, вам ответить нечего
Это вам ответить нечего, а ляпнуть что-то надо. А то как же, последнее слова не за вами, позор.


И вообще, чего вы ко своим портам привязались, не пойму. Больше BSD хвастаться нечем (и то в линуксе ещё лучше portage есть)? То, что вы хотите, называется Bleeding edge. Собрали майнтейнеры порт/пакет — будет вам последние версии софта. Не собрали — не будет или выкручивайтесь со сторонними репами/сами собирайте. В чём разница?
— Гость (26/06/2012 21:11)   <#>
Покажите мне лучше порты для дебиана, федоры или убунты.
Имелось в виду, не third-party.

Не менее толсто чем ваше «монструозный комбайн (типа Linux)».
Если сравнивать без холиваров, то есть задачи, инструменты, которыми они могут быть решены, и опыт пользователя с этими инструментами. Каждый оптимизирует задачу под себя. Если один софт умеет фичу, а другой нет, это ещё ничего не значит. Есть SQL и есть Oracle, но как-то глупло для простейшей БД выбирать такого монстра как Oracle. Точно так же глупо ставить MatLab со всеми тулбоксами, если от него нужен только калькулятор. Рутер с функционалом прозрачного проксирования (а ведь на нём потом ещё и софт обновлять время от времени надо) — очень простая частная задача, для неё не нужно 99.9% всего того, что есть в стандартных дистрах Linux. Да, можно через LFS собрать Tor-рутер (сами оцените расход по времени), можно наверно поставить убунту с кучей всего, и надеяться, что всё поганое успел отключить, а можно штатно установить NetBSD, где сразу нет ничего лишнего, и штатно залить её на CD. В современные линуксы понапихано такое количество автоматики, что её изучение не окупает себя. Система для подавляющего числа задач является overengeneered. Т.е. она делает гибче и удобней решение одно задачи ценой того, что сложнее сделать (и куча подводных каменей возникает) для тысяч других задач. Или ещё пример: система стартовых скриптов в убунте, где такая нетривиальная логика, что проще снести убунту, чем вникнуть во все тонкости того, когда, как и почему она запускает. В систему понапихано масса всего, начиная от CUPS-сервера и прочего, что запущено по умолчанию. Приходится долго искать, как это всё поотключать. Часто возникает желание снести, но это может поломать систему, т.к. почти никто не понимает что на что завязано. В BSD можно снести все порты и поставить заново — они отвязаны от базовой системы полностью, в Linux же снеся не тот пакет можно получить совершенно нерабочую систему. Есть много подводных камней, типа по умолчанию система запускает locate и потом пишет всё в /var. По умолчанию пользователя никто не будет извещать о том, что такие зловредные для безопасности сервисы запущены. Или взять ту же автоматику в Debian: команда apt-get install почему-то вместо install делает ещё и configure и run для софта. В чём логика? Юзерофильность изо всех ушей. Меня никто не спрашивает, хочу ли я запустить софт прям сейчас, открыть порты и т.д., причём в дефолтной конфигурации. Если пользователью привит хороший вкус через BSD, где почти всё подконтрольно, к таким казусам нелегко привыкнуть. Плюс к тому, проблема монструозных систем ещё и в том, что они постоянно развиваются, меняются, и трудно уследить за всеми нововведениями. Всегда есть большой риск, что критичная для безопасности фича не была замечена, и после апдейта получили дырявую систему. Инструкции под Linux в духе «как сделать его более безопасным» уже давно простируются на кучу страниц: где что поотключать, где что изменить в дефолтах. Изначальная же идеология же BSD другая: вам дают систему, где ничего нет, и вы сами, попутно разбираясь, доставляете всё, что нужно. Вот хочется того же, допустим, в генте с minimal install, но нельзя: там всё надо компилить с сорсов, всё остальное будет некошерно и на свой страх и риск. Обновить генту с пакетов не получится. Или начну с Debian minimal install: всё хорошо, только портов нет. А в BSD есть и то, и то, и всё это minimal. Народ к любому неудобству привыкает, но, особенно в контексте безопасности, как ни взвешу переход на Linux — всюду одни минусы. Вроде уже и опыт какой-то с линуксом есть, и iptables подучил, но всё равно, такого комфорта и подконтрольности, как в BSD, нету. Тема обсуждалась не только на уровне публичных холиваров, но и серьёзно, и всегда приходила к одному выводу: нет смысла менять шило на мыло. Хорошо знаешь Linux — нет большого смысла переходить на BSD, а если уже изучил BSD и всё, что нужно, работает, то нет никакого смысла менять её на Linux.
— Гость (26/06/2012 21:34)   <#>
Протоколом предписано использовать шрифт новые времена 12пт. Не нарушайте протоколов, юниксоиды.
— Гость (26/06/2012 22:08)   <#>
third-party repositories может сделать любой желающий, а не только разработчик софта.
Вопрос доверия это не решает. Если репы будут полностью независимы, это будет означать дубляж всего софта. Ну и зачем мне такое счастье? Я в курсе, что и portage, кажется, на BSD есть, и pkgsrc есть в Linux, но это остаётся кустарным решением на свой страх и риск. В той же фре и Open народ предпочитает ставить родные порты, хотя объективно pkgsrc более функционален (как система управления портами).

А что вы будете делать, если нужной версии порта не окажется?
Пинать мейнтейнера. Если проблема совсем глобальна, менять ОС. Порты настолько тесно связаны друг с другом, что если за их качеством совсем не следят, одному не потянуть их исправление. Те, кто разбирались с тем, почему не компилятся официальные порты, в дополнительных коментах не нуждаются.

Суть всё та же — сторонние репы.
Степень "сторонности" разная. И не путайте полностью альтернативное дерево портов и пакетов с дополнительными (полу)неофициальными портами, полностью завязанными на уже существующее дерево. Бывает, что порт (даже официальный) тянет слишком новые зависимости, для чего приходится обновлять и зависимости, но на те же зависимости завязан и другой софт, который, бывает, отказывается компилиться или работать с более новыми зависимостями. И чем неофициальнее порты, тем выше риск таких ситуаций.

Ну и чем доводка вашей NetBSD сложнее генту?
Захотел я поставить firefox — скачал предскомпиленный пакет и установил, и не надо мне компилировать его сутки и разбираться что и почему не компилится. Раза 3-4 в год разработчики выпускают предскомпилированное дерево пакетов под большинство архитектур. Остальной софт, которые для меня более важен, я могу доставить из портов. И всё это будет более-менее мирно сосуществовать (как софт с портов, так и с пакетов). Гента разве даст такой выбор? Там предскомпилированные порты (т.е. пакеты) вообще некошерное понятие.

О как. Уже все гентушники кдешники. Опять кто-то вам сказал или на этот раз сами?
Субъективное впечатление от огромной массы вопросов по компиляции kde в генту, помню ещё со времён лора. Может, теперь расклад поменялся.

А PKGBUILDs арчевые вы сознательно мимо ушей пропускаете?
С арчем незнаком. Из того, что говорили те, кто его рассматривал более детально, припоминается критика якобы сильной альтернативности с мейнстримом, в результате чего народ боится связываться. Возможно, субъективно.

Причём вначале NetBSD у вас оказалась сложнее по порогу вхождения, а затем почему-то гента стала красноглазее. И проблемы генты по сравнению с NetBSD так озвучены и не были, зато в Net у нас всегда автоматически есть весь последний софт (от мейнтейнеров дистрибутива с первоклассным аудитом) и никаких багов.
Всё озвучено, смотрите посты внимательней. Ни в коем случае не хочу сказать, что Net идеал, но pkgsrc обновляется достаточно оперативно. С ситуацией, когда в OpenBSD ports и в pkgsrc уже всё обновлено (достаточно скомпилить), а в Linux'овых дистрах нет ни свежих пакетов, ни ебилдов, сталкивался многократно. Да и другие на это же жаловались.

Про остальное (типа LISP'а), вижу, вам ответить нечего
Это вам ответить нечего, а ляпнуть что-то надо.
Простите, но про LISP вы первый начали.

Собрали майнтейнеры порт/пакет — будет вам последние версии софта. Не собрали — не будет или выкручивайтесь со сторонними репами/сами собирайте. В чём разница?
Разница в том, что официально порты есть подо все BSD, но только под какие-то дистры Linux. Если портов нет даже официально, глупо надеяться, что кто-то будет чесаться, если даже у portage (несмотря на относительную распространённость генты) проблем часто больше, чем у pkgsrc.

Больше BSD хвастаться нечем
Зачем чем-то хвастаться? Достаточно уметь эффективно решать свои нишевые задачи. У BSD есть официально поддерживаемый PF — высокоуровневый язык для написания правил. В Linux PF нету. Iptables фактически "ассемблер", где предлагается, что юзер будет сам писать скрипты-обёртки (читай, DSL) под свою задачу, что не очень-то удобно. Опции --owner для входящих пакетов нет (в отличие от PF), значит нельзя затянуть гайки на предмет того, от имени кого запущен процесс, слушающий на данном порту. Поддержки synproxy тоже нет. В обратную сторону всё лучше: lvm и dm портированы, полная поддержка Xen, полная бинарная совместимость с Linux, искаробочная поддержка проприетарного Linux-софта типа Mathematica и MatLab, гибкий способ работы с крипторазделами и отдельным хранением salt-файла (и пляски, как с LUKS, чтобы сделать его бессигнатурным, не нужны). Нет предела совершенству, но с учётом распространённости BSD для неё поддержка всего вышеозвученного — неплохой результат. Берём от балды какой-нибудь порт, хоть тот же Xen или Tor — вроде вполне актуальные версии, несмотя на ваше «использует полтора человека кроме меня».
— unknown (26/06/2012 22:14)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Это канал про аниме? Как настроить тор-рутер под OpenBSD?
— Гость (26/06/2012 22:15)   <#>
Гость (26/06/2012 21:11)
Читать один огромный абзац нереально, отвечу кратко.

У убунту тоже есть minimal cd, будет почти тот же дебиан.
С убунтовым upstart я особо не разбирался, но в использовании оно гораздо лучше и удобнее старинного sysvinit. А вообще, скоро везде systemd будет.
По-моему, наоборот, — правильно, что всё в системе управляется пакетным менеджером. Ведь системные пакеты тоже имеют свойство обновляться, а пересборка мира в BSD занятие не такое приятное, как apt-get upgrade. locate вроде можно не отмечать при установке.
По поводу лишних действий apt-get install: возможно. Мне самому apt гораздо меньше pacman'а нравится, который и быстрее, и проще, и нет дурацкий разбитий одного пакета на кучу -dev, -dbg, и лишнего особо ничего не делает. Но в целом это всё для удобства конечного пользователя.
В генте компилить, кстати, не обязательно, есть бинарные пакеты и даже целые дистрибутивы типо Calculate на их основе.

В целом, я бы посоветовал на ArchLinux посмотреть. Есть очень похожая на порты Arch Build System. Bleeding edge. Системный конфиг в /etc/rc.conf, демоны в /etc/rc.d/, почти вылитая BSD.
Возможно, и у BSD тоже какая-то область применения имеется, например, когда надо стабильный мир (систему), но софт весь свежий (в самом деле, я бы не рискнул арч на роутер ставить, скорее debian+внешние репы).
— Гость (26/06/2012 22:20)   <#>
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1364/cupsd
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1379/avahi-daemon: 
udp        0      0 0.0.0.0:54626           0.0.0.0:*                           1379/avahi-daemon:
Как отключить вот эти вещи в убунте (вывод netstat -apnl)? И не сломает ли мне это печать на принтере (машина — клиент принтера, а не сервер), если я снесу cups совсем? BSD же как-то живёт без авахи-демонов, запущенных по дефолту, и ничего.
— Гость (26/06/2012 22:37)   <#>
кто_мельче?
— Гость (26/06/2012 22:38)   <#>
маленький
— Гость (26/06/2012 22:43)   <#>
системные пакеты тоже имеют свойство обновляться, а пересборка мира в BSD занятие не такое приятное
Что правда, то правда. Причём с бинарными апдейтами там совсем туго (разве что ОС полностью переустанавливать). Видимо, народ предпочитает не обновлять базовую систему до выхода нового релиза, когда можно сделать бинарный update.

В целом, я бы посоветовал на ArchLinux посмотреть. Есть очень похожая на порты Arch Build System.
Спасибо. Посмотрю. Вообще, глобальные планы таковы, что завязываться на одну ОС стратегически неправильно: нужен Xen, куда в разные domU можно напихать как линуксов, так и BSD, причём работать это всё может одновременно.

когда надо стабильный мир (систему), но софт весь свежий
К примеру, в Tor-рутере надо сам Tor постоянно обновлять. Один раз всё настроить и не трогать не получится. Впрочем, в pkgsrc через make package всё делается легко.

Что касается apt-get, там ещё проблемы с удалением зависимых пакетов есть. Суть в том, что на этапе инсталляции почти все пакеты тянут друг друга как зависимости. Если потом какой-то из пакетов совершенно не нужен, при попытке его снести apt-get ставит ультиматум: либо ничего не сносить, либо снести и его и кучу нужного (с риском вообще всё угробить). В итоге приходится терпеть такой софт. Не могу точно вспомнить, как такое получается из-за зависимостей, но более опытные юзеры Debian наверняка сталкивались.

кто_мельче?
Мелкий шрифт — индикатор оффтопа. Т.е. чтобы посторонние, кто пришёл в ветку за полезной информацией, не пытались её искать среди серого/мелкого шрифта.
— Гость (26/06/2012 23:16)   <#>
Гость (26/06/2012 22:08)
Пинать мейнтейнера.
А причём здесь тогда NetBSD? В других системах майнтейнеров нет?

Степень "сторонности" разная.
В чём отличие PPA от freshports для конечного юзера? Мне плевать, что там и где дублируется. Я ввёл команду и всё установилось. И это работает на практике, можете мне поверить. Теоретически это может вызвать проблемы из-за обновления библиотек, новые версии которох не подходят для старых программ, но на деле различия в версиях некритичны и на той же Ubuntu 10.04 LTS я два года использовал весь новый софт, который был мне нужен, без единого бага.

Гента разве даст такой выбор?
Даёт. firefox-bin.

Там предскомпилированные порты (т.е. пакеты) вообще некошерное понятие.
Опять ваши фантазии. Для пакетов, которые компилить долго, наоборот, рекомендуется использовать бинарные репы.

Ваше «Популярность Linux'а в первую очередь идёт из-за низкого порога вхождения» так и осталость без обоснования, на нелогичность я вам уже намекнул.
Субъективное впечатление … лор
Понятно всё с вами.

С арчем незнаком. … припоминается критика
Ох. Вначале вы сказали, что нет ничего похожего, только вшивая гента, в которой и то не разбираетесь. Теперь признаётесь, что про арч даже не знали.

С ситуацией, когда в OpenBSD ports и в pkgsrc уже всё обновлено (достаточно скомпилить), а в Linux'овых дистрах нет ни свежих пакетов, ни ебилдов, сталкивался многократно.
Ну допустим я вам поверю, т.к. сам за самым свежим софтом особо не слежу. И сколько разница по времени будет между портом в NetBSD и ебилдом/пакетом в bleeding edge дистрибутиве? 6 часов, 12, день? Ни разу не критично.

Разница в том, что официально порты есть подо все BSD
Не понял, если честно.


Задело вас всё-таки сравнение с Linux, что вы и с PF, и с MatLab, и с Xen сразу забегали? Я всего-то спрашивал, в чём смысл портов, если их точно так же должен кто-то обновлять. С Linux'ом я вам даже начинать не буду, а то вам только после одного слова «железо» поплохеет.
Вообще, с вами дискутировать не интересно. Вы постоянно показываете незнание матчасти в тех областях, которые берётесь обсуждать, оправдываясь невнятными «мне так сказали».
На страницу: 1, 2, 3, 4, 5, 6 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3