Как указать Ubuntu, где установить программу и как определить, где была установлена ​​существующая программа?

Я совершенно новичок в Ubuntu / Linux, сейчас использую Ubuntu Server. Просто пытаюсь понять что-то основное.

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

/home/sphinx

. Я создал каталог sphinx для размещения этого архива. Затем я выполнил следующие команды:

tar xvzf sphinx-0.9.8.1.tar.gz
cd sphinx-0.9.8.1/
./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql

и затем эти:

make
sudo make install

Теперь у меня есть много файлов, находящихся в каталоге где я запускал эти команды. Это моя установка Spynx или она была установлена ​​где-то еще?

В Windows, если вы запускаете установщик (файл .exe) в любом месте, программа все равно будет установлена ​​в каталог C: \ Program Files. Применимо ли что-то подобное к Linux, где все программы установлены в одном месте, или вы можете устанавливать программы в любом месте системы.

Вопросы

  1. Я бы предпочел хранить все мои установленные программы в одном месте, так что это подходящее место с точки зрения наилучшей практики. Другими словами, что является Linux-эквивалентом C: \ Program Files?

  2. И как всегда устанавливать в этом месте, это просто вопрос размещения tarball и запуска установки команды из этого места?

  3. А что если я использую sudo apt-get для установки пакета. Как я могу указать на это местоположение, чтобы apt-get всегда устанавливал его там?

10
задан 14 June 2012 в 06:16

3 ответа

Делает что-то подобное, применяются к Linux, где все программы установлены в центральном месте

Приблизительные эквиваленты Windows устанавливают каталоги в Linux

  • \Windows = /bin
  • \Windows\System32 = /lib и /sbin
  • \Program Files = /usr/bin и /usr/lib

Я предпочел бы сохранять все свои установленные программы в одном месте поэтому, что является правильным местом для этого с точки зрения лучшей практики. Другими словами, что Linux эквивалентен из C:\Program Files?

Это было бы каталогами под /usr, конкретно /usr/bin и /usr/lib.

И как каждый всегда устанавливает в этом местоположении, это - просто вопрос размещения tarball и выполнения команд установки от этого местоположения?

  • Нет. Где Вы - когда Вы работаете, команды установки почти никогда не имеет значения.

  • Программы Вы устанавливаете через apt-get (или aptitude) будет почти всегда заканчиваться соответственно в /usr. НО программы Вы компилируете из источника и make install будет чаще заканчиваться в /usr/local/bin, /usr/local/lib, и т.д., и у Вас могут быть проблемы с этим, так как установленный пользователями путь в Debian/Ubuntu /usr и нет /usr/local.

  • При компиляции из источника добавьте этот переключатель для конфигурирования: ./configure --prefix=/usr. Таким образом, когда Вы make install файлы закончатся в правильном каталоге

  • Также изучите checkinstall программа, которая отслеживает файлы пакет, скомпилированный от исходных установок, делает deb файл и допускает легкий, удаляют/переустанавливают.

Что относительно того, если я использую sudo Кв. - добираются для установки пакета. Как я могу указать на это местоположение для сообщения склонный - добираются, чтобы всегда установить там?

apt-get/dpkg заботьтесь об этом автоматически. Можно использовать dpkg -L name-of-package видеть все файлы, установленные пакетом и где они были установлены.

15
ответ дан 14 June 2012 в 06:16

Когда вы устанавливаете программы из репозитория с помощью обычной установки, он устанавливается в правильное место, создает файлы конфигурации в нужном месте (функционально аналогично реестру Windows) и автоматически создает пункты меню.

Когда вы загружаете файл (не предпочитаемый, но часто необходимый, когда приложение отсутствует в репозитории), то первое, что вы сделали, - запустили tar, что эквивалентно разархивированию в Windows. Это создает файлы, которые вы, скорее всего, видите.

Затем, когда вы запустите make install, это, как правило, поместит результаты в нужное место, может быть, создаст меню, но не удалит неупакованные файлы. Скорее всего, вы можете сделать это, но вы можете временно сохранить их на всякий случай.

Вот интересная статья о Структура каталогов Debian .

0
ответ дан 14 June 2012 в 06:16

