КАК Я ВЛЕЗАЛ В LINUX

Предисловие

О чем бы человек ни писал, какую бы тему ни выбрал, он незаметно для себя переходит на свою личность. Он начинает вещать о себе. Особенно это заметно в зрелые годы, а еще заметнее к старости. Людям, пожившим на свете, хочется высказать свои суждения, выложить свою, наиболее правильную точку зрения на те или иные явления и события прошедшего и настоящего времени. Я не являюсь исключением из этого правила. Однако склероз еще не полностью завладел моими мозгами, поэтому кое-какая критика по отношению к себе имеется. Кто, скажите мне, не ругал себя, не называл себя всякими плохими словами, когда, промучившись два часа или две недели над какой-то проблемой, находил простое ее решение? Решение, которое можно было найти за две минуты или того меньше. Думаю, у многих были и еще будут такие ситуации. Здесь я делаю попытку честно, без утайки и надувания щек рассказать о моих опытах по установке и работе с операционной системой Linux. Интуиция подсказывает, что эта операционная система рано или поздно займет лидирующее положение в мире программирования. Она уже сейчас лидирует на серверах. В этом легко убедиться самостоятельно. Зайдите в сети на какой-либо адрес, обращая при этом внимание на адресную строку броузера. Вы должны заметить расширение файла вызываемого скрипта. Чаще всего это PHP-скрипт. У него и расширение такое: PHP-расширение. Отсюда вывод: хостинг-провайдер установил на своем сервере связку Apache+PHP+MySQL. Редко кто из них устанавливает на своем сервере операционную систему Windows в связке с PHP. Можете не соглашаться, но есть мнение, что эти компоненты плохо взамодействуют. У системы Windows имеется свой web-сервер IIS, поэтому провайдер, установивший на сервере систему Windows, использует связку IIS+ASP+MSSQL. Однако ASP-расширения в сетевых адресах встречаются довольно редко. Или я не туда ходил? Судите сами.

30 марта 2010 года

Все началось с того, что Валера принес мне DVD-диск, с установочным пакетом операционной системы ASP Linux. Валера - это мой бывший студент-программист. Сейчас он работает в информационном отделе некоего важного государственного учреждения, но скоро оттуда уйдет. Он почему-то думает, что такая работа не для него. Ему тошно видеть кучу бездельников, как он говорит, которых можно заменить двумя-тремя профессионалами и несколькими компьютерами. И сколько бы я не убеждал его в необдуманности такого поступка, он упорно стоит на своем. Все, что связано с ОС Linux, программированием, серверами влечет его как магнит. Он может часами говорить мне об этом, и уже порядком мне такими разговорами надоел. Но я терплю, понимая, что в его словах существенная доля истины. DVD-диск пролежал у меня какое-то время без движения, но вот настало и его время. Те из вас, кто хоть когда-либо был в шкуре преподавателя, понимают простую истину. Уча студентов какому-либо предмету, преподаватель учится сам. И если этого не происходит, то предмет в его изложении становится скучным, неинтересным, пустым. К нему на лекции перестают ходить, чему он и сам в глубине своей преподавательской души несказанно рад. Мне выпала такая доля вести курс прикладного программирования на PHP. Вот тут я и понял, насколько эти вещи связаны. Без Linux нет PHP. Поэтому, если Вы серьезно хотите заняться программированием на PHP, установите на своем компьютере систему Linux, пожалуйста. Я так и поступил.

31 марта 2010 года

