- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF89:Применяем навыки Linux
Материал из Linuxformat.
Содержание |
Применяем навыки Linux
Иногда приходится поработать и в других ОС. Грэм Моррисон изучает, окажется ли ваш Linux-стаж полезным при работе в MacOS X и Microsoft Windows.
Мы все вложили немало сил и времени, чтобы найти общий язык с Linux. Устанавливая свой первый дистрибутив, настраивая web-сервер в офисе или создавая среду разработки, мы постоянно открывали для себя что-то новое и чему-то учились. И в качестве читателей лучшего в мире журнала о Linux, мы счастливы тем, что наш опыт может постоянно обогащаться.
Но насколько полезен этот опыт? Помогут ли приобретенные знания при работе в других операционных системах? Мы не предлагаем вам тут же ринуться в Windows или OS X, просто хотим узнать, в чем преимущества знатоков Linux на альтернативных ОС.
Карьерный рост
Спрос на системных администраторов и разработчиков Linux сейчас неуклонно растет, но вакансий для администраторов Windows все-таки больше. И если у вас есть опыт обслуживания Apache, он пригодится вам под любой ОС – можете смело упоминать о нем в резюме. То же касается и прикладных программ. Привыкнув редактировать изображения в Gimp и работать с электронной почтой в Evolution, легко позабыть, что на свете есть целый мир альтернативных приложений, где этот опыт обеспечит вам прочные позиции. Если вы уверенно работаете в Linux и за годы пользования сумели проникнуть в глубины ОС вашего выбора, приятно осознавать, что полученные знания помогут вам при неожиданной смене карьеры.
Даже если какие-то навыки нельзя перенести в другую ОС, все равно знание Linux не было напрасным. Пользователю Linux невозможно удержаться от того, чтобы узнать, как на самом деле работает компьютер. Чем бы вы ни занялись – настройкой соединения по локальной сети, блокировкой порта в брандмауэре или восстановлением жесткого диска – вы всегда узнаете чуть больше о том, как все устроено.
Заглянем вовнутрь
Но главная ценность этого опыта в достижении понимания общих принципов и закономерностей. Например, если почтовый клиент не принимает входящую почту по протоколу IMAP, вы сразу сообразите, что порт может быть просто закрыт на брандмауэре, если когда-то настраивали брандмауэр в Linux – даже если в другой ОС не смогли бы этот порт открыть.
Чтобы разобраться, тяжкой ли покажется работа в других системах, мы сравнили функциональность по умолчанию, предлагаемую Linux и двумя другими ОС. Начнем с Apple OS X, как с более похожей на Linux.
Apple OS X
Пусть эта ОС и графическая, но командная строка здесь тоже полезна.
- Virtue Desktops Поддержка виртуальных рабочих столов запланирована на ближайший релиз OS X, но Virtue Desktops позволит вам использовать их уже сейчас. Это приложение с открытым исходным кодом, которое даже позволит скопировать и вставить ваш рабочий стол на грань пресловутого 3D-кубика.
http://virtuedesktops.info - Fink Если вам жизнь не мила без приложений Gnome или KDE, поможет Fink. Кроме 2000 поддерживаемых приложений, еще многие тысячи доступны из нестабильных репозиториев.
http://fink.sourceforge.net
Apple OS X происходит от разработанной Стивом Джобсом [Steve Jobs] операционной системы Nextstep, которая включала код ядра Mach и Unix BSD. И хотя графическая среда OS X поневоле притягивает к себе все наше внимание, сейчас мы убедимся в том, что в этой ОС много общего с Linux. Интерфейс пользователя OS X – просто оболочка, под названием Aqua. Как и в Gnome или KDE, полный контроль можно получить парой щелчков мыши благодаря родному интерфейсу командной строки – под псевдонимом Terminal. Вход в него – через папку «Приложения» (Applications), затем «Утилиты» (Utilities), а его значок виртуально идентичен Gnome и KDE. Да и по сути разница невелика.
Окно Terminal выглядит таким знакомым, потому что командная оболочка OS X – не что иное, как Bourne Again Shell, который мы ласково зовем Bash. Поэтому любой, кто пользовался командной строкой Linux, будет в OS X, как дома. Сощурившись на экран, можно даже убедить себя, что никуда и не переходил; это одно из основных преимуществ OS X над Microsoft Windows. Вы сможете делать практически все, чему выучились в Linux, включая создание скриптов и употребление тех же команд.
Основное различие между OS X и Linux кроется в структуре каталогов файловой системы. Правда, большинство файлов конфигурации все еще находится в папке /etc, но домашние каталоги пользователей и системные файлы хранятся в совершенно других местах: в папке /Users и в папке /Applications, соответственно.
Фактор X11
Благодаря близкому сходству Apple и Unix-подобных систем, есть и другие преимущества. Во-первых, разработчикам доступен компилятор GNU (GCC). Во-вторых, в OS X присутствует сервер X11; он основан на XFree86 4.4, последним выпуском перед печально известным разветвлением, которое способствовало появлению линейки X.org, применяемой многими линуксоидами.
Если вы разработчик, вам будет гораздо проще с X11, чем с собственными инструментами Apple. Компания выпускает большое количество кода по собственной открытой лицензии (Apple Public Source Licence) и к большей части оборудования Apple прилагается второй диск с исходными текстами и бесплатной средой разработки, называемой Xcode. Основной язык программирования в ней – Objective-C, также доставшийся в наследство от NextStep, но Xcode можно настроить и на C++ и даже интегрировать ее со свободно распространяемой версией библиотеки Qt. Впрочем, для создания кросс-платформенных решений лучшим вариантом будет открытая среда разработки Eclipse, а для быстрой разработки приложений берите что-нибудь вроде Ruby on Rails.
В качестве отладчика в следующую версию OS X (10.5, кодовое название Leopard) будет включен открытый продукт DTrace фирмы Sun. Он станет реальным подспорьем разработчика; вдобавок Apple отправила его на Unix-сертификацию в The Open Group, а это обещает хорошую совместимость и упрощение кросс-платформенных разработок.
Cервер X11 поддерживает аппаратное 2D- и 3D-ускорение. Преимущество этого сервера над «родным» для OS X Aqua – существенное упрощение переноса в OS X приложений из Linux/Unix: это лучший способ заполучить Gimp, OpenOffice.org, Ardour и даже использовать звуковой сервер Jack. Последним пользоваться на удивление просто: установите единственную панель управления, нажмите Play – и готово. При некоторой настройке оборудования пользоваться Ardour, Jack и эффектами реального времени даже проще, чем в Linux. Все эти приложения доступны для загрузки в X11-совместимом варианте для оборудования Apple, и будут работать точно так же, как и оригинальные приложения в Linux.
Для установки X-сервера в OS X вставьте первый инсталляционный диск, перезагрузите компьютер и выберите X11 в опциях программы установки. Сервер устанавливается довольно долго (лучше делать это одновременно с установкой OS X), но зато вам будут доступны все сливки Linux-приложений. X-сервер будет запускаться автоматически по запросу приложения. При этом на панели запуска Apple появится логотип X.
Еще один приятный сюрприз – установленный на Mac по умолчанию сервер Apache 1.3. Версия web-сервера, используемая в OS X, ничем не отличается от тех, которые поставляются с большинством дистрибутивов Linux, хотя многие уже переходят на версию 2.0. Можно установить и сервер Samba, а клиент Samba вообще встроен в систему. OS X, может, и не лучшая платформа для серверов, но лучший выбор, если вы хотите обойтись вашим Linux-опытом.
Прикладные программы
Apple знаменит дружелюбием к дизайнерам, и если у вас стоит Mac, то не исключено, что вы выбрали его именно из-за Adobe Illustrator, Photoshop или InDesign. Эти пакеты – безусловные лидеры рынка, так что очернять их перед открытыми аналогами было бы не совсем справедливо. Однако, и проприетарные, и открытые приложения строятся по одинаковым принципам. Если вы работали в Gimp или Inkscape, то без труда освоите Adobe Photoshop или Illustrator. В основе и тех, и других лежат концепции слоев, фильтров и контуров, и палитры на панели инструментов выглядят почти одинаково. Конечно, некоторое время уйдет на освоение меню, но основные практические приемы работы вы уже изучили в Linux. То же относится и к утилитам рабочего стола. Например, поисковая система Spotlight имеет много общего с Beagle, а виджеты рабочего стола похожи на SuperKaramba от KDE, так что в этом смысле OS X не слишком отличается от хорошо настроенного ПК с Linux.
Microsoft Windows
Linux опережает MS во многих областях – и это ваш козырь.
- Cygwin Популярная у разработчиков рабочая среда; под Windows, ближе нее к среде Unix/Linux ничего нет. Устанавливает X-сервер, инструменты GCC и библиотеки разработчика, а главное, Bash! Она не так хорошо интегрирована, как Fink на Mac’ах, но все равно отличная штука.
http://www.cygwin.com - Putty В Windows остро недостает клиента SSH. Имеются коммерческие версии, но Putty – очень удобная программа с открытым исходным кодом, работающая и в командном интерпретаторе Windows, и в собственном окне.
http://www.putty.nl
При попытке применения в Windows опыта Linux сразу же берет тоска от отсутствия интерфейса командной строки: ни Bash, ни Csh, ни Terminal не притаились среди каких-нибудь Utilities. Вместо них мы получаем современный вариант краеугольного камня, на котором строилась империя Microsoft: MS-DOS.
Возможности командной строки Windows (ярлык для ее запуска находится в меню «Стандартные») всегда уступали Unix-эквивалентам, и пользователи Windows годами, вплоть до появления Windows XP, были вынуждены вручную редактировать файлы конфигурации даже для того, чтоб добавить какое-нибудь пошлое запоминание истории команд. Недостает не только интерфейса – знакомых вам команд тоже нет: ls, less, ssh, и уж, конечно, нет emacs или vi; нет и команды для организации конвейера [здесь автор явно перегнул палку, – прим. ред.] Подход Windows отражает желание Microsoft упрятать внутренности своей ОС в Панель управления и системный реестр. Правда, можно установить кое-какие команды Unix, но от этого радости мало.
Сервировка
Пусть в Windows вам не пригодятся ни навыки администрирования системы, ни приемы работы в командной строке – все равно вы обладаете знаниями, которые найдут применение. Вообще говоря, администрирование Windows сильно зависит от понимания взаимодействия компьютера с локальной сетью – позади брандмауэра или перед ним – и способа соединения пользователей с Интернетом. Но, как и в OS X, можно установить на компьютере открытый web-сервер и оказаться на родной почве. Можно спокойно запускать из-под Windows и Apache, и PHP, и MySQL; они весьма похожи на Linux-версии, разница только в файловой системе. А установить их будет даже проще: все сайты разработчиков предоставляют двоичные Windows-пакеты.
Установить их просто, но потом никуда не деться от настройки; тут-то ваш линуксоидный опыт и предстанет во всем блеске (правда, надо помнить, что под Windows приложения будут устанавливаться в других каталогах – например, Apache помещается в Program Files). А вот при работе с собственными продуктами Microsoft уже понадобится знание теории: например, Microsoft SQL Server не слишком похож на MySQL, хотя язык у них и общий (SQL).
Даже продукты типа Microsoft Server 2003 покажутся незнакомыми среднему линуксоиду: Server 2003 – версия операционной системы Microsoft, поставляемая с мощным серверным оснащением, включая Exchange для почты и мгновенных сообщений и SQL Server для баз данных. Все как в Windows, только игр нет.
Разработчикам
Многие приложения Linux перехватили инициативу от Windows-аналогов. Например, если вы накоротке с Evolution, то легко справитесь с почтовым клиентом Microsoft Outlook. То же относится к программе для обмена сообщениями MSN Messenger, которая имеет много общего с Gaim и Kopete. Под Windows, конечно, всегда можно воспользоваться Firefox: Internet Explorer не покажется вам интуитивно понятным. Многие программы с открытым исходным кодом, в частности, Gimp, Scribus и Inkscape, портированы на Windows, существуют даже открытые Windows-приложения.
Любителям программировать в Windows будет житься неплохо: здесь имеются прекрасные среды разработки, например, бесплатно распространяемые версии одной из лучших IDE – Visual Studio. И с Visual Basic, и с C++ вам будет здесь хорошо. Основной язык и платформа Microsoft Windows – C#/.NET – портированы в Linux в рамках проекта Mono (см. стр. 22), но Visual Studio – настолько удачное средство для подобных разработок, что можно всерьез задуматься об использовании его вместо Linux. Если же вам нужна кросс-платформенная совместимость, то, как и в OS X, можно использовать одну из открытых сред разработки, например, Eclipse.
Перспективы Vista
Microsoft проработала пять лет, решая накопившиеся с Windows проблемы, но догнать Linux не удалось – разве что вы не слишком обеспокоены сетевой безопасностью. По-прежнему можно работать в командной строке, появилась Windows Desktop Search – некое подобие локальной поисковой системы типа Spotlight от Apple или Beagle для Linux.
Главные изменения заключаются в том, что Microsoft наконец ввела ограничение прав доступа для некоторых приложений. Internet Explorer запускается в «песочнице» по типу ‘root jail’, когда процесс имеет право доступа только к определенной директории или к заданной области памяти. Существенные изменения произошли и в управлении правами пользователя. Теперь для установки и удаления программного обеспечения или изменения конфигурации системы пользователь должен будет ввести пароль администратора. Именно так и работает Linux.
Вперед, к победе!
Если вам нужно переходить на другую ОС, или вы хотите слегка отдохнуть от Linux, лучшим вариантом, несомненно, будет OS X. Небольшие добавки: клиент SSH, приличный терминал, а также X11 – помогают освоиться здесь гораздо быстрее, чем в Windows. OS X дает наилучшую возможность применить ваши нажитые тяжким трудом Linux-таланты.
Нельзя сказать, что под Windows эти таланты окажутся не у дел. Windows просто создает лишний уровень абстракции по сравнению с подходом Linux. Проблемы все те же, но их решение в Windows отстоит дальше от первопричин. Самое ценное, что вы получаете от Linux – это глубинное понимание происходящих процессов. Пусть процесс от вас скрыт, но причины проблем остаются теми же в любой ОС. Если вы сталкивались с ними в Linux, вы распознаете их везде. Выходит, незачем и покидать Linux.
Технология | OS X | Windows |
---|---|---|
X11 | Да | Нет |
Bash | Да | Нет |
GCC | Да | Да |
Apache | Да | Да |
PHP | Да | Да |
MySQL | Да | Да |
SSH | Да | Нет |
.NET/Mono | Нет | Да |