Ошибка создания символьной ссылки

.desktop файлы

Чтобы узнать, где установлена ​​конкретная программа, вы можете выполнить несколько шагов. Сначала вам нужно найти файл . Файлы рабочего стола являются яркими для ярлыков в Windows, а для системных приложений они расположены в . Файлы рабочего стола для приложений, доступные только для текущего пользователя, находятся в . Возьмем, к примеру, Google Chrome, который имеет файл рабочего стола , и найдите строку, которая начинается с , это определяет как запустить Google Chrome. В нем говорится:

Итак, вы знаете, что Google Chrome находится в .

Теперь для Mozilla Firefox, который находится в . Он просто говорит

Вначале это не очень помогает, но тогда вы понимаете, что должен находиться в каталоге, который находится в переменной (скорее всего, ), и мы можем посмотреть его (см. ниже).

ОС с открытым кодом

Как мы знаем,
в современном мире все устройства
обладают ОС. Поэтому принято различать 
открытые и закрытые ОС.

ОС с открытым
исходным кодом-система, которую может
редактировать любой пользователь ,не
нарушая лицензии и закона. Эта система
очень удобна для смартфонов, так как позволяет
пользователям «подстраивать телефон
под себя» :добавлять различные функции,
переписывать драйвера , вставлять поддержку
сенсорности .Следует отметить, что такие
условно открытые ОС как iPhone OS, Symbian не
позволяют вмешиваться в саму систему
,но позволяют писать собственные программы.
Для компьютеров же ОС с открытым кодом
является Linux.

/usr/local и /opt

Однако есть больше каталогов, в которых Ubuntu устанавливает приложения. Переменная , которая определяет, где искать введенную команду, может дать вам ключ, мой выглядит как ( в терминале):

Как вы можете видеть, какое-то программное обеспечение установлено в и имеет свой собственный каталог и . Другое место, где установлено множество программ, — . Свойства этих местоположений объясняются Стандартом иерархии файловой системы , который это очень хорошее чтение. К сожалению, разница между и не очень хорошо объяснена, кто-то из unix stackexchange содержали более подробное объяснение:

  • — это место для установки файлов, созданных администратором, обычно с помощью команды make. Идея состоит в том, чтобы избежать столкновений с файлами, которые являются частью операционных систем, которые в противном случае были бы перезаписаны или перезаписаны локальными. например. является частью ОС, а является локальной альтернативой,
  • — это каталог для установки разделенных пакетов каждый в своем собственном подкаталоге. Они уже создали целые пакеты, предоставляемые независимым сторонним дистрибьютором программного обеспечения. Например, будет установлен в , одна из его команд будет в .

Android

Android-сетевая
операционная система для коммуникаторов,
планшетных компьютеров, электронных
книжек, цифровых проигрывателей,  основанная
на ядре Linux. Изначально разрабатывалась
компанией Android Inc., которую затем купила
Google. Впоследствии Google инициировала создание
альянса Open Handset Alliance или (OHA), который сейчас
и занимается поддержкой и дальнейшим
развитием платформы. Android позволяет создавать
Java-приложения, управляющие устройством
через разработанные Google библиотеки.
Android Native Development Kit создаёт приложения,
написанные на Си и других языках.

В 75 % смартфонов,
проданных в третьем квартале
2012 года, была установлена операционная
система Android.

Некоторые обозреватели
отмечают, что Android проявляет себя лучше
одной из своих конкуренток, Apple iOS, в ряде
особенностей, таких как: веб-сёрфинг,
интеграция с сервисами Google Inc. и прочих.
Android, в отличие от iOS, является открытой
платформой, что позволяет реализовать
на ней больше функций.

В отличие 
от iOS и Windows Phone 7, в Android полноценная реализация
Bluetooth стека, позволяющая, в том числе передачу
и приём файлов.

