Топ
Реклама
Рубрика
Архивы
Мобильная версия блога
[QR-Code]

F.A.Q. Руководство по установке программ в Linux

Говорят, что переезд, в том числе и офисный переезд, можно приравнять к стихийному бедствию. Это будет справедливо в любом случае, даже при «переезде» с одной операционной системы на другую, например, с Windows на Linux. Хорошо, если эту работу выполнят профессионалы, а если вы сами? Учитывая, что вы пока еще (подчеркиваю) ламер – в хорошем смысле этого слова, или «чайник», проще говоря?.. Всему можно научиться.

full_knopicilin

Предлагаю добавить в закладки этот небольшой F.A.Q. по установке программ в Linux.

Замечаю в последнее время, что кризис как-то неправильно влияет на наших отечественных предпринимателей – дорожает все на глазах. Если на Западе в это нелегкое время идут навстречу людям, то у нас готовы с чувством, не торопясь, содрать последнюю шкуру. Недостаточно просто купить торговое оборудование, надо еще и оставаться людьми. Не говорю о продуктах и прочем, простой пример – еще месяц назад журнал «Chip» стоил 180 рублей с диском, теперь все 200. Кстати, очень рекомендую журнал для прочтения, в нем всегда много полезной информации, а на диске «тонны», в том числе и бесплатного, программного обеспечения, включая дистрибутивы Linux. Это руководство, немного переработанное, от «Chip». Для тех, кто его еще не читает.

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

jedi_linux

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

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

Четыре способа установки ПО в 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 – просто, быстро и надежно.

Вам понравилась статья? Не хотите пропускать новые? Тогда подпишитесь на RSS или получайте новые статьи на электронную почту

Автор: Chief | Дата: 07.10.2009 | Комментариев: 20

20 комментариев на «F.A.Q. Руководство по установке программ в Linux»

  1. Xager пишет:
    08.10.2009 в 06:40

    Спасибо за полезный пост, добавил в закладки. Помню установливал ASP, так не смог толком разобраться, теперь будет легче.

  2. Сергей пишет:
    08.10.2009 в 12:50

    Довелось мне не давно устанавливать Linux (Ubuntu) , хорошо хоть товарищ помог, сам бы не разобрался, жаль что вы в статье не указали как правильно установить Линукс, как 2 операционную систему (имею ввиду как разбить винчестер, какого типа должен быть раздел, раздел для подкачки, ведь если ничего этого не делать то линукс поставиться поверх 1 операционной системы совместив и отформатировав при этом все разделы жёсткого диска)

    admin Reply:

    Сергей, подразумевалось, что Линукс установлен. Есть, конечно, тонкости при установке, обязательно напишу об этом.

  3. sidewinder пишет:
    08.10.2009 в 16:00

    А эту штуку читал?

    admin Reply:

    sidewinder, прочел – полная чушь. Прочтите лучше 28 причин

  4. ingvarr пишет:
    08.10.2009 в 19:37

    Когда я учился в университете, то брал журнал Chip в библиотеке.
    Библиотека его ежемесячно выписывала и еще много разных журналов.
    А диск давали даже на сутки домой.

  5. Seoshared пишет:
    09.10.2009 в 00:27

    Оффтоп: Чип тоже выписывали в библиотеке примерно в 99-01 годах. Но уже тогда бытовало мнение, что журнал тупо коммерческий. Гораздо интереснее “Домашний ПК” и “Компьютерное обозрение”.

    А по теме:
    С линуксом столкнулся в 2001-ом в первый раз. Тогда поставил ФриБСД (вроде 5.х). Знакомство мое не увенчалось успехом. И лишь сейчас я понимаю, почему (на данный момент админю 6 сервером под Дэбианом, Слакой и ФриБСД) – нужно ставить себе задачи. Нельзя просто взять и поставить *никсовую ОСь а-ля поиграться – ну, поставите, поставите пару софтин и все. Главное в никсах – это сетевые службы и сервисы (точнее – их стабильность и гибкость). Вот и ставьте себе задачу – разрулить небольшую сеть (на 3 машины, например), раздать инет, поднять фтп, вэб и т. д. Все это можно сделать на одной машине под ВМВарей. Вроде все. Разве что пост направлен больше на админов )))

    admin Reply:

    Seoshared, не думаю, что только для админов. Я помню как сам учился работать в Линукс – тихий ужас, гуру под рукой не оказалось и все пришлось искать самому, но теперь Линукс другой. И работать в нем легче. Устанавливать программы тоже, но все же некоторые вещи знать надо. Все течет, и все меняется… Чип тоже.

  6. работяга пишет:
    10.10.2009 в 17:16

    спасибо большое за информацию. добавил в закладки)

  7. felix пишет:
    12.10.2009 в 21:27

    Как то все намешано, вряд ли новички поймут. Кстати pacman живет в ArchLinux никакого отношения к OpenSUSE не имеет.

    admin Reply:

    felix, неужели тяжеловато? А Pacman имелся в виду репозитарий для SUSE…

  8. Максиим пишет:
    18.10.2009 в 16:31

    Хм я пол года назад вообще боялсяпанически линукс…Но по советам сторожил купил книжку за 200р “Основные команды Линукс” и разобрался…Долго правда выбирал дистрибутив, начал с дебиана, сейчас сижу на Опен Сусе – имхо самая простая их всех…Изначально собирался свой сервер поднимать под линуксом, но забил…А ставится все элементарно, есть не только консольные команды. + всегда можно мануал почитать…

  9. -torin- пишет:
    11.01.2010 в 21:05

    Отсутствие знаний долго не позволяло перейти на линукс. Ковырять в виртуалке мощность тогдашнего компутера не позволяла. Пошел своим любимым путем: сделал бекап файлов, отформатировал винт с виндой, установил линукс.. И все, уже никуда не денешься)) Хочешь-не хочешь а систему при таком способе очень быстро изучишь 🙂

  10. Svictor пишет:
    22.05.2010 в 22:00

    В последнее время проблем в установке программ для Linux все меньше и меньше. Появляются все новые сборщики пакетов. Например, знаменитый дистрибутив Ubuntu насчитывает около 10 тыс пакетов для установки(включая все зависимости). В ней можно найти все, ну или почти все ))

  11. Михаил пишет:
    03.09.2010 в 20:29

    Хорошая информация, но тут-http://spirit.kz/vosstanovlenie-linux.html еще очень много полезной инфы по линуксу

  12. ivm пишет:
    16.09.2010 в 19:26

    возможно неплохая статья, жаль автор не является полноценным членом сообщества пользователей, по этому не знает что “справочная система” Linux рассчитана даже на полную амнезию пользователя, включая раздел КАК… (HOW To) и полное описание пакета man(manual-руководство ползователя) название пакета
    а попытка противопоставить коммерческое ПО свободному просто глупость

  13. Вадим пишет:
    09.10.2010 в 10:47

    Я линуксоид почти год, но до конца его так и не освоил. Прочел Вашу статью два раза затем добавил в закладки чтобы читать постоянно. Сразу кипят мозги.

  14. Марина пишет:
    01.12.2010 в 21:28

    Подскажите, как быть с установкой принтера и интерактивной доски на школьном Линуксе Юниор 4.0. Принтер Samsung ML-1615, доска E-beam.

  15. marian пишет:
    16.02.2011 в 05:56

    Марина поставьте виндоус, там с дровами все ок 😉

  16. Илья пишет:
    13.02.2012 в 02:01

    Сижу в последнее время на Windows и Ubuntu, и не перехожу на Ubuntu как основную только потому, что нге освоил всех тонкостей, в т.ч. и установку софта. Полезная статья. Добавил в закладки.

Индекс цитирования Яндекс.Метрика Рейтинг@Mail.ru