nixp.ru v3.0

23 января 2017,
понедельник,
05:36:37 MSK

DevOps с компанией «Флант»
gserg написал 25 декабря 2007 года в 17:06 (365 просмотров) Ведет себя как мужчина; открыл 4 темы в форуме, оставил 12 комментариев на сайте.

Сегодня сделал очередное обновление материалов курса по ОС Linux. Скачать материалы можно здесь: http://gserg.volnet.ru/linux

Материалы выложены под лицензией GNU FDL.

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

Anarchist
gserg
Сегодня сделал очередное обновление материалов курса по ОС Linux. Скачать материалы можно здесь: http://gserg.volnet.ru/linux

Было бы интересно ор\знакомиться с отчётом по чтению этого курса.

Кстати, почему CentOS?

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

Просмотрел экзаменационные вопросы и первую лекцию. Бррр…

Проще написать новый курс, использовав старый скорее в качестве оглавления.

И это, вероятно, является наиболее правильным решением.

ЗЫ: Моих знаний на надлежащего качества исправление всех недочётов не хватит.

И вообще, я помнится уже предлагал разработать курс от nixp.ru.

Uncle Theodore

Я тоже вот посмотрел экзаменационные билеты… Слабенько. Почему бы Вам не взять, скажем, программу какой-нибудь сертификации, например, тот же http://www.lpi.org/en/lpi/english/certification/the_lpic_program

или РедХат и взять структуру оттуда? По крайней мере, будет некий эталон для сравнения…

Good Luck,

UT

gserg

LPI или RedHat программы хороши для продвинутых пользователей. А начинающим что? Мой курс ориентирован на самых что ни на есть начинающих. Потом, у меня достаточно ограниченный объем по часам. В том УЦ, где курс ведется на него выдано всего 48 часов. Мой курс дает основы. Это самое важное.

Почему CentOS? Ну наверное потому, что все таки это «условно-корпоративный» дистрибутив. А еще потому, что больше всего я работал именно с RH-совместимыми дистрибутивами (хотя сейчас и пишу это сообщение с kubuntu :) ).

Anarchist
Uncle Theodore
Я тоже вот посмотрел экзаменационные билеты… Слабенько. Почему бы Вам не взять, скажем, программу какой-нибудь сертификации, например, тот же http://www.lpi.org/en/lpi/english/certification/the_lpic_program

или РедХат и взять структуру оттуда? По крайней мере, будет некий эталон для сравнения…

Смотрел я в своё время на эти программы…

Тоже далеко не эталон.

gserg
LPI или RedHat программы хороши для продвинутых пользователей. А начинающим что? Мой курс ориентирован на самых что ни на есть начинающих. Потом, у меня достаточно ограниченный объем по часам. В том УЦ, где курс ведется на него выдано всего 48 часов. Мой курс дает основы. Это самое важное.

Даже (и особенно) в этих рамках — слабовато.

Хотя, первому всегда тяжело.

Лицензия нравится, открытость для критики — тоже.

Есть некоторая неопределённость относительно того что же нужно включать в курс и что в какой курс включать. Но с этим попутно разберёмся.

Считаю правильным параллельно разрабатывать три курса: собственно «правильный» или полный, для администраторов и для пользователей.

gserg
Почему CentOS? Ну наверное потому, что все таки это «условно-корпоративный» дистрибутив.

Откуда информация? Ссылочкой на соответствующий ГОСТ не поделишься?

gserg
А еще потому, что больше всего я работал именно с RH-совместимыми дистрибутивами (хотя сейчас и пишу это сообщение с kubuntu :) ).

Закладываться в таком курсе на дистрибутивную специфику — порочный путь.

Нужно рассказывать о базовых принципах, с которыми можно работать везде: хоть на Linux (любом), хоть на *BSD, хоть на проприетарном UNIX’е.

В тему раскрытия темы различий между Windows и Linux полезно охнакомиться с статейкой: Windows для линуксоида — первые впечатления

Anarchist

Да, и ещё такой момент: слезай с иглы WYSISYG.

У тебя совершенно неприличные объёмы: у меня книжка на 615 страниц (местами с картинками) в pdf весит 2.9 мегабайта, твои же лекции — 7.5. Непорядок.

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

gserg

[quote author=Anarchist]

У тебя совершенно неприличные объёмы: у меня книжка на 615 страниц (местами с картинками) в pdf весит 2.9 мегабайта, твои же лекции — 7.5. Непорядок.

