Смонтируйте раздел Соляриса в Linux

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

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

3
23.12.2014, 13:44
1 ответ

Сигнал может быть получен из выполняющегося процесса . Итак, если вы начнете долгоживущий процесс (он же демон) при загрузке, то вы действительно получите SIGTERM от этого процесса и сделаете все, что хотите от обработчика сигнала. Однако это худший из возможных методов: лишний процесс, ничего не делающий и просто ожидающий поступления сигнала.

У вас есть лучшие способы достичь этого, например, с помощью systemd. Файл блока ( foo.service ) будет выглядеть следующим образом:

[Unit]
Description=Perform my actions
DefaultDependencies=no
Before=shutdown.target

[Service]
Type=oneshot
ExecStart=/path/to/your/application

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

-121--93247-

Параметр -c дает общее значение, а это означает, что в сценарии использования команда du -smc * дает почти (. заменяется на total ) с тем же выходом, что и du -sm *. с предыдущими версиями du :

$ du -smc *
34  A
23  B
57  total

Даже если у вас есть другие сценарии использования, чем тот, который указан в вашем вопросе, я думаю, что вариант -c может в любом случае помочь вам получить результат, близкий к тому, который вы используете, чтобы иметь.

-121--100681-

Как вы заявили в своем последнем комментарии, если я правильно понимаю, что раздел правильно монтируется на SPARC и x86 под управлением Solaris 11, вы можете быть уверены, что это не UFS . Big endian UFS , используемый на оборудовании SPARC, не монтируется на оборудовании x86 и одновременно.

Это оставляет hsfs , pcfs и ZFS потенциальными претендентами, и, возможно, udf тоже.

Проще путь проверить в Solaris тип файловой системы с помощью команд mount или fstyp .

Linux должен иметь возможность монтировать hsfs ( isofs ), pcfs ( vfat ) и udf .

Если используется ZFS, на стороне Linux можно импортировать/монтировать только zpool версии 28/ zfs версии 5 или более поздней (и, возможно, только zpool 23/zfs 4, если используется предохранитель ZFS).


Изменить :

После указания, что файловой системой является UFS на x86, используемая файловая система должна быть ufs с ufstype = sunx86 или ufstype = sun. Однако вы не используете нужное устройство.

/dev/sdn1 является основным разделом, используемым Solaris, но этот раздел обычно подразделяется на нижележащие разделы, именованные срезами в терминологии Solaris. Это аналогично логическим разделам.

Затем вы должны определить, какие имена были присвоены фрагментам ядром Linux, запустив dmesg | grep solaris и смонтировать правильный (например, если сообщается о фрагменте 5):

mount -t ufs -oro,ufstype=sunx86 /dev/sdn5 /mnt

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

3
27.01.2020, 21:23

Теги

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