Chastniimastertver.ru

Ремонт бытовой техники
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Установщик программы sh для роста. Установка программ в Linux

Установщик программы sh для роста. Установка программ в Linux

В статье мы уже касались способов установки программного обеспечения в ОС Linux. Напоминаем, что принцип установки ПО в Linux несколько отличается от установки ПО в Windows.

Установка из репозитория — самый простой путь, требующий минимум усилий. Бывает, правда, такая ситуация, что репозитория у какой-то программы нет вообще. Нет её и в репозитории операционной системы, либо там устаревшая версия. Рассмотрим другие способы установки.

deb-пакеты

Файлы .deb это установочные пакеты проекта Debian, ныне весьма успешно используемые во многих дистрибутивах Linux. Для установки такого пакета необходимо скачать его из сети или получить на каком-то носителе (CD, DVD, флешка).

После чего выполнить в терминале команду вида sudo dpkg -i [путь к файлу/имя файла.deb] , система попросит пароль супер пользователя и начнет установку.

К примеру, я скачал Teamviewer с официального сайта и хочу установить его в систему. В моем случае команда будет выглядеть так:

Sudo dpkg -i /home/test/Загрузки/teamviewer_10.0.37742_i386.deb

Заметьте, терминал Linux спокойно воспринимать кириллические символы, поэтому путь надо писать как есть.

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

а затем установить программу

Sudo dpkg -i teamviewer_10.0.37742_i386.deb

sh-инсталлятор

Этот способ чем-то похож на установку программ в Windows. По крайней мере здесь вы тоже увидите мастер установки. Правда, для этого нужно запустить его через всё тот же терминал.

Например, я скачал NetBeans и хочу установить его в систему. В данном случае шагов будет несколько, поэтому будет разумнее сразу перейти в каталог с файлом.

Затем даем файлу права на установку

Chmod +x netbeans-8.0.2-linux.sh

После чего устанавливаем файл

В случае с .sh файлами есть и другие команды. Например, я мог бы установить NetBeans командой

Самораспаковывающиеся архивы tar.gz

Такие программы вообще не требуют установки, их достаточно просто распаковать в любое место не компьютере. Общепринятая директория при этом /opt.

Здесь можно провести аналогию с самораспаковывающимися архивами в Windows. Довольно много программ в Windows имеют так называемые Portable версии. Здесь примерно то же самое.

RPM-пакеты

Процедура установки, в общем-то, схожая с deb-пакетами. RPM-пакеты используются в дистрибутивах Red Hat, Fedora, openSUSE, CentOS и других.

Продолжим наш пример с Teamviewer. Для установки RPM-пакета мне нужно сказать файл с расширением .rpm с сайта программы, после чего выполнить в терминале следующую команду:

Sudo rpm -i /home/test/Загрузки/teamviewer_10.0.37742.i686.rpm

Или, перейдя сначала в каталог,

Sudo rpm -i teamviewer_10.0.37742.i686.rpm

Установка из исходников

К этому способу лучше прибегать только в том случае, если нет других вариантов. Он заключается в компилировании (сборке) программы из исходных кодов.

В целом, компиляция в общем виде представляет выполнение команд ./configure , make и sudo make install и достойна отдельной статьи, в которой мы скомпилируем для примера какую-нибудь программу.

Как видим, все методы установки за исключением последнего не представляют особой сложности. В данной статье не был затронут такой совсем уж простой способ установки, как установка через Менеджер программ, в котором вся установка сводится к нажатию одной кнопки.

Успехов вам! И помните, день без Linux — день, прожитый зря.

Вся сила Linux в использовании терминала. Это такая командная оболочка, где вы можете выполнять различные команды, которые будут быстро и эффективно выполнять различные действия. Ну впрочем, вы наверное это уже знаете. Для Linux было создано множество скриптов, которые выполняются в различных командных оболочках. Это очень удобно, вы просто объединяете несколько команд, которые выполняют определенное действие, а затем выполняете их одной командой или даже с помощью ярлыка.

