Usr local src linux

What is the «/usr/local/src» folder meant for?

I wanted to put my work files (code) in /usr/local/src , but I think it’s already a folder that has some other semantic meaning. What is that? Should I put source code there, or is there a better place? Edit — I am the sole user and admin of the machine, and I don’t want to use my home directory because it’s on an NFS drive.

2 Answers 2

According to Linux FHS, /usr is the location where Distribution-based items are placed and /usr/local is the location where you’d place your own localized changes ( /usr/local will be empty after a base install). So, for example, if you wanted to recompile an Ubuntu package from source, their package manager would place the source for package in /usr/src/ . If you downloaded a program not managed by your distribution and wanted to compile/install it, FHS dictates that you do that in /usr/local/src .

EDIT: Short answer, yes, put your code in /usr/local/src .

It depends on what you’re doing with that source. If it’s for reference, yes, that’s a good place. /usr/local is reserved for software installed locally by the sysadmin. So, if you want to install software along with source files (for other programs to use or for people to look at), that’s good.

It’s not meant, however, to be a workspace. Since it is local, you can do whatever you want, of course, but this isn’t designed to be the place to put your software development tree.

That should, really, be in a code repository (possibly in /srv/sourcerepo or something), and then developers would check out their own working copies into their home directories.

I second what mattdm says above. I usually use /usr/local/src as a good place for downloading third party source code (eg for patching and rebuilding packages), not my own source code, which as matt says, should be under /srv/. (though I usually use /srv/vcs/sourcerepo ). And mirrored remotely, of course.

Читайте также:  Linux безопасная операционная система

@SherylHohman It doesn’t really stand for anything (it’s not an acronym) but we chose it to imply «service». See the FHS which says «/srv contains site-specific data which is served by this system».

@SherylHohman, taking from the folder description from the Linux Documentation Project, I would guess «srv» stands for «serve», «service» or something (anything?) related to the «serv-» root.

@WaldirLeoncio Yeah, that’s an older version of the same document I linked. I was involved in getting that added to the standard, and as I remember, it’s not really that it stands for «server» or «service» but it’s definitely meant as a mnemonic for that.

My answer was over a decade ago, but I think it still stands. /usr isn’t meant to be a workspace. Check out and compile into your home directory. Build as a regular user. Install as root when done.

Источник

Для чего нужен каждый каталог в Linux или структура директорий ОС Линукс

Операционная система Linux имеет четкую структуру расположения директорий и файлов. Поэтому многие люди, начинающие изучать линукс, сталкиваются с трудностью понимания нужности каждой отдельной директории.

В этой статье приведен список основных директорий файловой системы Линукс и их краткое описание.

Cтруктура директорий операционной системы Linux

Подробное описание структуры файловой системе Linux

/bin Наверх

В этом каталоге хранятся основные команды операционной системы, такие как команды оболочки и команды файловой системы (ls, cp и т.д.).

/boot Наверх

Здесь хранятся образы ядер Linux и менеджер загрузки: grub, lilo и т.д.

/dev Наверх

Директория содержит файлы устройств, подключенные к операционной системе.

В Linux вообще всё рассматривается, как файл, даже различные устройства, такие как принтеры, жёсткие диски, сканеры и т.д. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл. Аналогично устроено большинство UNIX -подобных операционных систем.

/etc Наверх

В этой директории находится основная часть конфигурационных файлов самой операционной системы (настройки сети, список пользователей, групп и т.д.) и различных программ (Apache, Samba и т. д.).

/home Наверх

В этом месте должна размещаться вся личная информация пользователей системы.

Почему должна? Потому что владелец компьютера может хранить свою личную информацию в любом понравившемся ему месте. В целях безопасности самой операционной системы и пользовательских данных хранить последние строго рекомендуется в директории /home. Для получения более высокой надежности операционной системы и сохранности пользовательской информации директорию /home рекомендуется выделить в отдельный раздел жесткого диска.

/home/username Наверх

Это Домашняя папка пользователя usermame. В ней хранится пользовательская часть конфигурационных файлов (настройки пользовательских программ) и вся личная информация пользователя.

Linux является многопользовательской системой и поэтому каждый пользователь имеет уникальный каталог для персональных файлов. Этот каталог называется Домашней папкой пользователя. Домашняя папка суперпользователя root располагается в корне файловой системы.

Читайте также:  Установка lineage сервер linux

Такое разделение пользовательских директорий от файлов операционной системы упрощает резервирование данных и повышает надежность самой операционной системы.

/lost+found Наверх

