LINUX.ORG.RU
ФорумTalks

зачем в конфигах закомментировывают значения по-умолчанию?


0

0

Недавно в одном из xml-срачей против xml был аргумент вида «и как ты в своём xml-конфиге собираешься одной клавишей закомментировать значение, используемое по-умолчанию?»

Ну вот и в самом деле: открываю я тот же sshd_config - а там [почти]все параметры закомментированы. Зачем? Ведь несмотря на то, что они закомментированы, применяются именно значения, установленные в них. В итоге я, глядя на этот закомментированный параметр, могу даже не сразу понять: закомментировано значение, которое применяется сейчас (тогда зачем его зкамментировали?) или значение, рекомендуемое, но отличное от дефолтного (тогда почему дефолтное значение отличается от рекомендуемого?)

Надеюсь, понятно изложил суть вопроса )))

★★
Ответ на: комментарий от Xenesz

Я считаю, это самый хороший пример.

Согласен, отличный пример. Хотя можно начать разгоняться про излишнее усложнение, но выход действительно хороший.

name_no ★★
() автор топика
Ответ на: комментарий от Deleted

+1. Есть кактусы, с настройкой которых бьются уже несколько поколений только потому, что когда квест по прохождению адского конфига пройден, оно таки замечательно работает.

Xenesz ★★★★
()
Ответ на: комментарий от name_no

>Если инициализация - не проблема, то вопрос остаётся в силе - зачем там символ комментария.


Это не только в sshd_config или ssh_config. Ящитаю хорошим тоном писать в конфиги все возможные параметры. К примеру squid.conf.

Как бы это объяснить? Ну во первых, конфиг содержит все возможные параметры причём написанные без ощЫПок. Во вторых, если конфиг новый, то с уверенностью на 100% можно сказать, что закоментированный параметр не изменялся. (Я к примеру ставлю два '#' там где чего то меняю сам - очень удобно.) Ну и лишней инициализации не происходит.

ansi ★★★★
()
Ответ на: комментарий от ansi

Как бы это объяснить?

я прекрасно всё это понимаю. Но это объяснение не дало ответа на мой вопрос: где гарантия, что даже автор написал в конфиг в качестве закомментированных именно те параметры, которые сейчас используются?

Даже банально может быть так, что автор по результатам багфикса изменил политику по умолчанию и вместо 0 теперь использует 1, а в конфиге забыл исправить. Если бы параметр не был закомментированным - он бы это заметил и не забыл исправить в конфиге. А так - имеем несоответствие и вопрос, из которого вырос топик.

name_no ★★
() автор топика

Чтобы было видно, какие параметры были по умолчанию, а какие я задал принудительно.

dm1024 ★★★
()
Ответ на: комментарий от dm1024

а какие я задал принудительно.

стоит однажды закомментировать принудительно заданный параметр и он сразу становится заданным по умолчанию?

name_no ★★
() автор топика
Ответ на: комментарий от name_no

> стоит однажды закомментировать принудительно заданный параметр и он сразу становится заданным по умолчанию?

Ну если ты поставишь себе цель нае^W обмануть себя, то рано или поздно у тебя это все равно получится, с комментариями или без. Если же ты к этому не стремишься, можно закомментировать так, чтобы отличалось от того, что закомментировано по умолчанию.

dm1024 ★★★
()
Ответ на: комментарий от name_no

> короче все так привыкли и даже думать не хотят, что можно по-другому.

Ты лучше сам подумай головой. Я, когда открываю конфиг, сразу вижу, какие изменения были внесены в конфигурацию по умолчанию, в твоем конфиге «без лишних комментариев», разбираться врагу не пожелаешь.

Ох уж эти революционеры...

dm1024 ★★★
()
Ответ на: комментарий от name_no

> если я раскомментирую значение, то я тоже не буду уверен, продолжит ли программа подключаться к тому же порту, к которому подключается сейчас. зато я _точно_ буду знать, к какому именно порту она подключается.

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

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

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

bender ★★★★★
()
Ответ на: комментарий от bender

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

это почему?

name_no ★★
() автор топика

Вопрос был зачем их закомментировывать? Зачем их указывать понятно и без того