В Android-аппаратах,
как правило, присутствует MicroSD-кардридер,
позволяющий быстрый перенос файлов с
компьютера на телефон, минуя скоростные
ограничения USB и других способов передачи
без извлечения карты памяти; кроме того,
в iOS и Windows Phone 7 невозможна прямая передача
каких-либо файлов или из телефона, кроме
как через программы синхронизации (iTunes
и Zune), в то время как телефоны на Android экспортируют
файловую систему карты памяти как USB mass
storage device («флешка»).

Несмотря 
на изначальный запрет на установку 
программ из «непроверенных источников»
это ограничение отключается штатными
средствами в настройках аппарата. Именно
это позволяет устанавливать программы
на телефоны и планшеты без интернет-подключения.
Например, пользователям, не имеющим Wi-Fi-точки
доступа и не желающим тратить деньги
на мобильный интернет, который обычно
стоит слишком дорого. А также позволяет
всем желающим бесплатно писать приложения
для Android и тестировать на своём аппарате.

Общие понятия

Назначение файловой системы — обеспечение интерфейса к данным на накопителях. Цель — организация хранения и доступа.

Состав файловой системы

  • Совокупность файлов.
  • Набор структур данных управления (каталоги, дескрипторы, таблицы).
  • Функции управления (создание объекта ФС, уничтожение, чтение, запись).

Каждый файл характеризуется своим уникальным именем. Чтобы упростить имена используются разрешения.

Для FAT16 правило 8.3: имя файла может состоять из 12 символов (8 — основная часть, и 3 символа расширения).

При копировании в файловой системе файлов производится преобразование имен.

Путь в файловой системе — для однозначной идентификации объекта.

Типы файлов

  • Текстовые.
  • Двоичные.
  • Специальные (связанные с аппаратными устройствами).
  • Файлы, через которые описываются каталоги (директор).

Атрибуты файлов

  • Системные.
  • Архивные.
  • Только для чтения.
  • Скрытые.
  • Время создания
  • Временные

Типы иерархической структуры

  • Дерево: узлы — объекты файловой системы, показана их вложенность; корень — точка, в которой начинается файловая система.
  • Сеть: в отличие от дерева один объект может присутствовать в разных директориях.

С понятием файловые системы связаны следующие технологии:

iPhone OS

iPhone— мобильная
операционная система, которая разработана
и выпущена американской компанией Apple
в 2007 году. Эта система первоначально была
предназначена для iPhone и iPod touch, позже
и для таких устройств, как iPad и Apple TV.

В отличие 
от Windows Phone и Google Android, выпускается только
для устройств, производимых фирмой Apple.
iPhone разработана на основе Mac OS X и использует
тот же POSIX-совместимый набор основных
компонентов Darwin.

По состоянию 
на 12 мая 2012 года магазин приложений
App Store содержит более 750 тыс. приложений
для iOS, которые все вместе были загружены
более 30 миллиардов раз.

Поиск команд

Для поиска команд вы можете использовать одно или несколько из следующих: , и (я включил ссылку на свои страницы руководства в Интернете).

  • type : он описывает команду и указывает, как она будет интерпретироваться, если она используется как имя команды. Возможными типами команд являются:

    1. псевдоним (псевдоним оболочки)
    2. функция (функция оболочки)
    3. встроенный (встроенная оболочка)
    4. файл (файл на диске)
    5. ключевое слово (зарезервированное слово оболочки)

    (сам тип представляет собой встроенную команду команды bash, попробуйте ее с типом : P)

    Выполнение дает нам

    , что мы хотели знать

Если команда — это файл (который вы отметили с помощью ), вы также можете использовать:

  • который : показывает полный путь к команде,

    Выполнение дает нам

  • whereis : найдите файлы двоичной, исходной и ручной страниц для команды .

    Выполнение дает нам

Bonus

Вы можете проверить ближе к , и это дает:

Похоже, что является «единственной» символической ссылкой на скрипт . Если вы проверите скрипт, вы обнаружите, что скрипт вызывает .
Теперь вы можете успокоиться:)

EDIT : см. также ответ d4nyll для приятной дорожной карты.

Общая модель файловой системы

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

