Как я знаю, куда поместить вещи в Linux?

В зависимости от того, как настраивается Ваша система Linux, можно заглянуть:

  • /var/spool/cron/* (пользователь crontabs)
  • /etc/crontab (crontab в масштабе всей системы)

также, много дистрибутивов имеют:

  • /etc/cron.d/* Эти конфигурации имеют тот же синтаксис как /etc/crontab

  • /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly

Это просто каталоги, которые содержат исполняемые файлы, которые каждый час выполняются, ежедневно, еженедельно или ежемесячно, на их имя каталога.

Вдобавок ко всему, Вы можете иметь в заданиях (проверка /var/spool/at/*), anacron (/etc/anacrontab и /var/spool/anacron/*) и вероятно другие я забываю.

59
04.05.2012, 03:18
4 ответа

Если это - программное обеспечение, которое повинуется Стандарту Иерархии Файловой системы, чем необходимо поместить его в /usr/local и соответствующие подкаталоги (как bin, lib, share, ...).

Другое программное обеспечение должно быть помещено в их собственный каталог под /opt. Затем любой набор Ваш PATH переменная для включения bin каталог или безотносительно каталога, который содержит исполняемые файлы или создает символьные ссылки на /usr/local/bin.

33
27.01.2020, 19:32
  • 1
    Хороший ответ, действительно, но не придется делать этого каждый день. –  phunehehe 23.02.2011, 14:48
  • 2
    @phunehehe - Необходимо ли делать это каждый день? –  Rob 23.02.2011, 14:52
  • 3
    Нет, я обращался к "этой проблеме OP, преследует меня каждый день". –  phunehehe 23.02.2011, 15:09
  • 4
    В дополнение к Википедии связываются с FHS, читают этого также: pathname.com/fhs/pub/fhs-2.3.html. Считайте раздел, который говорит "Цель". –  yasouser 23.02.2011, 17:04

Нет никакого простого ответа на этот вопрос, но я могу дать Вам общую схему того, как он работает:

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

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

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

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

./configure
make
(sudo) make install (or sudo checkinstall)

./настраивала строк готовят почву для процесса компиляции (и выкладывает ошибки, если зависимости не встречены). Сделать строка выполнит Make-файл, сценарий, который компилирует все части программы.

Традиционно, Вы использовали бы, делают установку, чтобы затем установить программное обеспечение. Это обычно помещает исполняемые файлы в/usr/local/bin.

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

Обратите внимание, что существует горстка других систем компиляции, например, cmake; и некоторое программное обеспечение появляется предварительно скомпилированное, но неупакованный (в этом случае можно запустить его прямо с разархивированной папки); и некоторое программное обеспечение стало набором скриптов, которые необходимо запустить сами. Новый код от SVN иногда появляется без, настраивают сценарии, таким образом, у Вас есть к первому показу autoconf набор инструментальных средств... и т.д., и т.д.... Вы видите, что существует много исключений из правила, но с небольшим опытом Вы сможете сказать, что сделать с большинством тех таинственных загрузок. Configure-Make-Checkinstall является хорошим первым запуском.

PS. Проведите выходные или два, чтобы изучить, как программировать себя, и вещи станут очень очевидными :-)

PPS. Можно задаться вопросом, почему авторы программного обеспечения Linux только не обеспечивают предварительно скомпилированные пакеты вместо исходного кода. Ну, они иногда делают. Но различные платформы и дистрибутивы Linux, у всех есть их собственные форматы пакета и правила файловой системы, поэтому как разработчик, которого необходимо было бы обеспечить пакетам для каждой возможной конфигурации - который является болью. Пакеты Ubuntu является часто самым легким найти, хотя - необходимо узнать то, что PPA и как он работает!

27
27.01.2020, 19:32
  • 1
    "PS. Проведите выходные или два, чтобы изучить, как программировать себя, и вещи станут очень очевидными :-)". Плохой совет в в других отношениях превосходном ответе. Просьба, чтобы люди к программе поняли Linux, похожа на авиапассажиров для восстановления плоскостей. –  apoorv020 24.02.2011, 09:23
  • 2
    вместо того, чтобы программировать просто изменяет его для компиляции собственного Linux, как LFS (Linux с нуля) linuxfromscratch.org –  jsolarski 24.02.2011, 11:17
  • 3
    @apoorv, взятая точка. :) –  sebastian_k 24.02.2011, 18:34

Необходимо проверить checkinstall. Вместо

./configure
make
sudo make install

Вы делаете

./configure
make
sudo make checkinstall

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

4
27.01.2020, 19:32
  • 1
    Ой, просто замеченный, что @sebastian_k уже упомянул checkinstall... О, хорошо! –  mgalgs 24.02.2011, 01:36

Существует допустимая, разумная причина, которую это так путает (существует также раздражающая причина артефакта)...

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

Таким образом, теория состояла бы в том, что Вы создадите что-то в своем корневом каталоге, затем скопируете его в область, которой Вы управляли (Ваша собственная проектная территория или общая область).

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

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

init система еще хуже.

1
27.01.2020, 19:32

Теги

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