Как организованы файлы и приложения Linux?
Я новичок в Linux (Ubuntu), и мне хотелось бы знать, может ли кто-нибудь дать несколько советов о том, куда устанавливать вещи, какие папки не трогать, каков смысл каждой папки и так далее.
Мое первое беспокойство, все ли должно идти в мою домашнюю папку? Я установил Komodo Edit "вручную" (это IDE), и он попал в мою домашнюю папку, мне действительно не нравится идея иметь там приложение. (В Windows у меня был раздел с рабочими файлами / изображениями / загрузками..., а затем с разделом ОС со всеми приложениями).
Итак, есть ли место, где я мог бы установить это программное обеспечение? Какой-нибудь совет для заказа моей домашней папки? Может быть, я должен создать папку приложений в моем домашнем каталоге?
Заранее спасибо.:)
pd: большую часть времени я использую apt для установки вещей, но я не всегда находил там программное обеспечение, которое мне нужно...
3 ответа
/home/<yourlogin>
Ваш эффективный "Мои документы" эквивалентен Windows. Твой рабочий стол там, твои картинки и тд...
Обычно вы загружаете туда вещи и компилируете / запускаете rpms из этого места, которые затем запрашивают доступ суперпользователя (повышение прав) и устанавливают свои приложения в такие места, как:
/usr/bin
/usr/lib
так далее...
/bin
Содержит глобальные команды ОС, так же, какPATH
на окнах/sbin
Содержит глобальные команды ОС для суперпользователей (требуется повышение прав)/usr/bin
Содержит приложения/usr/sbin
Содержит приложения, требующие повышения/dev
Содержит устройства (например:/dev/sda0
это Scsi Drive A, раздел 0,/dev/floppy
это ваш дисковод и т.д.../etc
где ваша конфигурация системы, обычно в.conf файлах
Это основной учебник, я думаю.
Кроме того, префикс папки с .
сделает его "скрытым", то есть: /home/aren/.ssh
, вы все еще можете перейти к нему, но вы должны использовать ls -a
чтобы он появился в списке при поиске.
В Википедии есть отличная статья об этом. Цитата из самой полезной части этой статьи:
В FHS все файлы и каталоги отображаются в корневом каталоге "/", даже если они хранятся на разных физических устройствах. Однако обратите внимание, что некоторые из этих каталогов могут присутствовать или не присутствовать в системе Unix в зависимости от того, установлены ли определенные подсистемы, такие как система X Window.
Большинство этих каталогов существуют во всех операционных системах UNIX и обычно используются практически одинаково; однако описания, приведенные здесь, используются специально для FHS и не считаются авторитетными для платформ, отличных от Linux.
/
Корень первичной иерархии и корневой каталог всей иерархии файловой системы./bin/
Основные двоичные файлы команд, которые должны быть доступны в однопользовательском режиме; для всех пользователей, например, cat, ls, cp./boot/
Файлы загрузчика, например, ядра, initrd; часто отдельный раздел [8]/dev/
Основные устройства, например, /dev/null./etc/
Специфичные для хоста общесистемные конфигурационные файлы (название взято из et cetera[9])./etc/opt/
Файлы конфигурации для /opt/./etc/X11/
Файлы конфигурации для системы X Window, версия 11./etc/sgml/
Конфигурационные файлы для SGML./etc/xml/
Конфигурационные файлы для XML./home/
Домашние каталоги пользователей, содержащие сохраненные файлы, личные настройки и т. Д.; часто отдельный раздел./lib/
Библиотеки, необходимые для двоичных файлов в /bin/ и /sbin/./media/
Точки монтирования для съемных носителей, таких как CD-ROM (появились в FHS-2.3)./mnt/
Временно смонтированные файловые системы./opt/
Дополнительные пакеты прикладного программного обеспечения [10]./proc/
Виртуальная файловая система, документирующая состояние ядра и процесса в виде текстовых файлов, например, время работы, сеть. В Linux соответствует монтированию Procfs./root/
Домашний каталог для пользователя root./sbin/
Основные системные двоичные файлы, например, init, ip, mount./srv/
Специфичные для сайта данные, которые обслуживаются системой./tmp/
Временные файлы (см. Также /var/tmp). Часто не сохраняется между перезагрузками системы./usr/
Вторичная иерархия для пользовательских данных только для чтения; содержит большинство (многопользовательских) пользовательских утилит и приложений.[11]/usr/bin/
Необязательные двоичные файлы команд (не требуются в однопользовательском режиме); для всех пользователей./usr/include/
Стандартные включаемые файлы./usr/lib/
Библиотеки для двоичных файлов в /usr/bin/ и /usr/sbin/./usr/sbin/
Несущественные системные двоичные файлы, например, демоны для различных сетевых сервисов./usr/share/
Архитектурно-независимые (общие) данные./usr/src/
Исходный код, например, исходный код ядра с его заголовочными файлами./usr/X11R6/
Система X Window, версия 11, выпуск 6./usr/local/
Третичная иерархия для локальных данных, характерных для этого хоста. Обычно имеет дополнительные подкаталоги, например, bin/, lib/, share/.[12]/var/
Переменные файлы - файлы, содержимое которых, как ожидается, будет постоянно изменяться во время нормальной работы системы, такие как журналы, файлы спулинга и временные файлы электронной почты. Иногда отдельный раздел./var/lib/
Государственная информация. Постоянные данные, изменяемые программами при их запуске, например, базы данных, метаданные системы упаковки и т. Д./var/lock/
Блокировка файлов Файлы, отслеживающие используемые в настоящее время ресурсы./var/log/
Лог-файлы. Различные журналы./var/mail/
Почтовые ящики пользователей./var/run/
Информация о работающей системе с момента последней загрузки, например, вошедшие в систему пользователи и работающие демоны./var/spool/
Буфер для задач, ожидающих обработки, например, очереди печати и непрочитанной почты./var/spool/mail/
Устаревшее местоположение для почтовых ящиков пользователей./var/tmp/
Временные файлы должны быть сохранены между перезагрузками./var/www/
Файловые иерархии веб-сайтов (расположение по умолчанию для веб-сайтов, обслуживаемых Apache).
Под Linux каталоги в корневой папке /
размещены в соответствии со стандартом иерархии файловой системы. Обычно для установки и удаления программного обеспечения используется менеджер пакетов, предоставляемый дистрибутивом. Есть также несколько мест, где хранятся файлы конфигурации (особенно в /etc/
) и иногда они должны быть отредактированы пользователем. В противном случае должно быть мало необходимости возиться за пределами вашего домашнего каталога.
Когда вы устанавливаете программное обеспечение вручную, вы обычно не хотите устанавливать в системные каталоги, такие как /usr/bin/
, /bin/
или же /sbin/
или же /usr/sbin/
, Вместо установленного вручную программного обеспечения следует использовать /usr/local/
вместо этого, чтобы избежать конфликтов с программным обеспечением, установленным с помощью менеджера пакетов и которое эффективно имеет такую же структуру, как /
(т.е. для использования при ручной установке /usr/local
в качестве префикса)
Когда вы устанавливаете программное обеспечение вне обычной структуры, оболочка может не найти исполняемые файлы, и двоичные файлы могут не найти библиотеки, с которыми она связана. Двоичные файлы ищутся во всех каталогах, перечисленных в переменной оболочки $PATH
что вы можете настроить. То же самое относится и к $LD_LIBRARY_PATH
который содержит список каталогов для поиска библиотек при разрешении зависимостей ссылок (см. man ld
).
(Примечание: выше содержит много "обычно" и "обычного". Это потому, что никто не заставляет вас следовать каким-то (разумным) стандартам - вы свободны стрелять себе в ногу.)