Воскресенье, 17.11.2024, 04:57

Компьютерная помощь

Записки системного администратора

Меню сайта
Категории раздела
Компьютер [36]
Общекомпьютерные темы
Windows server [18]
Статьи по версиям windows для серверов.
Windows [30]
Статьи по версиям windows для рабочих станций.
Unix [65]
Статьи на тему unix-подобных систем. Linux, FreeBSD и т.п.
Видеомонтаж [10]
Статьи по нелинейному видеомонтажу
Программирование [9]
Заметки по программированию
Databases [10]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Вход на сайт

Поиск

Главная » Статьи » Unix

Руководство по установке программ в 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 и.т.д) и др., сами анализируют, какие пакеты необходимо загрузить и установить. А от пользователя требуется только кликнуть мышью в удобной графической оболочке и согласиться с установкой дополнительного ПО. Все необходимое будет загружено и установлено автоматически.

О правах администратора

Q: Что означает сообщение «у вас недостаточно прав для установки приложения»? И кто такой пользователь root? A: В Linux существует четкое разграничение прав пользователей. Обычно только администратор или пользователь, создавший файл (или каталог), могут выполнять с ним любые операции. В то же время любой файл можно сделать доступным для определенных групп пользователей и недоступным для других. Например, пользователи из группы гостей получат возможность только читать содержимое документа, а привилегированный пользователь - читать и вносить в него изменения.
root - это корневой пользователь, суперпользователь или администратор компьютера, обладающий неограниченными правами в системе. Постоянно работая с его правами, вы подрываете безопасность системы и рискуете случайно привести ее в неработоспособное состояние. Поэтому рекомендуется создать обычного пользователя с ограниченными правами и выполнять повседневные задачи от его имени.
В то же время такие операции, как установка новых приложений, доступна только администратору. Поэтому иногда необходимо временное получение прав суперпользователя. Оно достигается выполнением команды su или sudo. Команда su переведет командную строку в режим Администратора и позволит выполнять в ней любые операции.
Внимание! В некоторых дистрибутивах Linux команда su запрещена по умолчанию, и следует использовать sudo вместо нее. Команда установки файлового менеджера mc в Ubuntu будет иметь следующий вид:
apt-get install mc
Но если эту команду вписать в «Терминал» с правами обычного пользователя, установка прервется ошибкой. Выполняя ту же команду от лица администратора, консоль продолжит установку. Команда будет выглядеть так:
sudo apt-get install mc
Если же вы хотите выполнить только одну операцию в консоли, достаточно ввести sudo в начале команды. Так, следующая команда удалит все содержимое директории music, даже если вы не являетесь пользователем user (владельцем этой директории):
sudo rm –rf /home/USER/music
Следует заметить, что сообщение об отсутствии прав на операцию с файлами может быть вызвано некорректной расстановкой его атрибутов. Для того чтобы разрешить любому пользователю любые операции с файлом chip.pdf, находящимся в директории /home/USER/Documents/chip/, достаточно перейти в ее директорию:
cd /home/USER/Documents/chip
и ввести:
sudo chmod 777 chip.pdf Для удаления файла могут потребоваться права записи в каталог, в котором он находится.

Четыре способа установки ПО в Linux

Q: Что такое Tarball («Тарболлы») и бинарные пакеты? A: Tarball – это обычный архив формата TAR, TGZ, TBZ или TAZ. Внутри него может быть все что угодно. Однако если вы загрузили дистрибутив программы из Интернета или взяли с CHIP DVD, а сам файл имеет подобное расширение, то внутри, скорее всего, исходный код приложения. Однако это может быть и бинарный файл. В таком случае внутри архива вы найдете исполняемый файл с разрешением RUN, BIN, IN или подобным. Разархивируйте тарболл в свободную директорию и запустите мышью исполняемый файл. Все, приложение установлено.
Если что-то пойдет не так, попробуйте проверить права на исполняемый файл. Запустите командную строку и введите:
sudo chmod 777 /home/USER/FILE/file.run
Таким образом, файл станет доступным для запуска всем пользователям.
Во-вторых, полезным бывает обратиться к прилагаемому файлу помощи, например help.txt или readme.txt. Если вы захотите запустить приложение из консоли, воспользуйтесь командой вида:
./*.run Для файлов с разрешением RUN
sh *.bin или sh *.sh
Для файлов с разрешением BIN и SH
java -jar *.jar
Для Java-архивов

Звездочкой «*» с произвольным разрешением обозначается исполняемый файл приложения. Он может представлять собой как готовое к работе приложение, так и установочный пакет. Возможно, потребуется запустить эти команды от имени администратора.

Преимущества: относительная универсальность, простота в установке

Недостатки: установка и использование в обход менеджера пакетов системы, возможные сложности с удалением программы, необходимость создавать ассоциации файлов и ярлыки вручную

Вывод: рекомендуется к использованию только в случае отсутствия других вариантов

Q: Как собирать пакеты из исходного кода? A: Если вы загрузили Tarball, распаковали его и получили директорию со множеством файлов, среди которых есть файлы с именами readme и install, то, скорее всего, это исходные коды программы. Часто архив с исходными кодами имеет имя вида abc-0.8.7.tar.gz, где abc – имя программы, а 0.8.7 – ее версия. В самом банальном случае для установки программы требуется несколько простых шагов.
1. Создаем директорию для исходных кодов программы, помещаем туда архив и распаковываем его командой:
tar xfzv abc-0.8.7.tar.gz
2. Конфигурируем приложением командой
./configure
В ряде случаев скрипта конфигурации configure нет, и шаг можно пропустить.
3. Дождавшись, пока конфигурирование закончится, можно запускать устанавливать приложение командой:
make && sudo make install
4. Для удаления приложения следует воспользоваться командой:
sudo make uninstall

Для выполнения названных операций в системе должен быть установлен компилятор (обычно gcc), а также все необходимые библиотеки. Иногда во время установки возникают ошибки, и наилучшим способом их разрешения является поиск информации о них в Интернете.

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

Недостатки: возможны проблемы с Зависимостями, впособ требует уверенного знания системы, вамый медленный и трудоемкий способ установки программ, возможные сложности с удалением программы (необходимо хранить директорию с исходниками), веобходимость создавать ассоциации файлов и ярлыки вручную

Вывод: мы настоятельно НЕ РЕКОМЕНДУЕМ собирать приложения из исходных кодов, если их дистрибутивы есть в репозитории вашей системы. Это позволит сэкономить время и обеспечить лучший контроль над системой в целом. Однако если вы хотите получить максимально производительный пакет или просто нет других вариантов, то этот способ для вас.

Q: Как устанавливать специфические пакеты дистрибутива (например, DEB, RPM)? A: В большинстве дистрибутивов достаточно пару раз кликнуть по пакету, ввести пароль администратора и дождаться конца установки. Однако в системе должны быть установлены все Зависимости требуемого приложения. В дополнение ко всему не каждый DEB-пакет подойдет к любому дистрибутива семейства Debian (Ubuntu), и не каждый RPM-пакет - к любому дистрибутиву семейства RedHat (Fedora). Желательно устанавливать только те пакеты, которые были специально скомпилированы для вашей системы. Часто о назначении пакета можно судить по его названию. Например, пакет abc-0.9.7-ubuntu.deb, скорее всего, был скомпилирован для Ubuntu, а bcd-1.0.3-opensuse.rpm - для OpenSUSE.

Преимущества: возможность установки каждого пакета по отдельности

Недостатки: возможны проблемы с Зависимостями

Q: Что такое репозитории, и как следует устанавливать программы из помощи менеджера пакетов? A: В контекте Linux Репозитории, или Репозитарии (англ. «Repository» - хранилище) – это некоторое хранилище установочных пакетов для вашей системы. Например, репозиторий pacman обеспечивает пользователей OpenSUSE возможностью загрузки и установки самых актуальных приложений для их дистрибутива.
К системе можно подключить и несколько репозиториев. Например, установочный DVD, локальное зеркало вашего провайдера и официальные удаленные серверы. Чем больше репозиториев вы подключите, тем шире выбор программ для установки. Однако между некоторыми репозиториями возникают конфликты, и следует выбрать из конфликтующих репозиториев только один. Более подробную информацию о репозиториях вы сможете прочесть на сайте вашего дистрибутива.
Внимание, для различных версий одного и того же дистрибутива могут требоваться разные репозитории!
Для запуска менеджера пакетов обычно следует выбрать пункт меню с названием наподобие «Установка и удаление программ» или «Менеджер пакетов». Далее потребуется ввести пароль администратора, и можно осуществлять поиск требуемого приложения по содержимому репозиториев.
После того как нужное приложение будет найдено, нужно кликнуть по кнопке «Установить» - и менеджер пакетов сам установит все необходимые компоненты, включая зависимости.

Преимущества: высокая скорость установки, простота установки, предельная актуальность и совместимость между собой пакетов

Недостатки: требуется доступ к Интернету или полное собрание содержимого репозиториев на локальных носителях

Вывод: оптимальный способ установки программ в Linux - просто, быстро и надежно.

Дополнительная помощь Если вы прочли F.A.Q., но у вас еще остались вопросы, рекомендуем обратиться к поиску в Интернете. Рекомендуемые ресурсы: официальный сайт вашего дистрибутива Linux, Отличный F.A.Q. по Gentoo Linux (и не только) , а также FAQ русскоязычного сообщества пользователей Linux


CHIP CD

Категория: Unix | Добавил: admin (11.11.2011)
Просмотров: 5322 | Комментарии: 8 | Рейтинг: 5.0/2
Всего комментариев: 0
Имя *:
Email *:
Код *: