Как стать автором
Обновить

Комментарии 105

Отличная статья, но вместо vi лучше новичкам использовать nano. И откройте для себя mkdir -p
но вместо vi лучше новичкам использовать nano
Вот не надо тут всякие недоредакторы рекламировать. Vi — необычайно мощная штука, и чем раньше человек откроет для себя его потенциал, тем лучше.
Vi — необычайно мощная штука, и чем раньше человек откроет
При работе с Vi, трудности у новичков возникают не столько с открытием, как с закрытием :).
А я вот поддержу заминусованного человека. vi — очень удобный редактор. А знание его очень полезно, т.к. он по умолчанию есть во всяких HP-UX, AIX и Solaris'ах, а вот nano надо еще поискать.
мне больше vim нравится, он поудобнее будет, чем vi
> т.к. он по умолчанию есть во всяких HP-UX, AIX и Solaris'ах, а вот nano vim надо еще поискать.

:)
Согласен, желательно уметь пользоваться теми вещами, которые есть под рукой, не будешь же с собой носить все время «пакет» любимых программ
vi is forever, vi is everywhere! =)
НЛО прилетело и опубликовало эту надпись здесь
у меня на одном собеседовании был вопрос «как выйти из vi?» :)
они вас не проверяли, а просили о помощи.
НЛО прилетело и опубликовало эту надпись здесь
у vi есть две функции: бибикать и все портить :)
не правильно шутку рассказали
У vi 2 режима работы: в одном он бикает, а в другом всё портит
НЛО прилетело и опубликовало эту надпись здесь
А я вот сколько не пытался понять, так и не разобрался как он работает. Ни написать не могу ничего, не сохранить, не выйти. И в Инете, как назло, не нарыл нормального описания для чайника.
Открыли, нажали i, отредактировали, 2-3 раза esc, напечатали :wq. Сойдет)?
Идеальный мануал! :)

Вот с ним уже можно вполне понимать справочники с командами типа ":wq". Иначе можно от разрыва сердца умереть. Случайно как-то получилось что-то «отредактировать», а точнее накосячить. Исправить не получается, закрыть не получается… Очень плохие впечатления :)
Ну да, когда у меня ещё бибикалка не была отключена в терминале — я познал пословицу «бибикать и всё портить»))
На самом деле — он простой, можно вот такие штуки попробовать. Хотя скрипты я пишу сейчас в emacs'e, он больше похож на обычные редакторы, а возможностей больше, чем у vim'a. Но из-за размера его редко на серверах встретишь, поэтому пришлось и с vi познакомиться немного.
Очень точная пословица. Запомнил :-)
Откройте для себя vimtutor, он идет в комплекте с Vim'ом и позволяет за час-другой освоить Vim на достаточном для повседневных задач уровне.
НЛО прилетело и опубликовало эту надпись здесь
Мануалов дополна. И на русском тоже.

Базово:
# vi имя_файла
— редактирование: нажать кнопку i в нужном месте
— выход без сохранения: ESC: q! Enter
— выход с сохранением: ESC: wq Enter

Но редактор да, неудобен. А вообще у меня воспитание на двухоконном нортоне, посему мне не нужны ни проводник, ни еще чего-то. Поэтому я ве таки и поставил MC.
в консоли наберите vimtutor и будет вам щастье!
Ну-ну… Вы хотите поговорить об этом?) Я за emacs, например. Но nano/ee/joe действительно неплохие редакторы для «я новичек, мне просто надо быстро поправить строку в конфиге».

А вообще в мануалах стоит писать «editor /etc/file.conf», дабы не холиварить.
НЛО прилетело и опубликовало эту надпись здесь
Я когда в хостинге работал, именно там пересел на vi — он есть на каждом серваке. И ведь ни раз меня выручало это. Например, упал сервак: грузишься в single user mode через ip-kvm, а там нет никаких редакторов кроме vi.
НЛО прилетело и опубликовало эту надпись здесь
Все же человечней, для меня, vim. Новичкам с ним проще, а потом если vi встретят то точно смогут разобраться.
И откройте для себя mkdir -p
И фигурные скобочки.
Полностью согласен. Сам давно юзаю Debian.
Еовичкам лучше юзать WinSCP и Notepad++
> Сети же нет.
Почему? У вас WiFi-only сервер и в дефолтном ядре нет нужного драйвера? Так проще вставить сетевую карту и установить драйверы.

Если хотите свой репозиторий — используйте стандартные инструменты, которые позволяют обновлять репозиторий.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Фигурнов это классика. Отличная книга, прекрасный автор. Читалось легко и приятно, хотя к данному топику и не относится :)
НЛО прилетело и опубликовало эту надпись здесь
Nostalgie
Norton Disk Doctor… aidstest… ADINF… config.sys… emm386.exe… эх
а как же smartdrv.exe?
Если вам дать сейчас 386 вы с ностальгией будете на нем работать? Ну, может быть первые минут 20.

Ностальгия это больше от того, что было время, когда можно было придти домой и до ночи не вылезать из-за компа борясь за освобождение килобайт 20 памяти. Время когда никаких забот кроме этого в жизни может быть и не было. Зато радовался-то как, когда получалось )))
а также THIS IS NOT A QEMM ERROR!
Мы не ищем легких путей?
Для записи загрузочных флешек есть UNetbootin.
и нет только. Гораздо более годная прога — PendriveLinux. Прямо из нее можно скачать все популярные и не очень *nix системы. PendriveLinux рекомендован Ubuntu.com.

Ну а на линуксе/маке это и вообще две строчки.
dd для этого есть:)
зачем каждую нужную команду выполнять через sudo, если можно переключиться на постоянный рут шелл?
И случайно вместо rm -rf ./* запустить в нём rm -rf. /*
Без --preserve-root rm не даст вам отстрелить себе ногу.
/ не даст, а /* — вполне.
--no-preserve-root разумеется
и часто вам действительно приходилось писать ./*? %)
или это всё дутые мифы

Приходилось восстанавливать инфу с убитой таким образом машины. Благо там чел успел понять, что что-то тут не так, и нажать Ctrl-C, так что реально потерялось немного.
вообще говоря, набрать rm -rf * в любой директории с некоторым количеством значимых файлов тоже существенный фейл
всякие там /bin, /lib, /usr грохнуть совсем не страшно
что с дураков взять ;)
пусть кавычки везде ставят
Первый раз я так и делал.
Но потом решил все же через sudo, что бы привыкнуть сразу. Ибо такая привычка скажется на безопасности в будущем.
НЛО прилетело и опубликовало эту надпись здесь
Интересная статья, бесспорно, только вот жаль, что в последнее время на хабре подавляющее большинство статей в стиле «Для начинающих». А мне вот, к примеру, экшна хочется, мяса там…
, трэша и угара ^)
Да на хабре вроде всего хватает.
Хороший, годный пост. Добавил в закладки.
ну а iptables разве не стоит настроить? ну хотя бы чтобы сервер ещё и роутером был и чтобы снаружи пускало только с определенных ip и т.д. имхо это тоже надо включать в такую инструкцию в обязательном порядке. ну ещё dns можно настроить через тот же dnsmasq
имхо vsftpd поюзабельнее будет.
Новичок может столкнуться с проблемой редактирования файла sudoers, рекомендую для его редактирования применять все же командочку visudo. Присоединяюсь к предыдущему комментарию, не мешало бы немного iptables добавить. В целом симпатичная статься, видно что написано было с душой.
Я уже точно не помню, но вроде из-под рута проблем возникнуть не должно.
НЛО прилетело и опубликовало эту надпись здесь
Согласен, на счет рук, однажды такой вот умелец, накосячил в правилах, на рут был на дебиане выключен (логиниться не мог), у него видите ли не сохранялось, изменил права, сохранил, и сменил обратно, и больше у него команда sudo не сработала, пришлось грузить с CD, править файл… вообщем бед может быть много
> Так же SFTP можно настроить через SSH — в нем уже имеется такая возможность. Однако при такой
> организации у меня никак не получалось нормально запереть пользователя в нужной директории, т.к. иначе > ему, после авторизации, открывался доступ сразу ко всей системе.

Chroot'ить по sftp можно с помощью MySecureShell… И пересобирать не надо будет. Более того, это единственный вменяемый способ зачрутить по sftp юзеров на древних дебианах типа sarge не пытаясь собрать новую версию proftpd, которая может и не собраться.
SFTP+костыльный chroot выглядит уныло
почему не FTPd с TLS?
> Так же SFTP можно настроить через SSH — в нем уже имеется такая возможность. Однако при такой
> организации у меня никак не получалось нормально запереть пользователя в нужной директории, т.к. иначе
> ему, после авторизации, открывался доступ сразу ко всей системе.

Ой ну вашу ж… debian.pro/?s=sftp+chroot лениво было набрать?
Самой большой моей ошибкой при изучении Linux (Debian) было выполнение команды
sudo chown 777 . -R
из корня файловой системы на боевом сервере.
Неладное я заподозрил, когда увидел сообщения, что к процессам получить доступ не удалось и не удалось им поменять права.

С тех пор я гораздо внимательнее отношусь к тому, что пишу в консоль )
chown 777? может chmod 777?
Был бы внимательнее — выполнил бы chmod 777 да еще и в нужном каталоге.
А так — именно chown 777 и в корне от рута…
Попробуйте, довольно интересные эффекты )))
товарищ по несчастью — жму руку.
Рискую быть в минусе, но похоже возраст и интересы основной аудитории Хабра за последнее время сильно изменились, раз подобные статьи встречаются с восторогом.
К 1 сентября? =3
Ностальгия ;)
Рискую оказаться банальным, но сильно-интересно-профессиональные статьи появляются не так уж часто. На этом фоне любой материал аудитории начинает нравиться.

И, пожалуй, не стану скрывать, что сам люблю подобные статьи. Так как я специалист в другой области, а Linux меня тоже интересует, но набегами. Подобные статьи позволяют мимоходом чуть улучшить свои непрофессиональные познания.
Я по роду своей деятельности инженер. Схемы описываю на VHDL. Кое-какой стаж есть. Иногда в инете надо что-то найти. И если тема называется «Основные правила VHDL для новичка», то я эту тстаью пропускаю, т.к. априори на много процентов уверен, что потрачу время, а свою специфичную проблему вряд ли решу.
В названии написано ключевое слово «новичка». Так что читать или нет это только проблема выбора, т.к. из самого название вытекает содержание. Вот если бы я обозвал тему «Тонкая настройка Debian Server», то это было бы уже нагло )))
После успешной установки нужно добавить в конец файла /etc/ssh/sshd_config строку для ограничения доступа:

AllowUsers root, user

root то зачем? Для чего придумывали su и sudo, что бы потом так спокойно под рутом по ssh заходили? Я вот наоборот первым делом PermitRootLogin no ставлю. А то ломятся всякие. Ну и вообще авторизацию по паролю запрещаю. Ключи как-то надежнее :)
Принято к сведению!
НЛО прилетело и опубликовало эту надпись здесь
посоветую несколько штук

Использовать пейджеры — dmesg | tail
Черт, не дописал


Монтировать можно по UUID, тогда знать, какое виртуальное устройство назначили вашей флешке вовсе не надо.

sudo mc

не очень идейно, как мне кажется, в mc всегда можно Ctrl-O; sudo nano;…
НЛО прилетело и опубликовало эту надпись здесь
Предчувствую резкий слив кармы, но для кого написана эта статья? Что это за недоделанный мануал, как установить дебиан на обычный комп? Таких статей в интернетах полно и ничего полезного здесь я не вижу. Собрать три мануала в один — особого труда не представляет.

Если это только ssh/ftp итд, то где информация, что вычищалось в системе? Или может быть автор поставил дефолтную систему и радостно ничего не чистил?

Крайне умиляет:
>Еще и усложнил задачу — только консоль, никаких исков (как же — это ж линукс).
через несколько абзацев
>Устанавливал «оптом» — т.е. и GUI тоже (в 6 версии был только GNOME).

PS. Хабр скатился до мануалов по инсталляции дебиана. Даже не смешно.
Если это только ssh/ftp итд, то где информация, что вычищалось в системе?

Что надо вычищать при установки с netinst без интернета? Там в принципе ставятся только необходимый минимум. Можно конечно часть пакетов удалить и заменить например на busybox, только смысл?
>Там в принципе ставятся только необходимый минимум.
хм. вы настолько наивны? вот к несчастью нет ниодного сервера с дебианом под рукой. Но вот какие-то части моего организма подсказывают, что я в минимальной установке найду что-нибудь наподобие selinux, manpages, кучу ненужных библиотек, sendmail итд.
А вы похоже не ставили дебиан ;) Из выше перечисленного маны ставятся, но все же они полезные, удалять их, что бы сэкономить 1Мб… «кучу ненужных библиотек» слишком размыто. Да, например ставиться libselinux, только проблема в том, что она в зависимостях у cron (он тоже не нужен?), passwd и т.п. И удалить ее не так уж и просто, а если хочется ломать зависимости, то зачем дебиан? Тогда lfs в самый раз, можно поставить по минимуму :) Еще есть libsqlite, но ее тянет aptitude. aptitude тоже удалим? Есть perl-base, но он тоже идет как пакет первой необходимости. В общем найти что можно выпилить практически нереально, не считая одного пакета manpages.
Смотреть, что стоит на уже готовом сервере смысла нет. Кто знает, как там разворачивали Debian. Я говорю именно про установку с netinst без сети с убиранием пары галок на этапе tasksel. Или с помощью debootstrap.
# ls /usr/lib | wc -l
88 88 1238
1 Так как в тексте промелькнула фраза о gnome сложно представить, что это была установка с нетинсталла.

2 Последняя моя установка сего дистриба проходила где-то год назад. Поэтому сейчас точно вспомнить, что конкретно я там чистил я не осилю. Прийдется поставить куданить… инсталяция системы…
debian-6.0.2.1-i386-netinst.iso 28-Jun-2011
Итак — что бы я сразу выбросил:

debconf
atp-utils
usbtools
laptop-detect
vim
nano
ncurses
udev
man-db

Дальше перечислять не буду — нет времени, но куча пакетов lib… тоже должны уйти в топку.
По поводу того, что не хочется ломать зависимости — Не будем холиварить, но я как то и не особо агитирую за дебиан.

Я не хочу никого обидеть — мне действительно было бы интересно узнать, каким образом дебиан можно вылизать + как это сделать по возможности быстрее.
НЛО прилетело и опубликовало эту надпись здесь
Ну например чтобы получить чистую систему безо всякого мусора. Если мы конечно говорим о сервере. Экономим место, процессорное время итд итп. Линукс же :)
НЛО прилетело и опубликовало эту надпись здесь
Вполне возможно что время это отнимет изрядно, но радость от получения чистой системы многократно затмевает все горести очистки).
Особенно, если эту радость использовать для шаблона виртуального сервера и потом развернуть из него 50 или 100 машинок.
Я не хочу никого обидеть — мне действительно было бы интересно узнать, каким образом дебиан можно вылизать + как это сделать по возможности быстрее.

Зачем? Взять другой дистрибутив не проще? Без debconf дебиан вообще остается дебианом? Можно хотя бы софт обновить? Или задача сделать что-то вроде ROM прошивки? Тогда точно дебиан просто не тот инструмент. Проще собрать статически тот же busybox и нужный ftp сервер.
Эммм. Может быть я неправильно выразился —
Я бы хотел видеть в статье о установке сервера сугубо для ссш и фтп, установку сервера сугубо с фтп и ссш. МНЕ бы было интересно прочитать о том, как можно пилить дебиан.
Мне уже до этой статьи было известно, что я могу взять что-то другое. Но взяв что-то другое я узнаю того, что мне было бы интересно о дебиане.
В повседневной жизни я им не пользуюсь и навряд ли буду пользоваться, если будет возможность использовать rpm-based дистрибутив.

Надеюсь сейчас смысл моего высказывания понятен)
Да вот не очень мне понятно, зачем это делать с дебианом? Не, конечно возможно получилась бы интересная статья, как микроскопом забивать гвозди, как его для этого надо разобрать, убрать стекла и другие хрупкие части… Но он для этого не предназначен. На мой взгляд базовая система с 8мю запущенными процессами (udevd — 3 штуки, dhclient, rsyslogd, acpid, cron, getty (их вообще 6 штук по умолчанию запускается, но закомментировать в одном файле 5 строк не сложно)) уже достаточно минимальная, что бы от туда ничего не пришлось выпиливать. Да и потом, что вы хотите получить от ssh? Удалив nano и vi (vim и так не стоит), ncurses, практически сломав apt.
Повторю, все эти удаления ломают зависимости и в apt уже при таком раскладе уже практически нет смысла. Так зачем все ломать?
Насколько я понял — вы на продуктивные сервера ставите до безобразия ванильный дебиан и все доставляете сугубо apt, ничего не меняя в конфигах? Если это не так — мне было бы интересно что ВЫ делаете на свежеинсталеной системе.
Зависит от задачи. Но да, что либо дополнительно удалять из базовой системы я не вижу смысла. Тем более что уже сталкивался со случаями, когда такой излишний минимализм несколько мешал выполнять задачу, причем как всегда в самый не подходящий момент (что упало, доставить удаленное возможности нет, а надо :)) А так, в частности была как-то необходимость запустить на одном хосте несколько десятков виртуалок, для теста. Собрал образ дебиан с помощью debootstrap, сам образ получился где-то 400мб, я туда еще что-то доставлял, настроил и запустил. Каждая виртуалка кушала не более 40 мб. Т.е. имея 8Гб ОЗУ особых проблем не испытывал. Проц тоже грузил только тестируемый софт. Ну а экономить 400мб на харде как-то не видел смысла. Тем более что в ходе работы приходилось индивидуально что-то менять на одной из виртуалок. Так что излишнее обрезание могло бы привести к не очень приятным последствиям.
Отвечу на первое предложение. Определить тому, кому адресована статья можно путем анализа ее названия со словом «новичек». И сделать вывод тратить на нее свое время или нет.

Про «крайне умиляет». Вы прочитали в одном абзаце: «Еще и усложнил задачу — только консоль, никаких исков», а в другом: «Устанавливал «оптом» — т.е. и GUI тоже » и сделали вывод о сопливости автора. Только если почитать внимательно, то тогда можно понять, что эти фразы относятся к двум разным установкам, а не к одной.

Кстати, собрать три мануала в один оказывается и не такая простая задача. В каждом мануале по опечатке, а без опыта и образования вообще тяжко получается )))
В samba при security = share, секция [homes] работать не будет.
Нужно либо security = user либо одно из доменных значений.
smb-conf.ru/security-g.html
НЛО прилетело и опубликовало эту надпись здесь
Я немножко помешан на автономности.
Дело в том, что интернета у меня неприлично долго не было. Потом появился плохой интернет. Потом появился полуплохой интернет. Ну и т.д. Поэтому осталась суровая привычка зависеть от сети минимально.
НЛО прилетело и опубликовало эту надпись здесь
Так репозиторий-то только один раз сделать надо.
Потом все это на внешний хард скинул и все. А в будущем ставим систему, монтируем хард, немного правим пути и далее все что душе угодно. Типа: есть интернет — лучше через него, а нет — ну и нет)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации