И вот является обязательный Perl путем:
perl -000ne 'print unless /Auto-Installed: 1/' file
Волшебство -000
, это включает режим абзаца Perl, который заставляет его разделить файлы на абзацы. Другими словами, записи разделяются двумя или больше последовательными \n
персонажи.
Это также распечатает пустую строку между записями, для избавлений, которых, Вы могли работать
perl -000ne 'print unless /Auto-Installed: 1/' file | grep .
. Единственный способ установить блок-устройство в более чем одной системе одновременно, является если блочное устройство содержит файловую систему, предназначенную для этой цели, таких как OCFS2 Отказ «Нормальные» файловые системы, такие как Ext4
или VFAT
не могут поддерживать это. Поскольку цифровая камера почти наверняка только поддерживает только VFAT
как тип файловой системы, это невозможно.
Существуют некоторые продукты, которые существуют на рынке, который претендует на это (например, карты SD с WiFi), но они являются грозными хаками. Они тянут трюки, такие как пытаясь обнаружить, когда камера завершится запись файла, проверяя, завершена ли данные JPEG в файле, а затем надеясь, что камера останавливается доступ к файлу, который никогда не гарантируется. Возможно, что эти продукты будут работать для вас, но затем также возможно, что они ничего не будут делать или ужасно коррумпировать ваши данные. YMMV.
-121--123191-Subsystem sftp intenal-sftp
должен быть «Inte R NAL».
НЕ НУЖНО ВСЕГДА ставить Subsystem sftp internal-sftp
. Это большое недоразумение!
Что определяет Subsystem
? Давайте проверимsshd_config(5)
:
Subsystem
Configures an external subsystem (e.g. file transfer daemon).
Arguments should be a subsystem name and a command (with optional
arguments) to execute upon subsystem request.
The command sftp-server implements the SFTP file transfer
subsystem.
Alternately the name internal-sftp implements an in-process SFTP
server. This may simplify configurations using ChrootDirectory
to force a different filesystem root on clients.
By default no subsystems are defined.
Изменение подсистемы sftp
на internal-sftp
требуется ТОЛЬКО, если вы НЕ хотите устанавливать все файлы в chroot (, т.е.ChrootDirectory
).
Пример -Если вы хотите иметь свою собственную оболочку, которая будет делать что-то особенное и «принуждать» пользователей к sftp, вы НЕ МОЖЕТЕ иметь Subsystem sftp internal-sftp
, потому что вы не можете вызывать/выполнять internal-sftp
как команду, ее внутренний OpenSSH магия. Для реального сценария -вы хотите автоматически зеркалировать все загруженные файлы через SFTP с rsync
в конце сеанса SFTP -, поэтому вы не можете использовать internal-sftp
, но вы должны использовать значения по умолчанию для подсистемы sftp
, заполнить chroot вручную и просто вызовите/usr/libexec/sftp-server
(или любой другой путь )и rsync
после завершения sftp-server
.
Людям следует читать справочные страницы, чтобы понять, что происходит в фоновом режиме, а не слепо следовать любым рекомендациям.