Как написано в http://thinkinginsoftware.blogspot.com/2014/06/devops-need-no-words-but-code-how-to.html, вот ответ. Я знаю, что не рекомендуется редактировать *cf файлы напрямую, чтобы вы знали, что делать. Надеюсь, это кому-нибудь поможет.
smarthost=mail.sample.com
user=me
alertlist=alert@mail.sample.com
/opt/csw/bin/gsed -i "s/^DS[\s]*.*/DS $smarthost/g" /etc/mail/submit.cf
/opt/csw/bin/gsed -i "s/^DS[\s]*.*/DS $smarthost/g" /etc/mail/sendmail.cf
/opt/csw/bin/gsed -i "/$user:/d" /etc/aliases
echo "$user:$alertlist" >> /etc/aliases
/opt/csw/bin/gsed -i "/root:/d" /etc/aliases
echo "root:$alertlist" >> /etc/aliases
svcadm restart sendmail
echo "So that we never miss again an important communication from servers" | mailx -s "`hostname` As a sysadmin I want to receive my user mail notifications in my personal email address" me
echo "So that we never miss again an important communication from servers" | mailx -s "`hostname` As a sysadmin I want to receive root mail notifications in my personal email address" root
TurboVNC специально разработан для удаленного использования графического ускорения. Он используется в нескольких академических и правительственных «высокопроизводительных вычислительных» организациях именно для этой цели.
Я бы предложил вам изучить его и аналогичные продукты, а не коммерческое решение, которое не разработано с конкретными требованиями к удаленному ускорению графики.
Веб-сайт TurboVNC: http://www.virtualgl.org/
-121--105272-У меня есть виртуальная машина, подключившая образ iso в качестве виртуального cdrom, что почти совпадает с настройкой.
Я добавил эту строку к /etc/fstab
/dev/cdrom /repo iso9660 rootcontext=system_u:object_r:public_content_t:s0,context=system_u:object_r:public_content_t:s0 0 0
Поиск в монтировании (8) для параметров selinux
настройка пользователя ftp:
# getent passwd ftp
ftp:x:14:50:FTP User:/repo:/sbin/nologin
-121--111881- Прежде всего, там; нет необходимости в цикле, поиск
может сделать все это сам. Условия можно отменить с помощью !
или -нет
флагов. Вы также не хотите -o
, так как это означает «найти файлы/диры, имя которых не является foobar или не является doobar». Все будет найдено, так как одно или другое условие всегда будет верным ( foobar
соответствует «не doobar» и doobar
соответствует «не foobar»). То, что вы хотели, это что-то вроде:
find /path/to/parent/dirs/* -type d ! -name "*foobar*" ! -name "*doobar*" -delete
или
find /path/to/parent/dirs/* -type -d -not -name "*foobar*" -not -name "*doobar*" -delete
Вы могли бы, если хотите, тоже сделать это в оболочке. Например, с bash
:
for i in /path/to/parent/dirs/*/; do
[[ "$i" =~ 'foobar' || "$i" =~ 'doobar' ]] || rm -rf "$i";
done
я не уверен в деталях, и у меня нет мака для тестирования этого, но похоже, что поиск OSX не позволит вам удалить каталоги. Я верю (но не уверен), что это то, что делает этот код :
/* Potentially unsafe - do not accept relative paths whatsoever */
if (strchr(entry->fts_accpath, '/') != NULL)
errx(1, "-delete: %s: relative path potentially not safe",
entry->fts_accpath);
Один из способов обойти это - использовать -exec
вместо этого:
find /path/to/parent/dirs/ -type d ! -name "*foobar*" ! -name "*doobar*" \
-exec rm -rf {} +
Все эти команды удалят вещи. Проверьте их перед использованием!