Компьютеры
Программы

Linux

Хрюн (off) VIP [881]
26 февраля 2008, 05:30

Существует расхожее мнение, что процесс установки программ в Linux сложнее, чем в Windows или Mac OS. Чтобы развеять эти мифы, мы подготовили руководство, раскрывающее четыре универсальных метода инсталляции программного обеспечения в современных дистрибутивах Linux. В качестве введения мы предлагаем информацию о ряде отличительных особенностей Linux, о которых важно знать при установке новых программ. Для полноты картины мы приводим примеры с использованием командной строки, но чаще всего в ее использовании нет необходимости. Обычно для установки достаточно пары кликов по пиктограмме пакета, ввод пароля и подтверждение установки.

Ключевые отличия Linux от Windows

1. Linux чувствителен к регистру, то есть abc.Doc, ABC.DOC и abc.doc – три совершенно разных файла
2. Для того чтобы вызвать файл помощи по любому приложению, достаточно выполнить в консоли команду man SOFT, где SOFT – название приложения. Пример: man mc вызовет файл помощи по файловому менеджеру mc. Если же вы хотите получить краткую справку, воспользуйтесь командой вида mc --help.
3. Для обозначения положения в файловой системе используется не обратный слеш \, как Windows, а слеш /, т.е. директории обозначаются как /home/user/, а не \home\user\
4. В файловой системе Linux есть корневая директория /, внутри которой находятся все остальные директории.
5. Большинство приложений устанавливаются не в одну конкретную директорию, а распределяют свои компоненты по различным директориям файловой системы в зависимости от их типа. Например, конфигурационные файлы в /etc, индивидуальные файлы настроек пользователей - в /home/USER/, исполняемые файлы - в /bin или /usr/bin, а библиотеки - в /lib.

Обычно представлен следующий список:
• /bin – исполняемые файлы;
• /boot – файлы необходимые для загрузчика;
• /dev - файлы устройств (для Linux любое устройство представляется как файл);
• /etc - файлы настроек;
• /home - домашние каталоги пользователей;
• /initrd – директория для RAM-диска;
• /lib — библиотеки;
• /lost+found – восстанавливаемые после случайного удаления файлы;
• /media и /mnt – содержат точки монтирования, т.е. через эти директории осуществляется доступ к CD/DVD, флеш-картам, винчестерам и иным локальным и сетевым накопителям;
• /opt – в эту директорию устанавливаются определенные программы;
• /proc – виртуальная файловая система;
• /root – домашняя директория Администратора компьютера;
• /sbin - системные исполняемые файлы;
• /srv - данные системных служб, например FTP-сервера;
• /tmp - временные файлы;
• /usr – вторичная файловая система;
• /var - изменяемые данные, например логи.

О Зависимостях

Q: Что такое Зависимости (Dependency – англ., «Депенденсы» - слэнг) и зачем они нужны? A: Практически каждой программе для корректной работы требуются библиотеки и ресурсы внешних приложений. Эти требования и называются Зависимостями. В Windows существует единая архитектура и единый стандартный набор библиотек, присутствующий в каждой системе. Поэтому многие программы опираются на этот стандартный набор и устанавливают только те дополнительные компоненты и библиотеки, которых нет в системе по умолчанию. В Linux общего универсального набора библиотек нет, и общим для всех дистрибутивом является только ядро и базовый набор утилит. Чтобы обеспечить работоспособность своих программ, создатели приложений вынуждены прямо указывать в установочных пакетах, к каким дополнительным программам и библиотекам обращается их детище. Соответственно, чтобы программа заработала, сначала нужно установить недостающие компоненты. Например, программа может представлять собой графический интерфейс для консольного архиватора. И вся ее задача - это перевести действия пользователя, например мышью, на язык этого самого консольного архиватора. Простой пример: пользователь кликнул в окошке программы по значку «Распаковать», а программа передает соответствующую команду архиватору. Когда архиватор заканчивает работу, программа перехватывает данные об операции и сообщает пользователю результат. В итоге для создания и распаковки архивов больше не требуется изучать устройство архиватора и использовать командную строку. Однако если не установить сам консольный архиватор, программа работать не сможет. Таким образом, он представляет собой ее Зависимость. Главный недостаток Зависимостей заключается в том, что они часто вызывают конфликты. Представьте что одной программе для работы требуется библиотека /lib/chip.lib версии 1.26, а другой - более ранняя версия 0.93. В итоге просто так эти две программы не установишь, ведь две разные версии одной и той же библиотеки могут оказаться фактически несовместимыми между собой. Остается либо устанавливать более старые версии программ, либо ждать, пока обе программы научатся работать с единой библиотекой. Третий вариант - самостоятельно разрешать конфликт. В самом простом случае может помочь создание жесткой ссылки на библиотеку командой вида.
sudo ln /lib/chip-0.97.lib /lib/chip-1.26.lib
А в более сложном - потребуется править исходный код приложений, что уже требует глубокого знания Linux и ее командной строки, а также определенных навыков программирования.
Второй ключевой недостаток Зависимостей – сам факт того, что дополнительные компоненты нужно отдельно загружать и устанавливать. Ладно, если зависимость одна, но их может быть сколько угодно – и десять, и пятьдесят, и сто.
По выше названным причинам на ранних этапах развития Linux Зависимости были настоящей бедой и вызывали священный ужас у непосвященных. Благо, в современных дистрибутивах проблема, за редким исключением, полностью решена. При установке новых программ такие менеджеры пакетов, как rpm (Fedora, Mandriva и.т.д.) и apt (Debian, Ubuntu и.т.д) и др., сами анализируют, какие пакеты необходимо загрузить и установить. А от пользователя требуется только кликнуть мышью в удобной графической оболочке и согласиться с установкой дополнительного ПО. Все необходимое будет загружено и установлено автоматически.
-------

Назад в тему

Программы
Список форумов
На главную

0.016 сек
SQL: 3