В lost+found скидываются файлы, на которых не было ссылок ни в одной директории, хотя их inod не были помечены как свободные. Допустим при удалении файла из директории произошёл сбой (выключилось питание), то в системе останется потерянный inod, который вроде как и указывает на корректный файл, но этот файл не содержится ни в одной директории. В ext2 и других нежурналируемых файловых системах задача восстановления таких файлов ложится на fsck. Он находит inod, на которые нет ссылок, и создаёт на них ссылки в lost+found. После этого пользователь сможет просмотреть файлы и при необходимости переместить им куда надо, вернув нужные имена.

В ext3 и в других журналируемых файловых системах fsck просматривает журнал и видя, что операция завершилась не полностью, откатывает ее. Поэтому потерянных inod в журналируемых файловых системах находиться меньше.

/lib Наверх

Эта директория предназначена для хранения системных библиотек, необходимые для работы программ из директорий /bin и /sbin и операционной системы вцелом.

/media Наверх

Директория, используемая для автоматического монтирования различных устройств USB -накопителей, CD- ROM и т.д. При вставке в привод CD- ROM диска он автоматически подключается во вложенный каталог этой директории.

/mnt Наверх

Обычно эта директория используется для ручного подключения устройств. В эту директорию командой mount «руками» монтируются различные USB -накопители, CD- ROM и т.д.

/opt Наверх

Директория, в которой обычно размещаются установленные программы, имеющие большой дисковый размер или вспомогательные пакеты (например /opt/openoffice.org).

/proc Наверх

/proc — это директория, к которой примонтирована виртуальная файловая система procfs. Различная информация, которую ядро может сообщить пользователям, находится в «файлах» каталога /proc. Например, в файле /proc/modules находится список загруженных модулей ядра. А в файле /proc/cpuinfo — информация о процессоре компьютера. Подробнее можно прочитать здесь.

/root Наверх

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

/sbin Наверх

Основные системные программы для администрирования и настройки системы (iptables, ifconfig и т.д.).

/srv Наверх

Параметры, которые специфичные для окружения системы. Чаще всего данная директория пуста.

/sys Наверх

/sys — это директория, к которой примонтирована виртуальная файловая система sysfs, которая добавляет в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах. В версии ядра ниже 2.6 не использовалась.

Читайте также:  How to delete environment variable linux

/sys/block Наверх

/sys/block содержит директории всех блочных устройств, присутствующих в данный момент в системе.

/sys/bus Наверх

В этой директории находится список шин, определенных в ядре Linux (eisa, pci и т.д.).

/sys/class Наверх

Каталог содержит список группированных устройств по классам (printer, scsi-devices и т.д.).

/tmp Наверх

Временное хранилище данных. Аналог папки в ОС Windows — C:/Windows/Temp. Все пользователи имеют права чтения и записи в этом каталоге.

/usr Наверх

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

/usr/bin Наверх

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

/usr/games Наверх

Каталог для размещения доступных компьютерных игр в системе.

/usr/include Наверх

/usr/lib Наверх

Системные библиотеки для программ, расположенных в директории /usr.

/usr/local Наверх

По стандарту /usr должен быть общим для нескольких компьютеров и смонтирован по сети, а /usr/local должен содержать установленные пакеты программы только на локальной машине (к примеру, /usr – бюджет семьи, а /usr/local – личный кошелек каждого). Но чаще всего директория /usr/local используется для установки программ, которые не предназначены для конкретного дистрибутива (к примеру для пакетного дистрибутива Ubuntu в /usr находятся «родные» установленные пакеты, а /usr/local находятся собранные пакеты из исходников).

/usr/sbin Наверх

Дополнительные системные программы.

/usr/share Наверх

Общие данные установленных программ.

/usr/share/icons Наверх

В каталоге находятся все иконки системы.

/usr/share/doc Наверх

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

/usr/src Наверх

Исходные кода (например, здесь располагаются исходные кода ядра).

/var Наверх

Это каталог для часто меняющихся данных. Здесь находятся журналы операционной системы, системные log-файлы, cache-файлы и т. д.

/var/cache Наверх

В этом месте хранятся все кэши различных программ.

/var/games Наверх

В этом месте расположены файлы с игровыми достижениями.

/var/lib Наверх

Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).

/var/lock Наверх

Здесь лежат lock-файлы, указывающие на занятость некоторого ресурса.

/var/log Наверх

В этом месте хранятся все log-файлы.

/var/spool Наверх

Задачи, ожидающие обработки (например, очереди печати, непрочитанные или не отправленные письма, задачи cron и т. д.).

/var/www Наверх

В этом месте размещаются Web-страницы для сервера Apache.

Раздел Наверх

Раздел виртуальной памяти для увеличения скорости обмена с оперативной памятью. Более подробнее можно узнать в статье «Создание, редактирование и удаление SWAP в Linux»

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

Источник

Оцените статью
Adblock
detector