[linux] SO_SNDLOWAT мы не умеем?
think:/tmp:|>./sndlowat-test
Send low water mark is 2048
Send low water mark is 16384
Linux 2.4.25-1-686 Tue Feb 24 10:55:59 EST 2004 i686 GNU/Linux
banana% ./sndlowat-test
Send low water mark is 1
sndlowat-test: Error from setsockopt: Protocol not available
дефолтное значение кстати далеко не оптимально
/* We implement the SO_SNDLOWAT etc to
not be settable (1003.1g 5.3) */
default:
ret = -ENOPROTOOPT;
break;
похоже на то
Specify the minimum number of bytes in the buffer until the socket layer will pass the data to the protocol (SO_SNDLOWAT) or the user on receiving (SO_RCVLOWAT). These two values are not changeable in Linux and their argument size is always fixed to 1 byte. getsockopt is able to read them; setsockopt will always return ENOPROTOOPT.
взято из man 7 socket
Хорошо. Тогда вопрос: нужно записать в сокет 16К данных без блокирования в write. Я это делаю так: повышаю SNDLOWAT, делаю select. Если сокет writable, то записываю. Значит под Linux так низзя. Как можно под Linux?
Пока вижу еще два способа: SO_SNDTIMEO или делать себе alarm перед write. Последнее считаю извратом. Попрубоем первое.
Делай стандартным образом, через O_NONBLOCK.
Без O_NONBLOCK никто не сможет гарантировать, что write не заблокируется.
SNDTIMEO может. Это та же фигня, только с определенным таймаутом. Кстати, вчера он мне такую же ошибку возвращал. Я тогда подумал, что накосячил где-то. Сейчас есть ощущение, что виноват Linux. Проверим.
Но для non-blocking i/o придумали О_NONBLOCK
Ура-ура. Я ждал этого ответа. В Линуксе этого нет потому, что это извращение. Как же я сразу не догадался?
Оффтопик: почему бзд-юзеры так любят искать огрехи в linux? У них что-то с собственной неполноценностью? Или что? Даже тут ты ни при чём, я знаю достаточно много примеров.
SO_RCVTIMEO and SO_SNDTIMEOЗаебца. Линус считает что это тоже извращение. В качестве альтернативы рекомендуется другое, реальное извращение. Интересно, а в тредах мне тоже с сигналами играться?
Specify the sending or receiving timeouts until reporting an error.
They are fixed to a protocol specific setting in Linux and cannot be
read or written. Their functionality can be emulated using alarm(2) or
setitimer(2).
Потому, что когда они попадают в Linux environment, и находят херню, то не могут промолчать. Linux юзеры либо не попадают в BSD environment никогда, либо попадают, но не находят огрехов. Ты же не думаешь, что я себе поставил Linux что бы искать в нем огрехи? Просто я вынужден с ним работать.
ставлю 5 к одному: сейчас в этом треде начнется holy war, если нужные люди дочитают до поста .
#define SO_LINGER 13
#define SO_BSDCOMPAT 14
/* To add :#define SO_REUSEPORT 15 */
#define SO_PASSCRED 16
#define SO_PEERCRED 17
, это я специально нашел
как обойти?
В libc_r или в libthr и в libpthread?
это всё user-space треды?
Рекомендую все таки запустить ldd, что бы не было "скорее всего". libpthread это ядреная m:n.
оказалось libc_r.so.4
Это EOL библиотека. Если ты пишешь тредовые приложения, то следует переходить на CURRENT, например на 5.2.1-RELEASE.
проблема в том, что прога на 4.x обязана запускаться
Что мешает перейти на 5.2.1? Ну или ищи этот лимит в исходниках libc_r.
Вааааще не понял: каким боком это относится к этому треду?
Sorry
1) Можешь просмотреть дыры в Linux за последние три года. Вот непосредственно вчера нашлось local root vulnerability.
2) Кстати, сколько ты в своей жизни видел машин с включенным telnetd?
3) Ошибка в legacy коде от 4.3BSD, а не в коде написанном FreeBSD. Только не говори, что в Linux нет legacy кода от BSD.
Так что на этот раз, ты не ту ссылку дал. Если бы я был своим оппонентом, я бы нашел другую.
P.S. Почему-то и в качестве аргументов в споре используют "а вот в BSD ...", хотя к сабжу это не имеет отношения. Учитесь конструктивному флейму, например у .
Linux юзеры либо не попадают в BSD environment никогда, либо попадают, но не находят огрехов
программа совсем не для внутреннего использования
Запаса прочности у FreeBSD мало.
программа совсем не для внутреннего использования
Не понял. Если ты делаешь программу для человечества, то не стоит привязываться к ветке, которая будет закрыта в этом году. Я могу понять если корпоративный стандарт FreeBSD 4.9 и апгрейд не предвидится.
Не говоря уж о том, что 2.0.x Linux ядра суппортятся до сих пор...
а вот смысл остальной части твоего высказывания от меня ускользает, при чём здесь человечество?
но в 90% cлучаев у меня, просто к сожалению, нет времени копаться в исходнике, для решения тривиальных задач по меркам Linux, применяя методы мат. моделирования и хакерской логики, чуть-чуть отступили от Handbooka, потребовалось решить нетривиальную задачу или есть не совсем стандартное по меркам FreeBSD железо-приехали.
Запаса прочности у FreeBSD мало.
Киря, ты как всегда произнес кучу пышных фраз. Но я не вижу примеров, ссылок и прочего. Такими способами можно что-то рекламировать, например, "инет Кири", что у тебя удачно получается. Но такими способами нельзя обсуждать технические вопросы. Ты говоришь что не любишь читать исходники, применять методы матмоделирования и хакерской логики. Тогда ты больше похож на sales person, чем на системного архитектора.
Не говоря уж о том, что 2.0.x Linux ядра суппортятся до сих пор...Какой-то перец, не имеющий никакого отношения к разработчикам Linux продолжает выпускать патчи к 2.0.x.
То есть на приложение делается на продажу?
да, разумеется
Применять методы матмоделирования и хакерской логики меня заставляет идеология Freebsd, за примерами далеко ходить не буду:
==========================================================================
* Forwarded by Kirill Yushkov <parkline.ru>
* Newsgroup: fido7.ru.unix.bsd
* From: "Kirill Yushkov" <kirya.ru>
* Date: Thu, 22 Apr 2004 11:03:42 +0000 (UTC)
* To: Gleb Smirnoff
* Subj: Re: Какой фаерволл справиться или что посоветуете ?
==========================================================================
Hello, Gleb!
You wrote to "Kirill Yushkov" <kirya.ru> on Wed, 21 Apr 2004 15:51:12
+0000 (UTC):
GS> Kirill Yushkov <kirya.ru> wrote:
KY>> Есть список сетей, ~1500 префиксов, нужно зашейпить все, кроме них, по
KY>> исходящему трафику, поток 20-30 mbit. После добавления всех этих сетей
KY>> в правила ipfw начинаются дикие тормоза, т.е видно, что не
KY>> хватает производительности на таком потоке. Машинка Celeron (p4 based)
KY>> 1700+256 ram. Freebsd 5.2 Что посоветуете ?
GS> Что значит "добавление в ipfw"? Как выглядят конкретные правила?
GS> Включен ли polling?
GS> Убраны ли из ядра всякие debug опции, которые существенно снижают
GS> производительность и в CURRENT есть по умолчанию?
00300 allow ip from xxx.xxx.xxx.xxx to 193.111.76.0/23
00300 allow ip from 193.111.76.0/23 to xxx.xxx.xxx.xxx
00300 allow ip from xxx.xxx.xxx.xxx to 193.111.91.0/24
00300 allow ip from 193.111.91.0/24 to xxx.xxx.xxx.xxx
.................
00500 pipe 1 ip from any to 217.16.26.42
Где, xxx.xxx.xxx.xxx мой адрес.
polling включен.
Загрузки на сетевушку не чувствуются.
Debug отключены.
HZ=1200
Загрузка под system 50%, а мне там еще ресурсы нужны, не дело тратить такие
мощности на firewall...
GS> P.S. firewall справиТСя, Киря, справиТСя
Не особо...
GS> P.S. А почему не linux ?
Был бы linux, сюда б не писал... .
With best regards, Kirill Yushkov. E-mail: kirya.ru
==========================================================================
* Forwarded by Kirill Yushkov <parkline.ru>
* Newsgroup: fido7.ru.unix.bsd
* From: "Kirill Yushkov" <kirya.ru>
* Date: Thu, 22 Apr 2004 11:10:56 +0000 (UTC)
* To: Anatoly Mashanov
* Subj: Re: Какой фаерволл справиться или что посоветуете ?
==========================================================================
Hello, Anatoly!
You wrote to Kirill Yushkov on Thu, 22 Apr 2004 17:39:02 +0400:
KY>> Есть список сетей, ~1500 префиксов, нужно зашейпить все, кроме них, по
KY>> исходящему трафику, поток 20-30 mbit. После добавления всех этих сетей
KY>> в правила ipfw начинаются дикие тормоза, т.е видно, что не
KY>> хватает производительности на таком потоке. Машинка Celeron (p4 based)
KY>> 1700+256 ram. Freebsd 5.2 Что посоветуете ?
AM> Поделить префиксы на две части - от 0.0.0.0 до 127.255.255.255 и от
AM> 128.0.0.0 до 255.255.255.255 и первым же оператором поставить skipto и
AM> перейти на соответствующую часть списка. При этом быстродействие
AM> вырастет вдвое (минус быстроедйствие первого skipto). Применяя метод
AM> фрактально к полученным половинкам, получим ускорение почти вдвое на
AM> каждую половинку.
Thx, сейчас попробуем, это мысль.
With best regards, Kirill Yushkov. E-mail: kirya.ru
А то, что параметр HZ пришлось реально подбирать методами мат моделирования, поверишь, или пошагово описывать ?
Как включался polling на realteke-это вообще песня, но встроена она в одноюнитывый сервак, мне из-за этого, или винт надо снимать, или с ней дальше было разбираться...
Если твое приложение будет действительно полезным и ценным, то покупатели будут ставить его на рекомендуемую тобой платформу и ОС. Что бы ощутить сущность последнего высказывания, рекомендую почитать http://mx.ru/Lists/CGatePro/List.html. Письма от Бутенко за 1 - 15 апреля.
Changelog почитай 2.0.40, там конкретно написано, кто и что делал, и кто разработчики.
По ссылке Sorry, the Server failed to retrieve the requested data.
все мои посты к
Linux юзеры либо не попадают в BSD environment никогда, либо попадают, но не находят огреховвозможно, перехожу на личности, но утверждение, имхо, не конструктивное
Ещё как находят
Только что толку специально заводить треды об этом, да ещё на _этом_ форуме.
Лучше уж разработчикам написать, но ещё проще поставить таки Linux и не мучиться
Не того ты ждал.
Сама возможность - не извращение, а по-видимому, какая-то настройка для повышения производительности,
но имеющая смысл только в конкретной реализации.
Вот использовать эту возможность не по назначению, когда есть стандартный, переносимый, проверенный O_NONBLOCK - извращение.
А то, что параметр HZ пришлось реально подбирать методами мат моделирования, поверишь, или пошагово описывать?Конечно поверю. Если бы в linux был polling, то для HZ была бы заебатая константа, и тебе бы не пришлось ничего подбирать. Так сказать, mandatory default. Linux изобилует mandatory defaults. Вернемся к сабжу - у линукса для опций SO_SNDLOWAT и SO_RCVLOWAT есть заебатый дефолт - 1 и изменить его нельзя.
Как включался polling на realteke-это вообще песня, но встроена она в одноюнитывый сервак, мне из-за этого, или винт надо снимать, или с ней дальше было разбираться...Поддержке polling на rl - 1 неделя. Либо ты Киря ошибаешься, либо ты действительно поставил the very CURRENT и включил polling на rl. Так вот поллинг на rl сливает из-за ограничений в чипе RL81xx. Его transmission буфер говно:
The RealTek controllers use bus master DMA but do not use a descriptor-
based data transfer mechanism. The receiver uses a single fixed size
ring buffer from which packets must be copied into mbufs. For transmis-
sion, there are only four outbound packet address registers which require
all outgoing packets to be stored as contiguous buffers. Furthermore,
outbound packet buffers must be longword aligned or else transmission
will fail.
поэтому поллинг на нём лучше не включать, особенно в свете того, что коду одна неделя от роду.
Поэтому нечего удивляться, что у тебя тормозит. Нужно просто поставить нормальную сетевую карту. Я же не жалуюсь, что у меня Linux тормозит на Celeron 300.
P.S. Я конечно понимаю, что NNTP очень старый протокол (c) , но все таки предлагаю продолжить дискуссию в ru.unix.bsd, т.к. там много квалифицированных людей, которые могут тебе помочь. Только сначала смени сетевую карту.
Changelog почитай 2.0.40, там конкретно написано, кто и что делал, и кто разработчики.
Там написано (me). А где RELNOTES?
ps.А может и нет, "фрактальное разбиение" реально помогает. Пока этого достаточно.
> Linux юзеры либо не попадают в BSD environment никогда, либо попадают, но не находят огрехов
возможно, перехожу на личности, но утверждение, имхо, не конструктивное
Признаю, что это неверное высказывание предназначенное для разжигания holy war
Вот Савкин говорит, что замалчивает огрехи. На самом деле большинство его претензий к сильным различиям в идеологии роутинга и сетевых настроек. Возможно, к отсутствию какой-то функциональности. Последнее я бы не стал называть огрехами. Этот тред начался с того, что не поддерживаются стандартные опции, которым уже много лет. Я не завожу тред, когда нахожу отсутствие фичи в Linux, которая есть в FreeBSD.
Во-вторых, как уже правильно заметили, неблокирующий режим легко реализуется на неблокирующих сокетах (либо же асинхронность достигается введением отдельной нити).
В-третьх, как опять же правильно заметили, даже при наличии watermarks никто не обещает, что ты их можешь делать какими тебе заблагорассудится (воспринимай, что в Linux максимум и минимум - по единице).
В-четвертых, надо почитать любую приличную книгу по сетевому программированию и вводу-выводу и потом уже что-либо писать. В Linux очень прозрачный сетевой стек и есть очень много что можно сделать, чего нельзя сделать у других (например, TCP_INFO но некоторых вещей сделать нельзя. При хорошем же стиле программирования это не играет никакой роли.
Вообще, не нужно ковырять сетевые опции без большой на то надобности.
Смена сетевой карты обходиться в выкидывания одного винчестера, реально уж лучше Linux поставить.Не понял. Каким боком тут винчестер?
В ньюсах ты так и не ответил на вопрос "почему не линукс?"
P.S. обходиТСя, Киря, обходиТСя
Почему не линукс, потому что, тяжело это машину снять просто.
Во-первых, писать в блокирующем режиме какие-либо данные в TCP сокет именно целым куском не имеет никакого смысла (пока не отключен алгоритм Нагла что следует из самой сути TCP, так что исходная постановка задачи не имеет смысла.Я не согласен с этим утверждением. Если кусок данных больше MSS, я могу быть уверен что их часть будет отправлена, даже при включенном Нэйгле.
И про постановку задачи написано нигде не было.
Во-вторых, как уже правильно заметили, неблокирующий режим легко реализуется на неблокирующих сокетах (либо же асинхронность достигается введением отдельной нити).
Именно так я сделал. Других вариантов Линукс не оставляет.
В-третьх, как опять же правильно заметили, даже при наличии watermarks никто не обещает, что ты их можешь делать какими тебе заблагорассудится (воспринимай, что в Linux максимум и минимум - по единице).
Этого никто не сказал. Хотя я прочитал в POSIX что возможность их менять не является обязательной. Так же как и таймауты. Это спасает Linux от полного позора. Однако, возможность их менять является очень удобной и отрицание этого не дает плюсов ОС.
В-четвертых, надо почитать любую приличную книгу по сетевому программированию и вводу-выводу и потом уже что-либо писать. В Linux очень прозрачный сетевой стек и есть очень много что можно сделать, чего нельзя сделать у других (например, TCP_INFO но некоторых вещей сделать нельзя. При хорошем же стиле программирования это не играет никакой роли.Пишу, глядя в Стивенса, 3е издание. Там не отмечено, что в Linux эти опции менять нельзя. Написать авторам, что бы следующем издании отметили?
Вообще, не нужно ковырять сетевые опции без большой на то надобности.Да и вообще нафиг работать без большой надобности?
P.S. Это твой первый пост. Кто ты на самом деле?
Большинство, но не все.
sync не работает на softupdates - говорил.
диск я размечал по хендбуку (рекомендуемым способом, через /stand/sysinstall) - так вообще какая-то фигня произошла,
в общем он новый пустой раздел сразу каким-то боком смонтировал на /, со всеми вытекающими,
а всего-то нужно было систему на новый винт перенести
Про траблу с fsck, я тоже писал.
И это при том, что стараюсь поменьше дела с bsd иметь.
То есть вывод такой, не надо идеализировать, косяков везде хватает.
Даже в том, что в отличии от фрюниксов за серьёзные деньги продаётся.
Корпус такой.
Извини, но это уже абсурд Выбирать сетевуху по размеру. Intelы на 82559 немногим больше большинства realtekов. Может стоит попробовать?
Почему не линукс, потому что, тяжело это машину снять просто.Разве линукс нельзя поставить на разбирая машины? Можно.
Например, случай с реалтеком, карты конечно не супер, но иногда другого выбора нет.
Отклоняется.
Уровень поддержки грамотные люди выясняют до покупки железа.
Да, это и есть тот перец. Один человек который поддерживает 2.0.40. К сожалению (к счастью?) не нашлось такого человека, кто бы поддерживал FreeBSD 2.2.8. Хотя один перец в ru.unix.bsd долго постил портированные на 3.5.1 security патчи от STABLE. Но сейчас уже перестал.
sync не работает на softupdates - говорил.Такова суть softupdates. Но, все же, это можно засчитать как недостаток. Напомню, что под Linux нет softupdates.
диск я размечал по хендбуку (рекомендуемым способом, через /stand/sysinstall) - так вообще какая-то фигня произошла,Тут не понятно, что именно произошло, тк ты плохо описал Ты случайно не dangerously dedicated выбрал?
в общем он новый пустой раздел сразу каким-то боком смонтировал на /, со всеми вытекающими,
а всего-то нужно было систему на новый винт перенести
И я ж тебе советовал использовать fdisk и disklabel, а не менюшки.
Про траблу с fsck, я тоже писал.напомни ссылку, плс
А корпус, 1U (одноюнитывый, 1 дюйм в высоту) и встанет сетевушка параллельно материнской плате, после чего места для винта не останеться, там все впритык.
Корпус брал не я, да и FreeBSD cтавил тоже не я, мне пришлось разбираться c косяками когда машина стала работать на полную мощьность и пытаться выполнять функции, которые возникли в данном, определнном периоде времени.
Много также претензий по поддержке, как нового, так и уже относительно старого, по компьютерным меркам железа.
Например, случай с реалтеком, карты конечно не супер, но иногда другого выбора нет.
ну из примеров я только realtek пока вижу. Он поддерживается по мере своих возможностей. Из говна конфетку не сделаешь. Хотя вот к нему пол поллинга прикручивают.
Я не согласен с этим утверждением. Если кусок данных больше MSS, я могу быть уверен что их часть будет отправлена, даже при включенном Нэйгле.То есть ты признаешь, что смысла писать именно целым куском нет и переносимее не закладываться на то, что нельзя запихнуть 16 Кб куском?
И про постановку задачи написано нигде не было.
Именно так я сделал. Других вариантов Линукс не оставляет.
Этого никто не сказал. Хотя я прочитал в POSIX что возможность их менять не является обязательной. Так же как и таймауты. Это спасает Linux от полного позора. Однако, возможность их менять является очень удобной и отрицание этого не дает плюсов ОС.Полный позор - это сильно сказано, при том, как в разных BSD (Free, Net, Open) работает, скажем, mmap на открытый только на запись файл с PROT_WRITE (три разных поведения, ни одно из которых не соответствует в отличие от Linux спецификации SUS). Вообще, соответствие *BSD каким-либо стандартам - это большой миф, который я в свое время пытался развеивать (пока не надоело).
А вот не закладываться на числа - в том числе пределы тех или иных параметров сетевого стека - это однозначно хороший стиль.
Пишу, глядя в Стивенса, 3е издание. Там не отмечено, что в Linux эти опции менять нельзя. Написать авторам, что бы следующем издании отметили?Стивенс - это хорошо, но надо смотреть шире.
Скажем, начать с "ядра Linux в комментариях", потом потихоньку переходить на исходный код.
Благо, сейчас такие времена, что глупости вроде сетевых стеков доступны в исходниках (даже кусочек от дядя Билла лежит, и даже почти читаемо).
Да и вообще нафиг работать без большой надобности?Программистами? Не знаю Ими, по-моему, только студенты и работают и только по большой надобности - в самой лучшей стране мира.
И занимает она более 50% рынка 100 mbit чипов уже года 4...
Не повезло тебе. Но все же, Киря, роутер с одним realtek - это пиздец. Поставь в свой одноюнитовый корпус мать с двумя интегрированными Intel. Таким матерей полно. Даже с двумя гигабитами бывают. И что за такой корпус. где винт висит над матерью? Обычно они достаточно длинные.
А вот, то ресурсов на разработку и продвижение FreeBSD у разработчиков явно не хватает-факт.
Хорошии идеи в нее были заложены. Еще годика два и можно будет сказать, была.
Также умирала полуось.
Помог бы чтоль, в команду разработчиков записался ?
ps. Где было хоть в одном месте написано, что это роутер ?
Это сервер.
То есть ты признаешь, что смысла писать именно целым куском нет и переносимее не закладываться на то, что нельзя запихнуть 16 Кб куском?Не признаю. А 16Кб для примера.
Полный позор - это сильно сказано, при том, как в разных BSD (Free, Net, Open) работает, скажем, mmap на открытый только на запись файл с PROT_WRITE (три разных поведения, ни одно из которых не соответствует в отличие от Linux спецификации SUS). Вообще, соответствие *BSD каким-либо стандартам - это большой миф, который я в свое время пытался развеивать (пока не надоело).Открывай тред. Завтра пофлеймим. Сегодня уже не могу.
Стивенс - это хорошо, но надо смотреть шире.
Скажем, начать с "ядра Linux в комментариях", потом потихоньку переходить на исходный код.
Благо, сейчас такие времена, что глупости вроде сетевых стеков доступны в исходниках (даже кусочек от дядя Билла лежит, и даже почти читаемо).
Извини, если для программирования сокетов с использованием только POSIX интерфейса мне нужно сверяться с исходниками ядра, то впесду такую ОС. Думаю, все не так плохо. Нужно просто знать несколькие важные моменты, на один из которых я сегодня натолкнулся.
Я, вообще, пока линейку чипов не сменят, даже на километр к интеловским сетевушкам не подойду.Ладно. Спорить тут бесполезно. Только еще раз напомню, что ты сильно не прав. Этот подтред не продолжаю.
Я, конечно все понимаю, но различным модификациям данной карты уже 7 (семь !) лет.Это не мешает ей быть дерьмом.
Пока я редактировал, свой пост, ты уже ответ написал, посмотри, plz.
Привязывать к пользователю определенное железо, игнорируя другие решения, возможно, конечно и более худшие, прерогатива платных операционок, Sun Solaris, например, для x86, нельза о сих пор поставить в одну машину 2, кстати, интеловские сетевушки. Но зачем это делать FreeBSD ? Или это политика разработчиков такая ?
Не согласен.
sync мог бы и поторопить фоновые операции, а потом дождаться их завершения.
> Напомню, что под Linux нет softupdates.
А в *BSD нет журналирования
А в Linux на журналирующих ФС sync работает отлично
> Тут не понятно, что именно произошло, тк ты плохо описал
Конечно плохо, а знаешь как я испугался?
/bin/ls: No such file or directory
страшно
> Ты случайно не dangerously dedicated выбрал?
Нет, я же прочитал соотв. главу хендбука.
> И я ж тебе советовал использовать fdisk и disklabel, а не менюшки.
После того, как ты на фениксе переносил систему на новый винт, неделю пришлось
исправлять случаи, когда права на директории сменились
Куда после этого идут твои советы по поводу этого процесса, догадываешься?
Для сравнения: GNU cp с опцией '-a' копирует все права, мягкие и жёсткие ссылки, дыры,
и меня не подводила не разу.
В хендбуке способ через /stand/sysinstall описан первым, я решил, что он предпочтительнее.
Ещё там написано:
Ignore any errors from sysinstall that it could not mount the new partition.
Так вот, ошибок не было, а вместо этого оно, по-видимому, смонтировало новый пустой раздел на /.
По крайней мере, после выхода из sysinstall в корне было пусто, пришлось перезагружать,
когда шок прошёл
> напомни ссылку, плс
краткое содержание: после сбоя питания автоматически запущенный fsck
оставил ФС в некорректном состоянии, я запустил fsck руками (с теми же вроде опциями ошибка исправилась,
softupdates выключен.
Почему два раза понадобилось fsck запускать?
Для сравнения: e2fsck у меня всегда исправлял всё, что мог, с одного раза
Почему я редко читаю интересные посты про эти системы от пользователей bsd?
я могу добавить в спор много огня и с той и сдругой стороны - много фактов, причем кокретных, но не буду - потому, как Глебиус очень упертый, а делать вид, что я что -то защищаю - не хочу....
Да что там интересного?
Мне никогда не приходится работать с Windows. Приходится работать с Cisco. Думаю никому не будет интересно читать про кривости, которые я замечаю в PIX.
потому как не с кем поспорить? или альтернативу не видишь?
> Напомню, что под Linux нет softupdates.Да. Продолжаем флейм в этом же духе или остановимся?
А в *BSD нет журналирования
Все равно не ясно, что именно ты сделал не так, поэтому обсуждать это безполезно.
Конечно плохо, а знаешь как я испугался?
/bin/ls: No such file or directory
страшно
Нет, я же прочитал соотв. главу хендбука.
Handbook является неким HOW-TO, я его почти не читал, для того что бы работать с разделами и дисклейблами мне хватало мана, который исчерпывающ.
После того, как ты на фениксе переносил систему на новый винт, неделю пришлосьа) FreeBSD не виновато, что я запустил cp без ключа "-p".
исправлять случаи, когда права на директории сменились
Куда после этого идут твои советы по поводу этого процесса, догадываешься?
Для сравнения: GNU cp с опцией '-a' копирует все права, мягкие и жёсткие ссылки, дыры,
и меня не подводила не разу.
б) Зря ты напомнил про GNU cp с опцией "-a". Ибо POSIX говорит, что она должна быть "-p":
http://www.opengroup.org/onlinepubs/007904975/utilities/cp.html
краткое содержание: после сбоя питания автоматически запущенный fsck
оставил ФС в некорректном состоянии, я запустил fsck руками (с теми же вроде опциями ошибка исправилась,
softupdates выключен.
Почему два раза понадобилось fsck запускать?
Значит, не с теми же ключами. Если бы ты показал, на какой ошибке оно застопилось в первый раз, я бы может быть даже догадался чего не хватало.
Потому, что единственный кому это интересно - , но в этой области он со мной согласен. Возможно Киря еще чего нибудь скажет, но как всегда искаженную информацию от старших товарищей.
Привязывать к пользователю определенное железо, игнорируя другие решения, возможно, конечно и более худшие, прерогатива платных операционок, Sun Solaris, например, для x86, нельза о сих пор поставить в одну машину 2, кстати, интеловские сетевушки. Но зачем это делать FreeBSD ? Или это политика разработчиков такая ?Киря нет злого заговора. Многие производители железа даже не отдают спецификации не него. Они не заинтересованы в том, что бы железо работало под бесплатными ОС. Для того, что бы во FreeBSD появился драйвер чего-то экзотичного, то в одно время и в одном месте должны выполниться эти условия:
- разработчик FreeBSD обладающий временем и навыками написания железных драйверов
- данная железка
- спеки на неё или open source драйвер под другую ОС
Я от тебя постоянно слышу про проблемы с поддержкой железа. Пока ты привел в качестве примера rl. rl поддерживается на столько хорошо, насколько это возможно, во всяком случае грузит машину меньше чем под виндой.
Зато я могу привести примеры железа, где драйвер под Linux либо отсутствует, либо обладает меньшей функциональностью чем под FreeBSD. Вполне себе серверно/роутерное железо: www.cronyx.ru, www.soekris.com.
оно сохраняет жёсткие ссылки? man говорит, что нет
про дыры в мане я не нашёл
> б) Зря ты напомнил про GNU cp с опцией "-a". Ибо POSIX говорит, что она должна быть "-p"
конечно, в GNU cp есть и "-p", а что, были сомнения в этом?
-a, --archive
same as -dpR
-d, --no-dereference
preserve links
-p, --preserve
preserve file attributes if possible
-R, --recursive
copy directories recursively
Слово "hard" я тоже не вижу в мане.
Это надо на ман читать, а книжку про юниксы
> Слово "hard" я тоже не вижу в мане.
в мане нет, но работает
Мануалы в линуксе ацтой, чтд
> Я пытался понять, что такое "дыры" с помощью man cp, но не понял
Это надо на ман читать, а книжку про юниксы
> Слово "hard" я тоже не вижу в мане.
в мане нет, но работает
> который исчерпывающ.
Ок.
В хендбуке написана лажа, и читать его вредно.
Так и запишем
Вопрос исчерпан, когда я следующий раз занялся таким делом, я читал уже man, естественно,
а данные копировал rsync'ом
>> Почему два раза понадобилось fsck запускать?
> Значит, не с теми же ключами.
В треде написано, с какими.
> Если бы ты показал, на какой ошибке оно застопилось в первый раз, я бы может быть даже догадался чего не хватало.
Перечитай тред.
Ошибок не было, а вместо этого fsck сделало вид, что всё хорошо, только вот ФС не починило.
В результате проблема была замечена не сразу, а когда пользователи стали жаловаться, что что-то не работает.
В хендбуке написана лажа, и читать его вредно.Такого не было сказано.
Так и запишем
Лажа, так как поведение sysinstall не совпадает с описанным.
Читать вредно, так как приводит к странным проблемам, в отличии от изучения fdisk и disklabel по манам.
И нафик ему эти разделы сразу маунтить
В этом треде есть совет написать PR. Я не видел PR от тебя.
краткое содержание: после сбоя питания автоматически запущенный fsck
оставил ФС в некорректном состоянии, я запустил fsck руками (с теми же вроде опциями ошибка исправилась,
softupdates выключен.
Почему два раза понадобилось fsck запускать?
... если ещё раз случится. Пока не случалось, перебои с питанием к счастью не так уж часто бывают.
> Я не видел PR от тебя.
И вряд ли увидишь. Если я захочу потратить время на этот сервер, я поставлю туда Linux.
(Я так понял задача была перенести систему на другой винт?)
Оставить комментарий
sergey_m