Где установлена ​​типичная программа для Linux

13

Я имею в виду не только двоичный файл, но и его библиотеки, файлы конфигурации и данные (строго говоря, все файлы). Также, когда я загружаю пакет, где лучше всего извлечь его. Если я переместу эти файлы, приложение будет повреждено?

Тихомир Митков
источник
7
В немобильных ОС «приложения» называются либо программами, либо приложениями. Я лично уже ненавижу это слово ..
Бора
1
Кстати, это был действительно хороший вопрос, Тихомир.
Бломквист
2
@Bora: «приложение» - это только сокращенная форма «приложения», которое использовалось до того, как смартфон увлекся.
user1686
@ Grawity: Я хотел бы видеть ваш источник, в первую очередь, чтобы углубить мою ненависть в его истории.
Бора

Ответы:

17
  • Большинство программ следуют стандарту иерархии файловой системы ( man hier): библиотеки /usr/lib, файлы конфигурации /etc, статические данные /usr/shareи т. Д.

    Некоторые автономные программы помещают все данные в /opt/<program>/.

  • .deb/ .rpmпакеты не должны быть распакованы вручную - они должны обрабатываться соответствующей программой, dpkgили rpm.

    Если у вас есть только исходный код в тарболе, вы должны извлечь его во временную папку (где-то в /tmpили $HOME). Остальное, включая установку, обычно обрабатывается Makefile (путем запуска make install); см FHS выше.

user1686
источник
1
Обратите внимание, что FHS версии 3 в настоящее время находится в процессе разработки, и макет может несколько измениться.
user1686
И действительно, после того как вы использовали файл .debили .rpm, он больше не нужен. Если я загружаю случайный .debфайл, я обычно загружаю его в /tmpсвой домашний каталог или в него, если он мне может понадобиться снова в другом окне. Когда aptзагружается пакет, он сохраняется в том месте, /var/cache/aptоткуда он будет в конечном итоге очищен.
tripleee