Тема совместимости/переносимости .odt — отдельная песня. [/quote]

Объемы пожал. Со временем — сконвертирую и выложу лекции в TeX. Все таки он весьма распространен, этот формат. И открыт — что есть момент положительный.

Anarchist

Дабы не ходить вокруг да около, предлагаю переходить к предметному обсуждению.

Для начала я бы хотел увидеть ответ ув. тов. gserg на превый вопрос, второго билета.

gserg
Anarchist
Дабы не ходить вокруг да около, предлагаю переходить к предметному обсуждению.

Для начала я бы хотел увидеть ответ ув. тов. gserg на превый вопрос, второго билета.

лекция 3

fly4life
gserg
лекция 3

Замечу, что шифрованный пароль в /etc/passwd не хранится (уже лет 10-15). А в shadow хранится необязательно хеш md5 (тут надо бы отметить, что алгоритм хеширования можно понять по префикчсу в начале поля пароля: $1$ — есть md5).

gserg
fly4life
Замечу, что шифрованный пароль в /etc/passwd не хранится (уже лет 10-15).

вы очень ошибаетесь. В теории да, пароль должен храниться только в shadow. Но поддержка паролей, хранимых в passwd все еще сохранена. Перенесите пароль из shadow и сами все увидите. И к тому же, в лекции написано, что будет если вместо пароля стоит x

fly4life
gserg
вы очень ошибаетесь. В теории да, пароль должен храниться только в shadow. Но поддержка паролей, хранимых в passwd все еще сохранена. Перенесите пароль из shadow и сами все увидите. И к тому же, в лекции написано, что будет если вместо пароля стоит x

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

Именно, что пароль в passwd можно хранить в теории. На практике так никто не делает, поскольку этот файл доступен на чтение всему честному народу, что весьма чревато всякими нехорошими последствиями.

Anarchist
gserg
вы очень ошибаетесь. В теории да, пароль должен храниться только в shadow. Но поддержка паролей, хранимых в passwd все еще сохранена. Перенесите пароль из shadow и сами все увидите.

В мире Unix принято бережно относиться к Истории :)

gserg
И к тому же, в лекции написано, что будет если вместо пароля стоит x

А ещё в этом поле можно поставить '*’…

Anarchist
gserg
лекция 3

Ну… При хорошем расположении духа… троечку натянуть можно.

Теперь конкретно по пунктам (отрываясь от специфики конкретного дистрибутива, Linux’ов и прочих фрюниксов):

1. Нельзя отдавать предпочтение описанию конкретной реализации над объяснением задачи и действий необходимых для её решения: как решаем и почему так. Далее — небольшой исторический экскурс. Можно — немного практики (относительно набора символов).

2. О таком интересном механизме как PAM не говорится вообще. А ведь он уже обеспечивает возможность использования не только традиционного (описанного в лекции механизма). И, помимо выбора механизма авторизации, с его помощью можно делать пользователям разные «приятные» штуки, типа проверки пароля на длину и взломоустойчивость, раз в три месяца заставлять менять пароль, выполнять разные проверки/действия при вводе неверного пароля…

3. Тема диапазонов UID’ов также не раскрыта.

И это — только то, что очевидно навскидку.

metal

Буду придираться к терминологии:)

В 1-й лекции надо писать, не Linux, а GNU/Linux. Совсем не очевидно что Linux — это не Unix, а Unix подобная система. Также, далее не вижу пояснений, что Linux это только ядро и историю о Linux, надо начинать именно с GNU, все-таки Linux появился позже. Не было бы GNU, скорее всего не было бы и linux. Не плохо бы было и о Столлмане рассказать.

К UnixWay я бы еще добавил, что программы в рамках этой концепции должны уметь взаимодействовать друг с другом т.е строить конвееры.

Это все только про первую лекцию.

Я бы исключил из первой лекции: 5. Средства просмотра системной информации.

Это частная информация, не вижу причин приводить их в первой лекции. А приводить опции которые есть у команды точно ни к чему. Говорить о любые утилитах надо не раньше, чем расскажешь о системе справки в ОС. Далее на нее можно ссылаться.

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

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

Anarchist
fly4life
Именно, что пароль в passwd можно хранить в теории. На практике так никто не делает, поскольку этот файл доступен на чтение всему честному народу

Не просто доступен, а должен быть доступен.

Кстати, интересно, а если в нём cleartext password написать — тоже сработает или это — чисто теоретическая фишка, которая никогда не реализовывалась?..

Anarchist
metal
надо начинать именно с GNU, все-таки Linux появился позже. Не было бы GNU, скорее всего не было бы и linux. Не плохо бы было и о Столлмане рассказать.

Есть мнение, что без Столлмана не было бы и *BSD.

metal
К UnixWay я бы еще добавил, что программы в рамках этой концепции должны уметь взаимодействовать друг с другом т.е строить конвееры.

НЕ добавил!!!

Потоки и конвееры — это основополагающий момент в идеологии Unix!!!

metal
Упор надо делать на идеологию построения системы

Причём не ограничиваясь ни Linux’ом, ни тем более конкретным дистрибутивом.

metal
Еще бы отметил некоторую топорность изложения, надо немного более литературно.

Язык — это вообще отдельная песня.

Но переходить оформлению языка имеет смысл только после составления плана и согласования формулировок.

metal
Anarchist
НЕ добавил!!!

Потоки и конвееры — это основополагающий момент в идеологии Unix!!!

Хочешь сказать что к UnixWay они не имеют никакого отношения? Очень интересно, а нахера нужен Way длиной в один шаг?

gserg
metal
Хочешь сказать что к UnixWay они не имеют никакого отношения? Очень интересно, а нахера нужен Way длиной в один шаг?

Он с тобой согласился.

Про конвееры добавлю. Действительно не хватает. На лекции я об этом говорю, а вот внести в текст пока все никак не соберусь.

gserg
Anarchist
Ну… При хорошем расположении духа… троечку натянуть можно.

Теперь конкретно по пунктам (отрываясь от специфики конкретного дистрибутива, Linux’ов и прочих фрюниксов):

1. Нельзя отдавать предпочтение описанию конкретной реализации над объяснением задачи и действий необходимых для её решения: как решаем и почему так. Далее — небольшой исторический экскурс. Можно — немного практики (относительно набора символов).

2. О таком интересном механизме как PAM не говорится вообще. А ведь он уже обеспечивает возможность использования не только традиционного (описанного в лекции механизма). И, помимо выбора механизма авторизации, с его помощью можно делать пользователям разные «приятные» штуки, типа проверки пароля на длину и взломоустойчивость, раз в три месяца заставлять менять пароль, выполнять разные проверки/действия при вводе неверного пароля…

3. Тема диапазонов UID’ов также не раскрыта.

И это — только то, что очевидно навскидку.

Опять же, уважаемый, цель и формат курса не подразумевает углубленного изучения. Цель — дать основы. Потому PAM и диапазоны UID просто не входят в формат курса.

По поводу привязки к дистрибутиву — практически нигде по курсу это не заметно.

А вот отрываться от специфики linux в курсе о linux (а не о unix) я не намерен. А заставить пользователя менять пароль можно и с помощью обычного chage.

metal

По второй лекции:

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

Это не особенность файловой системы, это особенность организации размещения информации в файловой системе. Следует рассказать также о LSB и отличияx в иерархии от других Unix.

Рассказывая про точках монтирования, надо указать на /etc/fstab и немного о параметрах монтирования.

Если уж пошел по командам, то и mv упоминуть не помешает.

В таблицу добавить /sys.

Обычно вторая лекция о загрузке ОС.

gserg
metal
По второй лекции:

Это не особенность файловой системы, это особенность организации размещения информации в файловой системе. Следует рассказать также о LSB и отличияx в иерархии от других Unix.

Рассказывая про точках монтирования, надо указать на /etc/fstab и немного о параметрах монтирования.

Если уж пошел по командам, то и mv упоминуть не помешает.

В таблицу добавить /sys.

Обычно вторая лекция о загрузке ОС.

Про mv я рассказываю. Про отличие от других unix рассказывать не буду. По каталогу sys — я сегодня только правил эту лекцию. Там таблица каталогов по старому стандарту. Я поправил и выложил с новым стандартом.

Anarchist
gserg
Опять же, уважаемый, цель и формат курса не подразумевает углубленного изучения. Цель — дать основы.

Знание основ — не является углубленным изучением.

И то, что я перечислил (хотя бы в минимальном объёме и скорее всего не в приведённых формулировках) — входит в необходимый минимум.

gserg
По поводу привязки к дистрибутиву — практически нигде по курсу это не заметно.

Проверю.

gserg
А вот отрываться от специфики linux в курсе о linux (а не о unix) я не намерен.

Экскурс в историю Unix — уже является оным.

Пока же — укажу на фактическую ошибку:

К наиболее известным из них относятся Solaris (ранее SunOS) корпорации SUN Microsystems

Solaris и SunOS — принципиально разные ОС.

metal

Есть еще одно замечание, есть упоминание о разных дистрибутивах linux, но нет определения этого понятия. Для человека ничего не знающего о linux совсем не очевидно что это такое. Вероятно место этому определению в первой лекции.

Anarchist

1. Формулировка «одна задача — одна программа.». Отдаёт яблоками.

Корректнее сказать что-нибудь типа: «лучше несколько программ, каждая из которых решает ХОРОШО свою задачу, чем комбайн решающий все задачи».

Здесь же — про стандартные потоки (stdin, stdout и stderr) и конвееры, что позволяло обходиться без комбайнов.

2. »Однако наибольший интерес сегодня в мире Unix приобрели операционные системы, построенные на модели открытого кода, такие как Linux. »

Почему даже не упоминается *BSD? Цитату Линуса знаешь?

3. »Интерфейсы DOS и Windows: »

Не интерфейсы, а эмуляторы.

Можно рассказать о проблемах с полнотой реализованных функций [в лучшем случае] ограничивающих выбор.

4. Ну и пятый пункт там смотрится — как собаке пятая нога.

sarel
Anarchist
Пока же — укажу на фактическую ошибку:

Solaris и SunOS — принципиально разные ОС.

Да? а на машине с Solaris 10 вот это:

root@shooter # uname -a
SunOS shooter 5.10 Generic_125100-10 sun4u sparc SUNW,Sun-Blade-1000
root@shooter #

что означает?

Anarchist
sarel
Да? а на машине с Solaris 10 вот это:

root@shooter # uname -a
SunOS shooter 5.10 Generic_125100-10 sun4u sparc SUNW,Sun-Blade-1000
root@shooter #

что означает?

А там ещё цифирки есть… :)

Те SunOS, которые ещё не Solaris от Solaris’а отличаются радикально.

sarel
Anarchist
А там ещё цифирки есть… :)

Те SunOS, которые ещё не Solaris от Solaris’а отличаются радикально.

Не ну эт понятно но преемственность названий то осталась…

Anarchist
sarel
Не ну эт понятно но преемственность названий то осталась…

Кстати, про преемственность:

Что-то мне подсказывает, что для случая Solaris’а историческое название кроме как в выводе uname -a фигурирует мало где. Если вообще фигурирует.

Anarchist
metal
Есть еще одно замечание, есть упоминание о разных дистрибутивах linux, но нет определения этого понятия. Для человека ничего не знающего о linux совсем не очевидно что это такое. Вероятно место этому определению в первой лекции.

+1

Вместо пятого пункта первой лекции — краткий экскурс по генеалогии дистрибутивов Linux.

Описание основных идеологий управления ПО в Linux. Различия между ними.

Причины отличий от принятого в мире Windows.

Anarchist

Во-первых: почему матерная аббревиатура 'FHS' нигде не встречается?

Про разделители есть хорошая байка: билли по привычке хотел спиздить чужую интеллектуальную собственность, но в процессе как обычно всё перепутал.

«Система позволяет устанавливать много корневых каталогов» — кривая и непонятная формулировка.

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

Кстати говоря, начиная где-то с вынь2000 (в смысле — наблюдал лично) подобная фишка (возможность не только назначения буквы диска, но и включение носителя/раздела в дерево каталогов присутствует и в Windows. Правда снова вопросы о реализации и распространённости.

Из первой лекции про расширения наверное имело смысл рассказывать здесь.

В смысле что расширение файла в понимании мира выньдоуз — следствие ограничений файловой системы.

Есть у файловой системы Linux и еще одна особенность. Каждому пользователю в ней выделяется домашний каталог

На дворе уже практически 2008 год.

В выньдоуз давно заявлена возможность работы многим пользователям.

Правда, в целях сохранения видимости преемственности структуры оно там реализовано куда менее изящно.

Но по факту: ни фига не отличие.

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

root is God!

Для пользователя с UID==0 [как минимум в стандартной конфигурации] ограничения просто игнорируются.

Попробуй для текстового файла задать права '0000\′ и потом из shell’а с правами root’а просмотреть его содержимое.

Команда touch позволяет создавать файлы.

Почему не сказано про более распространённый способ создания файлов перенаправлением stdout и/или stderr?

Ну и по FHS:

lost+found описан неполно.

Описание непоследовательно. Изначально — углубление на один уровень. Но определение первого уровня для /var отсутствует.

Зато присутствует описание /var/log, хотя далеко не все логи пишутся туда.

ЗЫ: Ну и ещё, пока не знаю где, но обязательно нужно сказать, что многие привычные и считаемые необходимыми приложения из мира выньдоуз — не более, чем костыли, призванные скомпенсировать убогость командной строки DOS’а.

rgo
Anarchist
ЗЫ: Ну и ещё, пока не знаю где, но обязательно нужно сказать, что многие привычные и считаемые необходимыми приложения из мира выньдоуз — не более, чем костыли, призванные скомпенсировать убогость командной строки DOS’а.

ещё рядышком обязательно приписать, причём боольшим красным шрифтом:

<font size=«+1»><font color=«red»>linux rulezzz!!!</font></font>

:)

Не надо этого делать. Тем у кого есть мозг это бесполезно, они и сами поймут. Остальным бесполезно тем более.

Anarchist
rgo
ещё рядышком обязательно приписать, причём боольшим красным шрифтом:

<font size=«+1»><font color=«red»>linux rulezzz!!!</font></font>

:)

Обязательно.

И там же — <font size=«+1»><font color=«red»>Столлман акбар!</font></font>

rgo
Не надо этого делать. Тем у кого есть мозг это бесполезно, они и сами поймут. Остальным бесполезно тем более.

Не согласен.

Ты недооцениваешь силу инерции.

Энциклопедия методов пропаганды. Эффект первичности.

Даже тем, кто способен увидеть часто необходимо указать на более правильную альтернативу (которую обычно приходится ещё поискать), объяснить почему она правильнее, и дать хорошего пинка в нужном направлении.

Anarchist

Там, где рассказывается про команды 'cp’, 'rm' и 'mv' необходимо:

1. Рассказать что из себя представляет простой файл.

2. Рассказать о команде 'ln’.

3. Описать действия происходящие при:

3.1. Копировании/перемещении файла в рамках одного физического раздела.

3.2. Аналогично для разных физических разделов.

3.3 Удаления файла имеющего несколько имён.

3.4. Удалении последнего имени (hardlink) на файл.

4. Ограничения на имена файлов. Символические ссылки. Умолчательные режимы доступа к символическим ссылкам, изменение режима доступа к символическим ссылкам и умолчательное поведение команды 'chmod’.

rgo
Anarchist
Даже тем, кто способен увидеть часто необходимо указать на более правильную альтернативу (которую обычно приходится ещё поискать), объяснить почему она правильнее, и дать хорошего пинка в нужном направлении.

Указать — да, объяснить — тоже, а вот пинка давать не стоит. Не буду ручаться за всех у кого есть мозг, но когда у меня возникает ощущение, что меня нагло пытаются заставить думать «правильно», я начинаю думать «неправильно». Чисто рефлекторно. Подчастую, даже неправильно думать без всяких кавычек.

Философия это хорошо, и самый факт наличия оной у *nix, и полное отсутствие у win, несомненно говорит в пользу первого, и не упомянуть об этом, не пояснить это будет промахом. Но излишне усердное заострение внимания на этом, создаёт впечатление, что заострятель — фанатичный сектант, от которого надо бежать подальше.

Anarchist
rgo
Указать — да, объяснить — тоже, а вот пинка давать не стоит.

Энциклопедия методов пропаганды.

Эффект первичности.

Рекомендую к ознакомлению и осмыслению.

Зачастую необходимо.

Я тут не далее как вчера встретил публикующегося (причём утверждается — что в инновационных областях) профессора физики просто не знающего о существовании TeX’а. Это — более чем пиздец!

Шуруп с применением новейших штампов к выводам на основании общеизвестных исторических фактов (и противоречащих этим фактам) — туда же :(((

Где [сейчас] это применимо ко мне — не знаю.

rgo
Не буду ручаться за всех у кого есть мозг, но когда у меня возникает ощущение, что меня нагло пытаются заставить думать «правильно», я начинаю думать «неправильно».

И тут твои попытки встречают заботливо созданное «ничто».

rgo
Философия это хорошо, и самый факт наличия оной у *nix, и полное отсутствие у win, несомненно говорит в пользу первого, и не упомянуть об этом, не пояснить это будет промахом. Но излишне усердное заострение внимания на этом, создаёт впечатление, что заострятель — фанатичный сектант, от которого надо бежать подальше.

Интересно где мы не понимаем друг друга.

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

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.