Установку любой новой операционной системы я начинаю с того, что копирую с диска мои документы, рисунки, пакеты инсталляции, короче, все мое куда-нибудь в хорошее место. Например, на DVD-диски или запасной винчестер. Это делается с целью безопасности и сохранности данных. Думаю, любой мыслящий субъект поступит точно также. Некоторые, правда, говорят, что установка новой операционной системы в какой-либо из разделов диска не затронет информацию на других разделах. Вы можете этому поверить, но я не таков. Береженого Бог бережет, такой методы я придерживаюсь в подобных ситуациях. И не надо криво улыбаться и пренебрежительно говорить, что это лишнее. Были случаи, когда при установке новой системы данные на других разделах были утеряны. После резервного копирования настает черед специального ритуала, без которого я новую систему не ставлю. В свое время, когда изучал язык C, написал для примера программку полной очистки винчестера. Винчестер, обработанный этой процедурой, получается по логике таким, как если бы его только что изготовили на заводе. Во всех секторах диска сплошная пустота. Одни нули, нулевые значения байт то есть. Красота! Никакой файловой системы, ничего. Информационный вакуум, можно сказать. Заметил, что "омоложение диска", как я называю этот ритуал, благотворно сказывается на процессе установки. Весь процесс проходит без сбоев из-за ошибок в файловой системе или еще чего подобного. Просто потому, что файловой системы нет, и установщик создает ее заново. Устанавливая ASP Linux на свой компьютер, очень удивлялся, что вопросов по ходу установки задается меньше. Кроме того, никаких дополнительных драйверов ставить после установки системы не нужно. Установщик сам оценивает содержимое моего компьютера, сам подыскивает нужный пакет для работы с тем или иным оборудованием. Вот, к примеру, купил я не так давно какую-то экзотическую с моей точки зрения видеокарту. Я даже не помню ее марку. В следующий раз, если хотите, скажу. Так ведь нашел установщик и для нее пакет! А при установке Windows XP SP3 не тут то было. Нужно извлекать диск с драйверами и выполнять отдельно установку драйвера видеокарты. Так что первое небольшое преимущество уже есть. Едем далее: на установочном DVD-диске оказалась куча всякого программного обеспечения на все случаи жизни. Тут тебе и офис, тут и разработка. Можно также и разные серверы организовать. Я, естественно, выбрал и всего набора прежде всего web-сервер. Какую уж там я еще мелочь выбирал, я сейчас прямо не скажу. Там был и офис, и какая-то графика. Когда приходишь в бесплатный магазин, то глаза разбегаются. И того хочется, и этого. Ну вот, я и нахватал, чего и не нужно. Обдуманно я схватил еще только ftp-сервер и samba-сервер. С ftp-сервером все понятно. Хотелось соединить в сеть базовый компьютер с системой Linux и ноутбук. На ноутбуке обычная система Windows XP. С ним я работаю, на нем пишу PHP-скрипты. А вот отправляю результаты своей трудовой деятельности по ftp-протоколу на web-сервер. Что касается samba-сервера, то зря я его схватил. Он нужен, чтобы можно было пересылать файлы между станциями с различными операционными системами. Так зачем он мне при нормально работающем ftp-сервере? Бог с ним. Схватил и схватил. Удалить недолго. Установка прошла успешно. Компьютер перезагрузился. Система сказала, что надо бы создать пользователя, под учетной записью которого потом и входить. И тут то, в безобидной ситуации я сделал свою первую ошибку. Как это было, расскажу завтра.

1 апреля 2010 года