Но у новичков может возникнуть вопрос — как запустить скрипт в Linux, что для этого нужно сделать, что будет происходить и какие команды нужно выполнить. Но сначала нужно рассмотреть как работают скрипты и что такое исполняемость.

Как работают скрипты

В Linux почти не используется расширение файла для опережения его типа на системном уровне. Это могут делать файловые менеджеры и то не всегда. Вместо этого, используются сигнатуры начала файла и специальные флаги. Система считает исполняемыми только те файлы, которым присвоен атрибут исполняемости.

Теперь о том, как работают скрипты. Это обычные файлы, которые содержат текст. Но если для них установлен атрибут исполняемости, то для их открытия используется специальная программа — интерпретатор, например, оболочка bash. А уже интерпретатор читает последовательно строку за строкой и выполняет все команды, которые содержатся в файле. У нас есть несколько способов выполнить запуск скрипта linux. Мы можем запустить его как любую другую программу через терминал или же запустить оболочку и сообщить ей какой файл нужно выполнять. В этом случае не нужно даже флага исполняемости.

Читайте так же:
Программа для планирования задач с синхронизацией

Запуск скрипта sh в Linux

Сначала рассмотрим пример небольшого sh скрипта:

#!/bin/bash
echo «Hello world»

Вторая строка — это действие, которое выполняет скрипт, но нас больше всего интересует первая — это оболочка, с помощью которого его нужно выполнить. Это может быть не только /bin/bash, но и /bin/sh, и даже /usr/bin/python или /usr/bin/php. Также часто встречается ситуация, что путь к исполняемому файлу оболочки получают с помощью утилиты env: /usr/bin/env php и так далее. Чтобы выполнить скрипт в указанной оболочке, нужно установить для него флаг исполняемости:

chmod ugo+x sript.sh

Мы разрешаем выполнять запуск sh linux всем категориям пользователей — владельцу, группе файла и остальным. Следующий важный момент — это то место где находится скрипт, если вы просто наберете script.sh, то поиск будет выполнен только глобально, в каталогах, которые записаны в переменную PATH и даже если вы находитесь сейчас в той папке где находится скрипт, то он не будет найден. К нему нужно указывать полный путь, например, для той же текущей папки. Запуск скрипта sh в linux:

Или полный путь от корня:

Если вы не хотите писать полный путь к скрипту, это можно сделать, достаточно переместить скрипт в одну из папок, которые указаны в переменной PATH. Одна из них, которая предназначена для ручной установки программ — /usr/local/bin.

cp script.sh /usr/local/bin/script.sh

Теперь вы можете выполнить:

Это был первый способ вызвать скрипт, но есть еще один — мы можем запустить оболочку и сразу же передать ей скрипт, который нужно выполнить. Вы могли редко видеть такой способ с bash, но он довольно часто используется для скриптов php или python. Запустим так наш скрипт:

А если нам нужно запустить скрипт на php, то выполните:

Вот так все просто здесь работает. Так можно запустить скрипт как фоновый процесс, используйте символ &:

Даже запустить процесс linux не так сложно.

Выводы

Как видите, запуск скрипта sh в linux — это довольно простая задача, даже если вы еще плохо знакомы с терминалом. Существует действительно много скриптов и некоторые из них вам возможно придется выполнять. Если у вас остались вопросы, спрашивайте в комментариях!

Часто в сети мы ищем нужное нам приложение для дистрибутива Ubuntu/Kubuntu/Linux Mint и находим готовые пакеты разнообразных форматов. Например у пользователей которые еще осваивают Linux первым делом будет ступор, как установить программу в подобных форматах. В данном материале, я попытаюсь вам объяснить и показать на примерах, как устанавливаются приложения с всех этих форматов.

Не понимаете как установить приложения в форматах sh,run,deb,bin,install и linux, читаем материал где все в деталях описано.

Часто в сети мы ищем нужное нам приложение для дистрибутива Ubuntu/Kubuntu/Linux Mint и находим готовые пакеты разнообразных форматов. Например у пользователей которые еще осваивают Linux первым делом будет ступор, как установить программу в подобных форматах. В данном материале, я попытаюсь вам объяснить и показать на примерах, как устанавливаются приложения с всех этих форматов.

  • 1. Установка программы в формате sh, я с данным форматом регулярно сталкиваюсь, часто это бывают скрипты автоматизированной установки либо программы либо сборки сервера итд, в скрипте прописаны все пункты, что ставить и какие пакеты итд. Все пошагово и далее все собирается воедино и выходит готовое приложение.

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

Что нужно сделать для установки программы в формате sh? первым делом перейдите в директорию(папку) куда вы загружаете(скачиваете) приложения, обычно это папка «Загрузки», откройте терминал (Ctrl+Alt+T), далее выполните следующие команды:

[переходим в папку Загрузки] sudo cd

/Загрузки/ [даем право на чтение и запуск приложения] sudo chmod a+x ./file.sh [начинаем установку приложения] sudo ./file-name.sh

Лично по своему опыту, я с форматов sh ставил лишь(мини вебмани и еще скрипт был один, сборка сервера уже и забыл название, в общем для wine). Если вам ничего не говорит слово Wine и вы не понимаете, что это такое, ознакомьтесь с материалом — Изучаем Wine, основы для начинающих .

  • 2. Установка приложений в формате run, немного таких я встречал. Обычно это драйвера для видеокарты , в большей части случаев.

Устанавливается аналогичным методом как и sh:

  • 3. Установка программ в формате deb, приложения в подобном формате вы будете видеть часто если вы работаете в одной из систем семейства Debian. Как установить deb файлы, я уже описывал в материале — Как установить пакет формата deb и куда делся exe .
Читайте так же:
Как синхронизировать два жестких диска

Но так же еще есть вариант установки через терминал, как я ранее писал, первым делом перейдите в папку где лежит ваш файл, далее откройте терминал (Ctrl+Alt+T), и выполните следующую команду:

Sudo dpkg -i file-name.deb

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

  • 4. Установка программ в формате bin, в данном формате я устанавливал несколько приложений, это драйвера для Java скачанные с официального сайта производителя и установка приложения «Cisco Packet Tracer » для модулирования сетей.

Установка приложения в формате bin, очень похожа на установку приложений в форматах(sh,run,linux и install), откройте терминал , аналогично не забываем перейти в директорию в которой находится данный файл, как перейти, я уже описывал в выше.

[даем права на чтение и запуск] sudo a+x ./file-name.bin [запускаем установку] sudo ./file-name.bin

После запуска установки, от вас будет запрошен лишь пароль администратора и как вариант как это было у меня — «(press any to enter) «, нажать любую клавишу для продолжения установки, ну и возможно на следующем шаге еще ввести Y(yes) . На некоторых этапах установки приложений в данном формате это требуется.

  • 5. Установка программ в формате install и linux , ничем практически не отличается от(sh,run и bin). В формате install, я в сети наблюдаю регулярно приложения. Как вариант, я в последнее время где-то месяц назад, скачивал для тестирования антивирус Nod Eset для Linux , там приложение было не в форматах deb либо run, а именно в формате linux.

Установка аналогично очень проста, переходим в директорию в которой лежит наш скачанный файл и выполняем следующие команды:

[даем права на запуск] sudo chmod +x file-name.linux [запускаем установку] sudo ./file-name.linux

После начнется установка в которой вам придется просто нажимать на кнопочки — «Я согласен и тому подобные». Как пример установки приложения в формате linux, можете ознакомиться с материалом —

Как устанавливать программы на Linux

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

Способы установки приложений на Linux

Рассмотрим несколько вариантов, позволяющих установить программу в операционной системе Linux. А вы выберете тот способ, который нравится больше всего.

Установка из центра приложений

Мы не зря выбрали именно эти две операционные системы. Дело в том, что в них присутствует специальный центр приложений, при помощи которого можно без ввода каких-либо команд скачать любую программу или игру.

Linux Mint

В Linux Mint нам нужно открыть главное меню, кнопка которого находится в левом нижнем углу экрана, и запустить магазин приложений. Тут он называется «Менеджер программ». Дальше дело техники, просто пользуемся поиском и находим то приложение, которое хотим инсталлировать.

Установка программы из магазина Linux Mint

Далеко не все программы есть в этом магазине. Здесь имеются только проверенные, стабильные и надежные решения, которое гарантируют монументальность всей операционной системы Linux. Установить на данную ОС можно все что угодно, но для этого придется привязывать дополнительные репозитории. Однако, это уже тема другой статьи.

Linux Ubuntu

В Ubuntu существует точно такой же магазин. Тут есть категории и поисковая строка, позволяющая найти любой софт, который нам нужен.

Менеджер приложений Ubuntu

Если вас интересуют именно игры, мы можем установить такое приложение как Steam и скачивать развлечение оттуда.

Используем терминал и репозитории

Существует еще один способ, который больше подойдет ценителям классики. Он подразумевает использование терминала Linux.

Linux Mint

Для того чтобы запустить терминал в Linux Mint или Linux Ubuntu нам достаточно нажать одновременно кнопки [knopka]Ctrl[/knopka]+ [knopka]Alt[/knopka]+ [knopka]T[/knopka]. После этого вводим команду [kod]sudo apt-get install Название искомого приложения[/kod]. После подтверждения начнется скачивание и автоматическая установка.

Установка через терминал

Для подтверждения вам понадобится ввести тот пароль, который был задан при установке операционной системы.

Linux Ubuntu

Linux Mint, как известно, основан на Ubuntu. Поэтому и само ядро, и его окружение здесь схожи. Запустить терминал можно тем же самым сочетанием кнопок и команды, вводимые в него, будут аналогичными.

Терминал в Убунту

Производим инсталляцию из пакета

Также существуют альтернативные варианты установки приложений в Linux. Он подразумевает скачивание и использование установочного пакета. В разных операционных системах может использоваться разный тип таких пакетов. Это, например, DEB или RPM. Мы рассмотрим, как это выглядит в Linux Ubuntu и Mint на примере установки браузера Google Chrome, которого нет ни в магазине, ни в терминале:

Читайте так же:
В настройках синхронизации нет календаря google

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

Запуск пакета

А вот так это выглядит Linux Ubuntu.

Установка пакета в Убунту

Видеоинструкция

Читать и смотреть скриншоты – это, конечно, хорошо. Однако, если вы ознакомитесь с видео, в котором автор наглядно показывает все то, что было написано в статье, вы получите гораздо больше знаний.

Подводим итоги

На этом мы свою статью можем заканчивать так как вы, наверняка, усвоили все способы установки приложений в операционной системе Linux.

А если у вас остались вопросы, пишите их в комментариях. Форма обратной связи прикреплена в самом низу странички и всегда доступна каждому посетителю нашего сайта. Для этого даже не нужно регистрироваться.

Как установить программу в linux для всех пользователей, а не только для root?

Я установил shrewsoft vpnmanger на свой linux (crunchbang kernel 3.2.0-4 amd64) проблема в том, что каким-то образом он может быть запущен только как sudo. Может кто-нибудь объяснить, как я могу это исправить?

Как я могу изменить установку IK так, чтобы она была доступна для каждого пользователя?

2 ответа

  • Matlab путь поиска для всех пользователей на linux

Как добавить путь поиска Matlab для всех пользователей в системе Linux? Я управляю компьютером Linux, который используется несколькими людьми. Я хочу поместить некоторые файлы Matlab *. m в путь (например, /usr/local/matlab/our_matlab_scripts/), который каждый имеет разрешение на чтение. Я также.

Есть ли простой способ установки программы в linux только для одного пользователя? Мне нужно установить Biopython только для моего входа в систему. У меня нет прав суперпользователя в системе.

Речь идет только о путях поиска команд обычным пользователем shell. Но обычно имеет смысл, что эти команды, расположенные в каталоге sbin , недоступны, если ввести только имя команды. Эти команды нуждаются в доступе к защищенным ресурсам, которые доступны только root .