ИМХО - это просто небольшая напоминалка - что бы не лезть в ман. Гораздо удобнее скопировать уже готовое и правильное наименование параметра и присвоить ему новое - нужное - значение.

male66
()
Ответ на: комментарий от name_no

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

uspen ★★★★★
()
Ответ на: комментарий от name_no

>это почему?

очевидно потому, что я не могу знать наверняка, является ли раскомментированное значение значением по умолчанию или нет, а программа _уже_ использует именно его. если параметр закомментирован и я его удалю - это никак не повлияет на существующее положение дел, т.к. это всего лишь комментарий и не важно, что там в этом комментарии написано. как еще подругому это объяснить я не знаю.

bender ★★★★★
()
Ответ на: комментарий от name_no

Во-первых -ответ ниже, хотя если прога свежепоставленная, то теоретически да, параметры по умолчанию (тем не менее, действительно, есть риск при удалении параметра получит ошибку) Во-вторых соглашусь, что удобно поставить свой параметр и «откатиться» на закоментированный

uspen ★★★★★
()
Ответ на: комментарий от bender

Не надо по-другому объяснять, мне и так понятно. Это первое объяснение было, поэтому я его и просил.

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

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

А вообще, меня удивило отношение большой части отписавшихся к такому невинному вопросу.

name_no ★★
() автор топика

Неужели первый раз в жизни конфиг ковырял? На практике так реально проще. Видно какие значения отличаются от дефолтых. Такой краткий хелп непосредственно в конфиге. Кстати, убирать # там не нужно, лучше скопипастить ниже строчку с раскомментированным параметрам. Потому что когда софт настраивается по принципу «настроил и забыл» реально забываешь как настраивал

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от name_no

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

DNA_Seq ★★☆☆☆
()

1. Проще парсить для вывода в какую-нибудь внешнюю программу.
2. Значение может отличаться от дефолтного. Оно может прописываться установочным скриптом, чьим-то патчем, какой-нибудь левой программой. Комментарий - лишь указание тебе, что там было изначально.

Breton
()
Ответ на: комментарий от name_no

>А вообще, меня удивило отношение большой части отписавшихся к такому невинному вопросу.

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

DNA_Seq ★★☆☆☆
()

Приятно мне, одним окинув взором лишь
Просторы необъятные конфига,
Постичь многообразие параметров,
Взгляд устремить в дефолтные значения.
По усмотренью своему меняя их,
Оставить рядом старые на случай тот,
Что памятью я стану слаб ко старости;
И чтобы не листать талмуды толстые,
Выискивая то, что станет нужным мне.

-- античная юниксовая мудрость

shimon ★★★★★
()
Ответ на: комментарий от name_no

Чем же проще-то? Что проще исправить:

#Port 22 
#AddressFamily any 
#ListenAddress 0.0.0.0
или
Port 22 
AddressFamily any 
ListenAddress 0.0.0.0

Проще первое.

После правки у меня бы стало так:

#Port 22 
#AddressFamily any 
#ListenA
Port 2222 
AddressFamily none 
ListenAddress 127.0.0.1
Дефолтные значения я бы оставил на всякий случай.

firestarter ★★★☆
()
Ответ на: комментарий от DNA_Seq

Кстати, убирать # там не нужно, лучше скопипастить ниже строчку с раскомментированным параметрам.

да я ж не спорю. Оно то на то выходит.

yyp<End><bsp><bsp>33<Home>x - это я скопировал строчку и изменил номер порта.

yyp<End><bsp><bsp>33<Home><Up># - это я скопировал строку и закомменитровал старую.

Мне непонятно почему все решили, что под комментарием стопудово прячется дефолтное значение, я даже привёл примеры обратного.

name_no ★★
() автор топика
Ответ на: комментарий от DNA_Seq

Наверное Линукс стал совсем юзер-фриендли

не стал ((( подвижки есть, но на каждый шаг вперёд - два назад. И в каждой теме, где про это упоминают тут же начинают истерично кричать «тебе никто ничего не должен». Начинаю чувствовать себя одним в поле невоином.

name_no ★★
() автор топика
Ответ на: комментарий от name_no

В комментарии прячется то значение что прописал скрипт пакета

DNA_Seq ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.