Обычно программы устанавливаются в паре каталогов в одном каталоге top , называемом префиксом . Какой каталог top использовать, зависит от того, кто устанавливает, для какой цели и кто будет управлять программным обеспечением.

Префикс /usr используется программным обеспечением, упакованным вашим дистрибутивом. Вы не должны устанавливать никакое другое программное обеспечение там, потому что это будет сбивать с толку дистрибутив при установке и обновлении программного обеспечения, упакованного дистрибутивом. Поэтому , пожалуйста не устанавливайте там свое собственное скомпилированное программное обеспечение. Это не хорошая идея, если вы действительно не знаете, что делаете. И если вы не являетесь разработчиком Debian или Ubunut, вы обычно этого не делаете. Я бы так не поступил.

Для коммерческого программного обеспечения используется префикс /opt. Они зарезервированы для того, чтобы меньше всего вмешиваться в дистрибутивы и локального системного администратора.

Для программного обеспечения, устанавливаемого системным администратором для всех пользователей, используется префикс /usr/local. Там это далеко от как коммерческой, так и дистрибутивной установки и не будет мешать им. Таким образом, вы используете это как системный администратор (если у вас есть привилегии root, вы являетесь системным администратором).

Если вы обычный пользователь, устанавливающий программное обеспечение для себя, вы можете использовать свой домашний каталог в качестве префикса, используя опцию --prefix для configure с префиксом каталога «~/» или $HOME/. Я использовал это много, когда я был студентом. : -)

Обычно программное обеспечение делает правильные вещи, когда вы выполняете configure с опцией --prefix с правильным значением, а затем make; make install.

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

  • bin - исполняемые программы, двоичные файлы.
  • sbin - системные двоичные файлы, которые обычно не должны выполняться обычными пользователями.
  • man - справочные страницы для программ, библиотек и конфигурационных файлов и т. Д.
  • etc - файлы конфигурации со значениями по умолчанию для программного обеспечения.
  • lib - программные библиотеки и файлы данных, которые зависят от архитектуры (например, ЦП) вашего компьютера.
  • share - файлы данных, которые не различаются на разных архитектурах и могут совместно использоваться разными компьютерами.
  • var - каталоги с данными, которые изменяются во время выполнения программы. Как запись файлов и т. Д.

Большинство этих каталогов можно использовать с файловыми системами, защищенными от записи, для повышения безопасности. Единственный пользователь, которому нужно писать, это каталог var/. Когда программное обеспечение обновляется, эти каталоги, очевидно (?) Должны иметь права на запись. Это можно сделать с помощью перемонтирования с правами записи во время установки, а затем перемонтирования с чтением только после установки. Но это продвинутый уровень, и я привожу его только в качестве примера расширенного управления пакетами.

Также есть несколько каталогов непосредственно под / (корневой каталог), которых нет под любым другим префиксом, например /dev, /tmp, /proc и /srv (для каталогов данных сервера, но они обычно находятся в /var/lib или /var/www и подобных каталогах, поэтому вам нужно изменить конфигурацию, чтобы использовать этот каталог. Я рекомендую вам делать это, когда вы работаете с сервером. Используйте только /var/ для тестирования стандартная установка).

  1. Linux не MS Windows. Есть много мест для размещения программ, которые вы устанавливаете. Смотря кто устанавливает и для кого. Прочитайте это в моем посте. Примечание. RedHat использует /usr как Debian / Ubuntu использует /usr/local. Узнайте свой дистрибутив.
  2. Различные программы имеют разные методы установки. --prefix полезны для программ, использующих configure. Лучший способ узнать это, вероятно, прочитать файл README.txt или что-то в этом роде, которое вы, вероятно, предоставили в архиве tar. Архив tar может быть извлечен в любом месте, например, в вашем домашнем каталоге. После завершения установки вы можете удалить извлеченный архив tar, если вам не хватает места. Но не делайте этого раньше, если вы не проверили правильность установки.
  3. Программы, установленные с apt-get или aptitude, всегда устанавливаются в надлежащем месте для распространения. Вы не можете изменить это место.
0
ответ дан 14 June 2012 в 06:16

Другие вопросы по тегам:

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