Но если вам повезет, что вы сможете получить полные права с помощью sudo , вы можете просто создать псевдоним с помощью

и добавьте его в файл ресурсов вашего shell.

Чтобы сделать полную команду доступной для всех пользователей, просто набрав iked , вы можете создать небольшой скрипт bash с именем iked с содержимым

и поместите его в /usr/local/bin .

Конечно, это подразумевает наличие соответствующего файла /etc/sudoers и наличие разрешения на выполнение iked .

попробуйте скопировать или создать символическую ссылку в нем в /usr/bin.

и посмотрите, работает ли он для пользователя, если у него есть глобальный файл журнала (я не знаю об этом приложении, поэтому не комментирую), но если предположить, что у него есть какой-то логин /var/log/iked.log и он был написан root, у вас будут проблемы с разрешениями от другого пользователя, поэтому передайте его какой-нибудь нейтральной группе, например пользователям или что-то в этом роде.:

Попробуйте здесь , это может дать вам больше информации, я вижу, что вы могли бы попробовать:

Но из того, что я прочитал, у него есть логин /var/log, и да, проблема с разрешениями была бы основной проблемой, особенно если бы root был первым пользователем, запустившим это приложение.

Похожие вопросы:

Я разработал установку Wix для установки надстройки Excel для всех пользователей. Я хочу установить VSTO Excel addin для Excel 2007,2010 и 2013 годов для всех пользователей. Но я могу установить его.

При установке rails с sudo gem install rails или с корневым пользователем, эта установка в $HOME/.gem и работает только для фактического пользователя, как установить для всех пользователей в системе.

Можете ли вы установить программу для All Users с помощью Visual Studio ClickOnce Publishing? Я запустил программу установки, и мне не дали опцию Install for All users => затем я проверил.

Как добавить путь поиска Matlab для всех пользователей в системе Linux? Я управляю компьютером Linux, который используется несколькими людьми. Я хочу поместить некоторые файлы Matlab *. m в путь.

Есть ли простой способ установки программы в linux только для одного пользователя? Мне нужно установить Biopython только для моего входа в систему. У меня нет прав суперпользователя в системе.

Я новичок в системе Linux, и, похоже, там слишком много папок Java. java-версия дает мне: java версия 1.7.0_55 OpenJDK среда выполнения (rhel-2.4.7.1.el6_5-x86_64 u55-b13) OpenJDK 64-Bit сервер VM.

Читайте так же:
Установка операционной системы с другого компьютера

Как установить пакет в стандартную среду python, т. е. /usr/local/lib/python2.7/dist-packages с использованием pip , и сделать этот новый пакет доступным для всех пользователей без использования.

Я обновился до версии здесь , где он устанавливает его для каждого пользователя, а не для всех. Как вместо этого установить программу для всех пользователей? Нужно ли мне теперь устанавливать для.

Как найти последнюю дату входа для всех пользователей в Linux? Я попробовал последнюю команду, но она извлекает только последние последние логины из wtmp.

Из всех учебников Golang, которые я читал, вы устанавливаете программу Go, устанавливая переменную окружения GOPATH=

/go или что-то подобное, а затем вы можете запустить go get blah , и Go загрузит.

Самые полезные настройки и команды Linux

Хотя большинство Linux дистрибутивов содержат в своем составе множество полезных программ, возможно, вы захотите попробовать новые программные продукты. Некоторые программы будут доступны для загрузки через менеджер пакетов, подобный Synaptic. Другие программы вы найдете только на сайте разработчиков, которые вероятнее всего, будут упакованы в архив.

Вы, возможно, спросите себя: Что дальше? Ответ очень прост. Существует три варианта загрузки, от самого легкого до трудного.

  1. Скомпилированные пакеты, обычно с .rpm или .deb расширением. Эти пакеты подобны Windows exe инсталляторам и будут распаковываться и устанавливаться автоматически. Лучшая сторона пакетов — это простота их развертывания; худшая сторона — они не позволяют пользователю управлять процессом установки.
  2. Компилированные архивы, называемые tarballs (tar-архивы), с расширением .tar . В этих архивах будут находиться все необходимые файлы, которые потребуются для запуска установки программы. Однако, после распаковки архива пользователю необходимо устанавливать их вручную из командной строки. Эти архивы, скорее всего, будут упакованы и иметь двойное расширение, например, tar.gz или tar.bz2 . Эта опция предлагает больше возможностей управления во время установки.
  3. Исходники (исходные тексты программ), обычно заархивированы. Пользователь должен распаковать архивы, затем скомпилировать исходники до непосредственной установки программы. Этот метод позволяет лучше управлять процессом установки и дает преимущество в результате оптимизации программных средств в соответствии с аппаратной конфигурацией системы.

Что выбрать?

Логичный выбор для начинающего пользователя будет 1 (первый вариант, скомпилированные пакеты). Пользователи средней квалификации, вероятно предпочтут 2 (второй вариант, скомпилированные архивы). Фанаты, наверное, будут всегда компилировать из исходных текстов.

Порядок действий

Это может прозвучать слишком строго, но существуют определенные негласные правила, понимание которых упрощает загрузку программного обеспечения.

  • Программа всегда сопровождается практическим руководством ("как сделать?" — how-to), обычно в форме текстового файла, который поясняет, что необходимо делать пользователю: до, во время и после установки. Практические руководства очень часто находятся на сайте, с которого загружается программное обеспечение. Это может быть отдельный файл, поясняющий текст, или ссылка на странице загрузки.
  • ПЕРВОЕ, прочтите руководство до загрузки программного обеспечения или манипуляции с ним.
  • ВТОРОЕ, руководство по установке программы, как правило, упаковано вместе с программой и поясняет процесс ее установки.
  • Прочтите руководство по установке до установки программного обеспечения.

Распаковка архива

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

Вы можете узнать более подробно об использовании архивов (tarballs) на сайте Wikipedia .

Упаковка архивов zip

Некоторые архивы будут упакованы архиватором zip, а не tar. Это запросто может оттолкнуть вас. Однако, проблема легко решаема. Если вы помните, мы имеем возможность обратиться к помощи из-за любой неизвестной команды. В этом случае нам необходимо узнать, как разархивировать архив zip.

На приведенном мной снимке экрана, показана дилемма, с которой мы столкнулись, и ее решение:

Обычное применение будет следующим:

Прочитайте экран справочной информации, приведенный выше. Мы хотим распаковать имеющийся архив в каталог. Аргумент -d говорит о том, что содержание архива будет извлечено в каталог размещения. В нашем случае папка для временного хранения файлов называется /tmp .

Установка

После распаковки архива вы получите установочный комплект программного обеспечения. Обычно, установка вызывается с помощью скрипта. Точное имя скрипта будет меняться в зависимости от программы. Также его расширение будет меняться в зависимости от языка, на котором он написан.

Например, следующая команда вызовет скрипт install.pl (написанный на Perl). Точка и завершающий слэш показывают, что скрипт будет выполнен из текущей папки.

Сборка (из исходных текстов)

Иногда программы не скомпилированы и не готовы к установке. Архивы содержат много файлов с непонятными расширениями, например, .c, .h и .o. Если вы не программист, вам не нужно беспокоиться о них и их назначении. Также вы можете не знать, каким-образом осуществляется компиляция из исходников.

Читайте так же:
Конфигурация пользователя административные шаблоны система установка драйвера

Вам просто нужно помнить три простые команды.

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

Вторая команда сформирует библиотеки и приложения.

Третья команда установит библиотеки и приложения.

В качестве домашнего задания, вы могли бы немного почитать:

Это не гарантирует, что компиляция будет успешной. Некоторые исходные тексты нерабочие! В этом случае запишите ошибки и разместите их на тематических форумах, где вы скорее всего довольно быстро найдете ответ.

Кратко об установочных методах

Чтобы сделать вещи доступнее для понимания, ниже приведены два примера, показывающие список команд, которые требуются для успешной установки загруженного приложения (обратите внимание это ТОЛЬКО примеры!). Скорее всего вам понадобятся права суперпользователя (su или sudo) для установки программного обеспечения.

Linux: Установка программ не входящих в дистрибутив при помощи менеджера xstow

Современные дистрибутивы Linux имеют в своем составе очень много софта. Проблемы с установкой/удалением/обновлением такого софта решены, можно сказать, идеально. Всем занимается менеджер пакетов. Выбрали нужный пакет, менеджер пакетов установит его. Нужно удалить — менеджер пакетов удалит и аккуратно все почистит. Но, иногда хочется, или нужно, установить программное обеспечение, не входящее в дистрибутив, или распространяющееся в исходниках, или даже в бинарниках. Как поступать в таких случаях?

В дальнейшем, для определенности, предполагаем, что мы используем Linux, дистрибутив Ubuntu или Debian.

Установка пакета из исходников

Классический для свободного софта путь распространения, распространение в исходных текстах. В таком виде программа представляет собой архив с именем вида:

Установка такого софта производится выполнением набора несложных команд:

ШагКомандаЧто делает
1tar -xzvf name-version.tar.gzРаспаковка архива
2cd name-versionПереходим в полученный после распаковки директорий
3./configureНастройка исходников на нашу систему
4makeКомпиляция
5sudo make installУстановка
Проблемы
Проблема 1: Отсутствие нужных библиотек

Очень часто все не идет так гладко, а на шаге 3, команда configure на что-то жалуется. А жалуется она как правило на отсутствие нужных библиотек, или заголовков библиотек. Рассматриваем внимательно выход, который выдала команда configure на консоль и устанавливаем недостающие библиотеки и заголовки. Заголовки для Debian-подобных дистрибутивов, в том числе и для Ubuntu находятся в пакетах с суффиксом -dev в названии пакета.

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

Запускаем configure опять. Теперь жалуется на заголовки этой же библиотеки. Устанавливаем и их:

Ну наконец, установили все нужное, откомпилировали, работаем и получаем удовольствие. Казалось бы, счастье, вот оно. Но нет, вырисовывается проблема 2:

Проблема 2: бардак в системе

Предположим, мы установили одну программу из исходников, другую, третью. И вдруг нам понадобилось удалить первую, или заменить ее версию. А мы, оказывается не знаем, какие файлы относятся к этой программе и где они. Одни программы устанавливают свои файлы в иерархию /usr/local, другие вообще в /usr. В общем, мы не знаем, как вычистить файлы, относящиеся к пакету.

Отступление: Стандартная иерархия файловой системы Linux (File System Hierarchy Standard)

В Linux есть стандарт на размещение файлов в системе. Ссылки приведены в разделе Литература. По этому стандарту, в иерархии директорий /usr должны храниться файлы используемые пользователями, в том числе и пользователям с других компьютеров. В иерархии директорий /usr/local — файлы используемые локальными пользователями. Таким образом нам нужно наши программы ставить в иерархию /usr/local, и при этом избежать бардака.

Менеджер пакетов xstow

Сделать это нам поможет менеджер пакетов xstow. Можно пользоваться также менеджером stow, xstow — это расширенная версия. Что он делает? Очень простую вещь. Мы устанавливаем наши программы в иерархию /usr/local/stow, каждую программу в свою директорию, а потом менеджер xstow создает символьные линки на наши файлы из иерархии /usr/local. Устанавливаем xstow:

Теперь последовательность операций при установке пакета с использованием менеджера xstow.

ШагКомандаЧто делает
1tar -xzvf name-version.tar.gzРаспаковка архива
2cd name-versionПереходим в полученный после распаковки директорий
3./configure —prefix=/usr/local/stow/name-versionНастройка исходников на нашу систему так, чтобы установить в указанный директорий
4makeКомпиляция
5sudo make installУстановка
6cd /usr/local/stow/Переходим в директорий, где лежат программы
7sudo xstow name-versionСоздаем символьные линки в иерархию /usr/local

Удаляет символьные ссылки. После удаления ссылок директорию с файлами программы, находящуюся в /usr/local/stow/ можно удалять.

Заключение

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector