Что обозначает символ @ в начале пути к сокету домена unix в Linux?

Вы непосредственно перезаписываете загрузочный сектор / таблица разделов с stage1 и stage2 файлы, когда Вы используете dd как этот. Вместо этого необходимо использовать установку личинки (или низшего уровня grub-mkimage и grub-setup команды, как упомянуто в той ссылке).

17
25.03.2017, 16:50
2 ответа

@ , вероятно, указывает сокет, содержащийся в абстрактном пространстве имен , который не принадлежит файлу в файловой системе. Отказ

цитата из Интерфейс программирования Linux Michael Kerrisk :

57.6 пространство пространства IN Linux Abstract Abstract

, так называемое абстрактное пространство имен - это функция специфики Linux позволяет нам связать розетку домена UNIX к имени без этого имени быть созданным в файловой системе. Это дает несколько потенциалов Преимущества:

  • Нам не нужно беспокоиться о возможных столкновениях с существующими именами в файловой системе.
  • Не нужно, чтобы разбить розетку PathName, когда мы закончили с помощью сокета. Абстрактное имя автоматически удаляется Когда розетка закрыта.
  • Нам не нужно создавать файловой путь для розетки. Это может быть полезно в среде Chroot, или если у нас нет записи Доступ к файловой системе.

Чтобы создать абстрактное привязку, мы указываем первый байт поле Sun_Path как нулевой байт (\ 0). [...]

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

33
27.01.2020, 19:46

Согласно man 7 unix

  • abstract: адрес абстрактного сокета отличается тем фактом, что sun_path[0] является нулевым байтом (\0). Все остальные байты в sun_path определяют "имя" сокета. (Нулевые байты в имени не имеют особого значения.) Имя не имеет связи с именами файловой системы. Адрес сокета в этом пространстве имён задаётся остальными байтами пути Sun_path. Когда адрес абстрактного сокета возвращается по getockname(2), getpeername(2) и accept(2), его длина равна sizeof(struct sockaddr_un), а путь sun_path содержит абстрактное имя. Пространство имён абстрактных сокетов является непортативным расширением Linux.

Похоже, что это 'абстрактные' - поэтому на файловой системе отсутствует реальный путь

.
7
27.01.2020, 19:46

Теги

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