Как я могу использовать виртуальных пользователей в, “написали список”, и “читают список” в самбе?

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

Следует отметить, что все указанные выше значения по умолчанию являются разумными. Здесь нет никаких ошибок.

В вашем случае вы устанавливаете файлы на /usr/local как часть вашего двоичного пакета Debian, что является нарушением Стандарта Иерархии Файлов и является неправильным . Не делай этого. Пользовательские двоичные файлы должны входить в /usr/bin , например, библиотеки должны входить в /usr/lib и т.д. Предполагается, что пакет создает /usr/local/bin , поскольку dpkg , естественно, уже не знает об этом. (Так как пакет Debian, содержащий файлы/каталоги в /usr/local , является нарушением политики FHS и, следовательно, политики Debian). Поэтому он пытается удалить этот файл при удалении пакета. Прекратите установку в /usr/local , и проблема исчезнет.

Дать нам немного больше контекста, возможно? Почему вы пытаетесь построить свой собственный пакет zsh Debian, а не использовать дистрибутив, и какой дистрибутив вы используете в любом случае?

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

-121--70060-

Можно запустить yum erase elfutils-libelf в зависимые пакеты, которые необходимо удалить, чтобы удалить elfutils-libelf.

-121--186819-

Перед передачей содержимого файла в sed можно развернуть оболочку:

sed -e "s/$(cat needle.txt)/replace/" subject.txt

Обратите внимание на использование двойных кавычек.

Это сделает sed интерпретировать любые метасимволы regex из needle.txt как метасимволы regex, а не обычные символы. Если needle.txt содержит /, он будет прерван.

Если требуется, чтобы строки needle.txt интерпретировались буквально (даже если они содержат метасимволы regex, как в вашем примере), можно сделать что-то вроде:

perl -pe '
    BEGIN{ local $/; 
           open $IN,"<","needle.txt";
           $needle = <$IN>
    }
    s/\Q$needle/replace/
'  subject.txt

Объяснение

  • Переключатели -pe означают применение кода, следующего за строкой, к строкам файла subsuect.txt и печать каждой строки после завершения обработки.
  • Сегмент BEGIN {} выполняется только один раз. Он открывает файл needle.txt и сохраняет все его содержимое в переменной $ eigle .
  • s/\Q $ eigle/replace/ - это тот же синтаксис, который вы ожидали от sed , за исключением того, что \Q заставляет регексный движок Perl рассматривать всё после него как фиксированный ряд, а не как регекс.
0
23.09.2014, 02:50
2 ответа

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

Или

Вы можете попробовать использовать winbind и сопоставить группу Windows с группой UNIX и иметь только одну группу для записи и другую для чтения.

Сначала нажмите на google: http://www.brentnorris.net/samba2005.html#winbind

Я тестировал winbind на AIX & HP-UX в прошлом - мы не реализовали его из-за ряда проблем. На Linux вам может повезти больше.

1
28.01.2020, 02:37

Начиная с v4, samba больше не требует использования локальных учетных записей UNIX. Если вы используете samba v4, вы можете использовать samba-tool , чтобы добавить нового пользователя, которого нет в качестве пользователя UNIX:

samba-tool user add USERNAME-HERE
1
28.01.2020, 02:37

Теги

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