День дурака - самое лучшее время для установки операционной системы. Заранее знаешь, что где-нибудь обязательно сделаешь что-то не так. Поэтому и не впадаешь в уныние, думая о потерянном времени, о том, что неплохо было бы записывать последовательность своих действий. И вообще, давно пора иметь образ системы со всеми установленными драйверами и прочим программным обеспечением. Установка системы Linux никакой хитрости от меня не потребовала, и после загрузки системы с жесткого диска я вошел в Linux под учетной записью только что созданного пользователя, которого я гордо назвал "Administrator". Администратор оказался "липовый". Любое действие по настройке аппаратуры, а такая настройка всегда необходима, требовало ввода пароля какого-то root'а. Мы, люди воспитанные системой Windows, привыкли к тому, что учетная запись, регистрируемая при установке системы, является полноправной. Я установил систему, значит, моя учетная запись входит в группу администраторов. В Linux не так. Учетная запись, хоть как ее назови, будет записью с ограниченными правами. Зачем это, скажете. Разве я не хозяин своей системы? Хозяин. Но хозяин умный. А умный хозяин зря ворота не открывает. Установив систему, сразу хочется выйти в сеть. Вот тут нас и подстерегают опасности. Если входишь в сеть с полными правами настоящего администратора, то и вирусы, приходящие из сети будут иметь точно такие же полные права. Да если еще у администратора пустой пароль, вирусам благодать. Вреди, сколько твоей вирусной душе угодно. Мудрые разработчики системы Linux предусмотрели этот вариант. Если систему установил новичок, то для его же пользы имеет смысл ограничить его учетную запись в правах. Потом разберется. Поймет, как снять такое ограничение. Но поймет и другое: зря ворота не открывай. И "коробочку" тоже. Валера как-то просто из интереса установил однажды на своем компьютере систему FreeBSD. Так вот, оказалось что в ней служба безопасности устроена еще жестче. Там вообще нельзя войти в систему в режиме супер-пользователя или root'а. И только в моменты, когда нужно настроить аппаратуру или сеть, установить программное обеспечение, система запросит пароль этой учетной записи root. Под root'м зайти, конечно, можно. При входе в систему следует выбрать настройку "Другие...". Тогда регистрация учетной записи начинается с появления поля ввода имени учетной записи. Вот в это поле и нужно записать слово "root" без кавычек, естественно. И только после этого появляется поле ввода пароля супер-пользователя. Однако система воспринимает такой заход чуть ли не как катастрофу. Она начинает ругаться, кричать, что сейчас наступит конец света, хотя Чубайс еще и до рубильника не дотронулся. Некоторые возможности она вовсе исключает. Короче, нехорошо себя ведет. Стоит ли тогда идти напролом? Можно сделать хитрее. Войдем в систему под обычным пользователем, как бы он ни назывался, в какую бы пользовательскую группу ни входил. А среди системных приложений найдем "Терминал". Он похож на старинный, работающий в среде MS DOS командный процессор. Помните command.com? Он запускался при загрузке системы MS DOS и сопровождал все ее существование, пока она работала. Он был нужен для ввода команд из командной строки. Вот и здесь "Терминал" выполняет подобную функцию, только система команд здесь несравнимо богаче и сложнее. Иные далеко продвинутые программисты только в командной строке и работают. Ничего другого не признают. Вот и мы, запустив "Терминал" на выполнение, наберем команду su root. Система спокойно предложит ввести пароль root'а, и мы тихо и спокойно получаем все права главного администратора. Теперь набираем команду mc, и открывшаяся картина представляет нам всю файловую систему Linux. Так-то. А вы как думали?

2 апреля 2010 года

Вот все говорят "вау-вау", а как дело было не знают. Когда наш первый русский космонавт Юрий Гагарин в космос собрался, так он тайком от начальства, от Королева тоже кошку с собой взял. Это по старому нашему русскому обычаю так делается. Когда в новое жилье заселяешся, то первым делом кошку туда запускаешь. Чтобы обнюхала новое жилье на предмет отсутсвия чего вредного или какой нечистой силы. И если кошке понравится, то и людям опасаться не стоит. Ну вот, сказал Гагарин свое "поехали", и поехал с кошкой. А она не будь глупой все там в космическом корабле облетала, обнюхала. Понравилось ей в космическом корабле, да и вообще в космосе. Привыкла она к невесомости, к безвоздушному пространству опять же. А чего? Чем воняла - тем и дышала. Она и на Земле так делала. Кошки - народ любопытный. Все бы им разведать, обо всем бы узнать. Вот и эта тоже. Быстро ей в помещении надоело, в открытый космос захотелось. А первый наш русский космонавт тем временем свой первый космический завтрак съел, а обертки и бумажки разные в невесомости летают, мельтешат, видимость мирового пространства закрывают. Открыл Гагарин свою космическую форточку, да бумажки туда, в космическое пространство и выкинул. Так появился первый космический мусор. Не успел он космическую форточку закрыть, как кошка туда и сиганула. Любят они, кошки по форточкам скакать. Возвратился Юрий Гагарин обратно на родную Землю. Народ рукоплещет, Гагарина орденами да медалями награждает. Сам товарищ Хрущев Гагарину шнурки на ботинках завязывает. А кошка тем временем в космическом пространстве трепыхается, круги вокруг планеты нашей наворачивает. Как уж она там дальше жила, одному Богу известно. Объедками космонавтов питалась, видимо. Леонов, говорят, ее видел. И даже поиграть с ней пытался. Только она в руки не далась. А тут американцы со своими хаблами и шатлами. Инопланетян да зеленых человечков по всему космосу ищут. На далекие звезды свои хаблы наводят, а никакого толку от этих поисков нет. Один только шум реликтовый в хаблах прослушивается. Скучно американцам. Получается, что только на Земле и есть какая-никакая цивилизация, а на других планетах одна тысячелетняя пыль. Загрустили они. Понимают, что казенные деньги, на все такие исследования выделяемые, скоро кончатся. Не даст больше Конгресс денег, вот тебе и труба. И тут им на помощь наша кошка пришла. Летела она, глядит какой-то хабл или шатл космическое небо сканирует. Дай, думает, мяукну смеха для. И по-нашему, по-русски мякнула. "Мяу!", - говорит. Американцы то по-русски не понимают. У них вдруг во всех аудио и видеосистемах нормальный звуковой сигнал пошел, да только перевели они его на свой английский язык. А по-английски наше "мяу" звучит как "вау". Кошку то они не увидели, потому что она защитного цвета была. Никакой хабл ее не распознал, но звук от нее услышал. И радостные американцы в предвкушении новых денежных вливаний еще долго повторяли "вау-вау-вау". Кстати, от этого слова пошло наше русское "ваучер". Это что-то ненужное, свалившееся с неба. Вот так одни слова в другие и переливаются. А кошка наша героическая до сих пор, может быть, вокруг Земли летает, да на космическое пространство мяукает. К чему я все это наплел? К тому, что лучше один раз увидеть, чем сто раз всякое "вау" услышать. В изучении Linux ситуация примерно такая же. Пришло время некоторые картинки показать, чтобы иметь какое-то представление об установленной системе.

Это перед Вами не что иное как рабочий стол установленной системы. Мелкота, конечно. Надписей не видно, но всё же. А Вы вот что: если хотите рисунок как следует рассмотреть, так скопируйте его себе. Знаете как копировать? Щелкните по нему правой кнопкой мыши, в открывшемся выпадающем меню выберите пункт "Сохранить рисунок как...". Скопировали? Рассматривайте его теперь во всех деталях. Следующий рисунок показывает окно терминала. Командная строка сверху просматривается. Там показан переход от пользовательской учетной записи к учетной записи root'а. Заметьте, что при наборе пароля супер-пользователя, он в командной строке не просматривается. И даже точек или там звездочек нет. Вот какая секретность.

Теперь на "Лунный командир" взгляните. Это среда, о которой я уже упоминал. Она вызывается из терминала командой mc. Очень похожа на Norton Commander или FAR Manager. Только слэши, названия каталогов отделяющие, здесь прямые. Мы, работники системы Windows к обратным привыкли, но если вспомнить историю, вспомнить, скажем, систему RT-11, из глубины лет выплывающую, то все начиналось с прямых слэшей.

Что ко всему этому можно добавить? Только то, что система Linux - это система, где предпочтение отдается командной строке. Именно с нее мы и начнем.

3 апреля 2010 года

Жить хорошо. А со временем станет еще лучше. Например, людям, родившимся в 90-х годах, уже не понять, что такое "очередь", "талоны", "достать". Если они и говорят "достал", то совсем в другом смысле. В смысле "надоел". Изучать старые, простые операционные системы предыдущим поколениям было значительно сложнее, чем нынешним пользователям изучать новые и сложные. В чем причина такого парадокса? В интерфейсе взаимодействия системы и пользователя. Привлекательная графическая оболочка, множество рисунков и текста для пояснения, предупреждения о возможных неверных действиях. Да всего не перечислить. Щелкните правой кнопкой мыши над графическим объектом рабочего стола Windows, и в выпадающем меню Вы увидите список действий, которые можно с этим объектом совершить. А что же было раньше? А раньше был просто черный экран, на фоне которого белела и выделялась одна командная строка. Вот в этой-то строке нужно было набирать простые и сложные команды, чтобы выполнить те или иные действия. Например, создать новый каталог или удалить файл. Взгляните еще раз на окно терминала. Взглянули? А теперь представьте, что кроме терминала у Вас ничего нет. Как же возможно было жить и работать в таких условиях? Как-то приснился мне сон. Будто попал я в египетскую пирамиду. А комнат и залов там видимо-невидимо. Невидимо потому, что света нет. А у меня будто был фонарик, правда батарейка у него уже на излете. Постоянно включенным держать его нельзя. А мне нужно выбраться. Вот я вхожу в зал, на короткое время включаю фонарик, чтобы ориентироваться, иду дальше. И так повторяется в каждом зале, в каждой комнате. Точно также происходит при работе в командной строке. Темнота. Названий файлов и каталогов не видно. На кроткое время включается команда, например, ls. Она освещает файловое окружение, чтобы ориентироваться, где же мы находимся. Конечно, всякая аналогия хромает. Это давно подмечено. Хромает и эта. У операционной системы Linux есть великое множество других команд, которые выполняют самые разнообразные действия. Но спрашивается, зачем их изучать, если уже существуют мощные графические среды, где команды выполняются с помощью мыши. Где в нужные поля вводятся нужные данные, а команда выполняется нажатием кнопки. Да, все это так. С этим не поспоришь. Но вот Вам другая ситуация. Вы решились наконец создать собственный web-сервер на базе операционной системы Linux. Зачем, скажите, Вам на сервере графическая оболочка? Чтобы она проедала ресурсы? Чтобы замедляла работу сервера? Сервер физически представляет собой один системный блок. Ни монитора, ни мыши, ни клавиатуры нет. Настроили его один раз, чтобы больше к работе с ним не возвращаться. Вот и получается, что командная строка при настройке сервера - единственно возможный интерфейс. Ладно. Мы еще не такие продвинутые, чтобы, понимаешь, каждый день серверы настраивать. Другой пример. Вы знаете, что операционная система как и всякая вещь иногда требует ремонта. Система Windows, например, нуждается в очистке рабочих каталогов от разного файлового мусора. Хотелось бы еще выполнить дефрагментацию диска. Иногда требуется принудительно "выкусить" из реестра ненужные или поврежденные ключи. Нудная, надо сказать, работа, в последовательности которой можно что-то и забыть. А не лучше ли автоматизировать сей процесс? Лучше. Но тут опять требуется вспомнить командную строку, чтобы записать нужные команды в специальные пакетные файлы. Вызов такого файла приведет в исполнение всю записанную в нем последовательность команд. Ну вот. Я надеюсь, что убедил Вас в желательности изучения текстовых команд Linux. Тем более, что команда man, набираемая в терминале, выдаст Вам полную справку по каждой из команд. Запустите терминал и наберите команду man ls. Вам предстанет вся информация о команде чтения каталога. Иные авторы так и поступают. А чего мучиться? Набрал справочную команду, и вписывай результат в свой бестселлер. Получишь довольно объемистый том. Но, как говорил Ленин, мы пойдем другим путем.

4 апреля 2010 года

Другой путь трудным не будет. Замечено: чем быстрее книга пишется, тем дольше она читается. И не потому дольше, что интереснее, а потому что непонятно. Перейдем в режим терминала, установив права root'а. Если кто забыл, это делается так:


su root



Rambler's Top100