Задачей символьного уровня является определение по символьному имени файла его уникального имени. В файловых системах, в которых каждый файл может иметь только одно символьное имя (например, MS-DOS), этот уровень отсутствует, так как символьное имя, присвоенное файлу пользователем, является одновременно уникальным и может быть использовано операционной системой. В других файловых системах, в которых один и тот же файл может иметь несколько символьных имен, на данном уровне просматривается цепочка каталогов для определения уникального имени файла. В файловой системе UNIX, например, уникальным именем является номер индексного дескриптора файла (i-node).

На следующем, базовом уровне по уникальному имени файла определяются его характеристики: права доступа, адрес, размер и другие.

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

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

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

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

4 ответа

23

обычно используется для приложений, построенных из источника. т.е. я устанавливаю большинство своих пакетов, используя что-то вроде , но если я загружаю более новую версию чего-либо или часть программного обеспечения, не входящую в состав мое распределение, я бы построил его из источника и поместил все в иерархию `/usr /local ‘.

Это позволяет отделить от остальной части распределения.

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

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

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

5

Очень короткий ответ

/etc используется вашей ОС для файлов конфигурации

/usr /local /etc может использоваться для ваших файлов конфигурации вами и вашим добавленным программным обеспечением

4

редко используется в мире Linux. Но решение о том, хранить ли конфигурационные файлы в , или какое-либо другое местоположение обычно выполняется во время компиляции (и часто его можно переопределить с помощью параметра командной строки или переменной среды). На самом деле не имеет значения, что такое дефолт при компиляции, просто убедитесь, что его легко установить (обычно это опция , после autoconf ). Если ваш демон упакован для распространения, исполняемый файл перейдет в (по умолчанию при создании из источника должен быть ) и конфигурацию в .

Обратите внимание, что не является местом для «большого количества данных приложения». Это происходит в

По умолчанию при создании из источника может быть или

1

Как пользователь Arch, я бы избегал /usr /local alltogether и использовал только /etc для конфигурации. При установке из исходного кода я бы предпочел написать небольшой файл PKGBUILD, пока я нахожусь, и, возможно, загрузить его в Arch User Repository (AUR), как для других, так и для меня на другом компьютере в будущем. Судя по количеству пакетов в AUR и скорости, с которой они созданы, я не одинок, думая так. Это увеличивает шансы для всех, что пакет будет доступен, вместо того, чтобы устанавливать его из источника и быть в состоянии избежать устаревших мест, таких как /usr /local.

Debian также похоже на идею создания пакета источника вместо установки чего-либо в /usr /local, поэтому утилиты, такие как checkinstall .

Создание пакета источника, который вы хотите установить, будет хорошим способом отслеживать, где находятся файлы, и не допускать, чтобы некоторые из них были непостоянно перезаписаны другим пакетом или другой установкой «make install». Деинсталляция с помощью «make uninstall» не является хорошим решением. Информация о том, какая версия установлена, — это еще одна вещь, которую современные менеджеры пакетов хорошо отслеживают.

Я бы просто полностью отказался /usr /local. Это нехорошее место для размещения чего-либо, а не для установки пакетов (более общие каталоги — более подходящие), а не для пользователей.

1.4 Инструмент управления cachecloude

Java 7+

Maven 3

Mysql

Redis 3

1.4.2 установка mysql

rpm -qa |grep mariadb

rpm -e —nodeps mariadb-libs-5.5.56-2.el7.x86_64

yum install -y gcc gcc-c++ cmake ncurses-devel bison autoconf libaio libaio-devel perl-Data-Dumper

useradd -s /sbin/nologin mysql

mkdir -p /data/mysql

chown -R mysql:mysql /data/mysql/

tar zxvf mysql-5.6.11.tar.gz

cd mysql-5.6.11

cmake -DMYSQL_USER=mysql -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_DATADIR=/data/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf-8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1

make

make install

cp support-files/my-default.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

chkconfig mysqld on

echo «export PATH=/usr/local/mysql/bin/:$PATH» >> /etc/profile

source /etc/profile

/usr/local/mysql/scripts/mysql_install_db —user=mysql —defaults-file=/etc/my.cnf —basedir=/usr/local/mysql —datadir=/data/mysql/data

Добавьте следующую конфигурацию в /etc/my.cnf

basedir=/usr/local/mysql

datadir=/data/mysql/data

socket=/tmp/mysqld.sock

/etc/init.d/mysqld start

mysql -u root -p

password ‘123456’

Измените пароль на 123123:

grant all on . to ‘root’@’localhost’ identified by ‘123123’ with grant option;

grant all on . to ‘root’@’%’ identified by ‘123123’;

1.4.3 установка и запуск redis-cachecloud

1) Создать базу данных и импортировать данные

create database cachecloud;

grant all on cachecloud.* to ‘admin’@’%’ identified by ‘admin’;

flush privileges;

use cachecloud;

source /usr/local/cachecloud-master/script/cachecloud.sql;

2) Измените файл конфигурации в разделе cachecloud-master

/usr/local/cachecloud-master/cachecloud-open-web/src/main/swap/online.properties

/usr/local/cachecloud-master/cachecloud-open-web/src/main/swap/local.propertie

|

cachecloud.db.url = jdbc:mysql://127.0.0.1:3306/cachecloud cachecloud.db.user = admin cachecloud.db.password = admin cachecloud.maxPoolSize = 20

isClustered = true isDebug = false spring-file=classpath:spring/spring-online.xml log_base=/opt/cachecloud-web/logs web.port=8585 log.level=WARN

|

3) Maven устанавливает и скомпилирует cachecloud-open-web

tar zxvf apache-maven-3.3.9-bin.tar.gz

mv apache-maven-3.3.9 /usr/local/maven

cd /usr/local/cachecloud-master/cachecloud-open-web

/usr/local/maven/bin/mvn clean compile install –Ponline

4) Загрузите cachecloud-open-web-1.0-SNAPSHOT.war и cachecloud-web.conf

mkdir -p /opt/cachecloud-web

cp /usr/local/cachecloud-master/cachecloud-open-web/target/cachecloud-open-web-1.0-SNAPSHOT.war /opt/cachecloud-web/

cp /usr/local/cachecloud-master/cachecloud-open-web/src/main/resources/cachecloud-web.conf /opt/cachecloud-web/

ln -s /opt/cachecloud-web/cachecloud-open-web-1.0-SNAPSHOT.war /etc/init.d/cachecloudweb

chmod +x /etc/init.d/cachecloudweb

Команда запуска:

/etc/init.d/cachecloudweb start

1.4.4 Настройка мониторинга кластера

отhttp://IP:8585Доступ, имя пользователя и пароль администратора

1) Управление машиной

image.png

image.png

2) Импорт приложения

image.png

Организация работы с двумя и более файловыми системами

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

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

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

Для выполнения своих функций драйверы файловых систем обращаются к подсистеме ввода-вывода, образующей следующий слой. Подсистема ввода-вывода — это составная часть файловой системы, которая отвечает за загрузку, инициализацию и управление всеми модулями низших уровней файловой системы. Обычно эти модули представляют собой драйверы портов, которые непосредственно занимаются работой с аппаратными средствами. Кроме этого подсистема ввода-вывода обеспечивает некоторый сервис драйверам файловой системы, что позволяет им осуществлять запросы к конкретным устройствам. Подсистема ввода-вывода должна постоянно присутствовать в памяти и организовывать совместную работу иерархии драйверов устройств. В эту иерархию могут входить драйверы устройств определенного типа (драйверы жестких дисков или накопителей на лентах), драйверы, поддерживаемые поставщиками (такие драйверы перехватывают запросы к блочным устройствам и могут частично изменить поведение существующего драйвера этого устройства, например, зашифровать данные), драйверы портов, которые управляют конкретными адаптерами.

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

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

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

Как работать с sysctl

Для начала работы нам необходимо вывести на экран все доступные опции, делается с помощью команды:

sysctl -a

Просмотреть все параметры sysctl может любой пользователь Linux (в нашем примере показываем на Ubuntu 20), а вот изменять параметры ядра может только пользователь с правами root.

Также можно посмотреть значение одного параметра, который вас интересует в конкретный момент, например*:

sysctl net.ipv4.ip_forward

*Примечание: данная команда разрешает или запрещает маршрутизацию пакетов.

Надо отметить, что если значение параметра равно 0, то функция запрещена, а если равно 1, то разрешена.

Для вывода списка сразу всех переменных, которые начинаются, к примеру с vm, наберите в терминале команду:

sysctl vm

Ниже разъясним основные опции команды sysctl:

man sysctl — выводит подробную документацию по данной команде;

sysctl -n — выведет на экран только значения переменных;

sysctl -N — покажет вам только названия переменных, без их значений;

sysctl -A — показывает все доступные настройки ядра, но в табличной форме;

sysctl -w «переменная»=»значение» — используется для изменения значения переменной;

sysctl -p — выводит на экран настройки из файла /etc/sysctl.conf (или другого указанного файла настроек).

Покажем на практике, как использовать данные команды системному администратору в своей работе.

Например, попробуем разрешить маршрутизацию пакетов, выполнив команду:

sysctl -w net.ipv4.ip_forward=1

Если мы просто применим команду без опции -w, то сделанные изменения не сохранятся после перезагрузки ОС:

sysctl net.ipv4.ip_forward=1

Как правило, все показанные нами переменные параметров ядра Линукс, хранятся в конфигурационном файле /etc/sysctl.conf.

Однако, некоторые переменные могут быть записаны в следующих каталогах и файлах:

/run/sysctl.d/*.conf
/etc/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf

Для того, чтобы вернуть настройки ядра к состоянию «до сделанных вами изменений», необходимо выполнить команду:

sysctl --system

Для начала, можно поэкспериментировать с настройками ядра в «ручном режиме» с помощью выполнения данных команд в терминале. Если сделанные вами настройки — «рабочие» и помогают в оптимизации работы ядра вашей ОС, то можете их внести на постоянной основе в файл /etc/sysctl.conf.

Создание операционной системы.

Предшественником
операционной системы (ОС) считают служебные
программы, а так же их библиотеки . Они
начали разрабатываться в конце 1940-х годов.
в 1950-1960-х годах были реализованы идеи,
которые определяли функциональность
ОС:

1) Разделение
времени, многозадачность

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

2) Разделение
полномочий

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

3) Реальный
масштаб времени

Позволяло одновременно
обслужить производственные процессы
и решающиеся задачи.

4) Файловые
системы и структуры

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

1.3 Шаг

2.3.1 Установка:

|

wget http://download.redis.io/releases/redis-4.0.6.tar.gz

tar zxvf redis-4.0.6.tar.gz

cd redis-4.0.6

mkdir /data

make

make PREFIX=/data/redis install

mkdir /data/redis/conf

mkdir /data/redis/log

|

2.3.2 Конфигурация:

|

cp /home/vic/redis-4.0.6/redis.conf /data/redis/conf/

mkdir /data/redis/{7000,7001,7002,7003,7004,7005}

— Требуется для запуска кластера, для других машин не требуется

cp /home/vic/redis-4.0.6/src/redis-trib.rb /data/redis/bin/

image.png

Элементы конфигурации congf, которые необходимо изменить

<v: shape id = «picture_x0020_9» o: spid = «_ x0000_i1029» type = «#_ x0000_t75» style = «width: 453.75pt; height: 112.5pt; visibility:visible;mso-wrap-style:square»><v:imagedata src=»file:///C:\Users\ZHANGZ~1\AppData\Local\Temp\msohtmlclip1\01\clip_image002.png» o:title=»»></v:imagedata></v:shape>

image.png

2.3.3 Пуск:

/data/redis/bin/redis-server /data/redis/conf/7000.conf

/data/redis/bin/redis-server /data/redis/conf/7001.conf

/data/redis/bin/redis-server /data/redis/conf/7002.conf

/data/redis/bin/redis-server /data/redis/conf/7003.conf

/data/redis/bin/redis-server /data/redis/conf/7004.conf

/data/redis/bin/redis-server /data/redis/conf/7005.conf

— Связать стартовый кластер

/data/redis/bin/redis-trib.rb create —replicas 1 10.23.22.42:7000 10.23.22.42:7001 10.23.22.42:7002 10.23.22.42:7003 10.23.22.42:7004 10.23.22.42:7005

|

Об использовании /usr или /usr/local

Должен ли я устанавливать пакет XXX в каталоге или в каталоге ?

Ответ на этот вопрос не очевиден в базовой системе LFS.

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

В дистрибутивах Linux, таких как Red Hat, Debian, и т.д., применяется правило, согласно которому управление директорием осуществляется системой управления пакетами дистрибутива, а управление директорием — нет. Таким образом, база данных менеджера пакетов знает о каждом файле внутри директория .

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

  • В сети из нескольких машин, на которых запущены только системы LFS или системы LFS и другие дистрибутивы Linux, каталог должен использоваться для хранения пакетов, которые являются общими для всех компьютеров в сети. Он может быть смонтирован как раздел NFS или может быть зеркалом одного и того же сервера. Здесь понятие локальный (local) указывает на конкретное место (где могут находиться несколько компьютеров — прим.пер.).
  • В сети из нескольких компьютеров, на которых работают идентичные системы LFS, в каталоге можно хранить пакеты, которые различны на различных машинах. В этом случае понятие локальный (local) относится к отдельным компьютерам.
  • Даже на одном компьютере каталог может быть полезен, если у вас одновременно установлены несколько дистрибутивов, и вы можете поместить в этот каталог пакеты, которые одинаковы во всех дистрибутивах.
  • Либо вы, возможно, регулярно пересобираете вашу систему LFS и хотите поместить в этот каталог файлы, которые вы не хотите каждый раз пересобирать. Таким образом, вы можете каждый раз стирать все файлы системы LFS и начать с чистого раздела, ничего при этом не теряя.

Некоторые спрашивают, почему бы не использовать свое собственное
дерево директориев, например, , а не ?

Нет ничего, чтобы вам помешало сделать это — создавать свои собственные деревья директориев, однако это усложнит установку нового программного обеспечения. Автоматические инсталляторы часто ищут зависимости в директориях и и, если искомый файл находится в каталоге , инсталлятор, возможно, не найдет его, если вы не укажете, где конкретно его искать.

Какова позиция BLFS по этому поводу?

Все инструкции, изложенные в BLFS, устанавливают программы в каталог , а для некоторых конкретных пакетов с помощью дополнительных инструкций установка осуществляется в каталог .

Перевод сделан с варианта оригинала, датированного 2007-04-04 19:42:53 +0000

Предыдущий раздел: Оглавление Следующий раздел:
Замечания, касающиеся сборки программ   Необязательные патчи

Заключение

В этой статье мы осветили достаточно актуальную тему для системного администратора, как настроить ядро ОС Linux «на лету» с помощью sysctl и виртуальной файловой системы /proc. Не каждый специалист знаком с методами гибкой настройки ядра ОС, поэтому, прежде чем применять «любые настройки из Интернета», необходимо глубоко изучить данный вопрос, посмотреть параметры конкретной ОС, поэкспериментировать с различными значениями переменных (не сохраняя их) и уже затем, получив положительный результат — применять эти методы на постоянной основе

Потому что, не всегда «настройки из мануалов в Интернете» подходят всем подряд пользователям Линукс, и любые изменения настроек ядра системы надо выполнять крайне осторожно

Если же у вас возникают проблемы с более сложной и гибкой настройкой ядра Linux, не хватает знаний и практических навыков для такой работы, то вы всегда можете обратиться за консультацией к системным администраторам компании FREEhost.UA.

Подписывайтесь на наш телеграмм-канал t.me/freehostua, чтоб быть в курсе новых полезных материалов. Смотрите наш Youtube канал по администрированию Linux серверов www.youtube.com/freehostua.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: