для mininet, вероятно, лучший способ установки - это попытка использовать пакеты ubuntu (третий вариант на http://mininet.org/download/). Это поместит пакет в /usr
, но более того, позволит вам удалить пакет, даже если вы делаете обновление, используя apt-get
, не оставляя мусора вокруг вашей системы.
Иначе я предлагаю вам установить его в /opt/mininet
или что-то в этом роде. По возможности избегайте /usr/local
, потому что все пакеты будут смешиваться, и вы не сможете отсортировать, какой файл с каким пакетом связан, если захотите что-то удалить.
.
В bash различные команды имеют различные понятия слов. C-w
убивает до предыдущего пробела, но большинство других команд, включая M-t
, используют разделенные пунктуацией слова.
Когда курсор находится между первым и вторым аргументами, C-w C-e SPC C-y
транспонирует эти два слова.
Если вы хотите связать ключ с переносом слов, разделенных пробелом, это сложнее. См. запутанное поведение ключей в стиле emacs в bash . Вот какой-то минимально проверенный код.
transpose_whitespace_words () {
local prefix=${READLINE_LINE:0:$READLINE_POINT} suffix=${READLINE_LINE:$READLINE_POINT}
if [[ $suffix =~ ^[^[:space:]] ]] && [[ $prefix =~ [^[:space:]]+$ ]]; then
prefix=${prefix%${BASH_REMATCH[0]}}
suffix=${BASH_REMATCH[0]}${suffix}
fi
if [[ $suffix =~ ^[[:space:]]+ ]]; then
prefix=${prefix}${BASH_REMATCH[0]}
suffix=${suffix#${BASH_REMATCH[0]}}
fi
if [[ $prefix =~ ([^[:space:]]+)([[:space:]]+)$ ]]; then
local word1=${BASH_REMATCH[1]} space=${BASH_REMATCH[2]}
prefix=${prefix%${BASH_REMATCH[0]}}
if [[ $suffix =~ [^[:space:]]+ ]]; then
suffix=${suffix#${BASH_REMATCH[0]}}
READLINE_LINE=${prefix}${BASH_REMATCH[0]}$space$word1$suffix
READLINE_POINT=$((${#READLINE_LINE} - ${#suffix}))
fi
fi
}
bind -x '"\e\C-t": transpose_whitespace_words'
Это все проще в zsh...
-121--161414- Большинство утилит POSIX указывают, что --
можно использовать для завершения аргументов параметра:
cp -- '-file 1' '-file 2'
Можно также ссылаться на текущий каталог с помощью .
жесткая ссылка на текущий каталог:
cp './-file 1' './-file 2'
-121--202675- RPM для RHEL [6 | 7] и братья и сестры (т.е. CentOS et al.) и доступны через yum в большинстве репозиториев.
Обратите внимание, что данные RPM адресуют часть уязвимостей «POODLE» в соответствии с:
СМ.: cert.gov
Обновление безопасности не решает некоторые конкретные проблемы с SSLv3, поэтому серверы, которые обновляются, должны устранить любую возможность подключения клиентов с использованием этого протокола и, в частности, методов CBC.
Удаление SSL3 из конфигурации сервера действительно легко выполнить с помощью:
ssl _ protocols TLSv1 TLSv1.1 TLSv1.2;
в http
config section и Если вы найдете какие-либо серверные директивы, просто удалите их и дайте «HTTP» управлять... как и должно.
SSLProtocol All -SSLv2 -SSLv3
в разделе глобальной конфигурации SSL и Как и в предыдущем OpenSSL snafus, вместо выдачи новых номеров RPM, соответствующих обновленному номеру версии OpenSSL (1,0 .1j), .rpm
имеет исправление, перенесенное в последнюю часть .rpm
дистрибутива; который равен 1,0 .1e (для distros на основе RHEL) и полностью настроен - на данный момент - как 1,0 .1e-30. [переменная по конкретной версии машины]
.
Итак, в качестве примера можно привести CentOS 6 64-разрядную версию .rpm
- openssl-1.0.1e-30.el6 _ 5,2 .x86 _ 64 .rpm
.
Как и при любом обновлении OpenSSL, все, что зависит от OpenSSL, например веб-серверы, VPN и т.п., должно быть перезапущено на сервере, прежде чем обновление вступит в силу.
Из документации:
Функции, определенные синтаксисом function name и вызываемые по имени, выполняются в том же процессе, что и вызывающий и совместно использовать все файлы и представить рабочий каталог вызывающему абоненту. Ловушки, обнаруженные вызывающим абонентом, сбрасываются в их действие по умолчанию внутри функции.
В то время как
функции, определенные с помощью синтаксиса name (), и функции, определенные с помощью синтаксиса имени функции, которые вызываются с. специальные встроенные исполняются в среде вызывающего абонента и совместно используют все переменные и ловушки с вызывающим абонентом.
Решение состоит в том, чтобы не использовать ключевое слово функция
; придерживаться стандартной формы определений функций.
Если вас интересует только несколько функций, typeset -tf fname
будет просто отслеживать функцию fname
(если она была определена с помощью ключевого слова function
).
Чтобы остановить трассировку: type eset + tf fname
Чтобы отследить все такие функции в ksh93: typeset -tf $ (typeset + f)
Чтобы увидеть, какие функции отслеживаются: typeset + tf
Чтобы остановить трассировку всех функций: typeset + tf $ (typeset + tf)
Я бы использовал pgrep
вместо ps
так:
$ pgrep -fa java | grep -op "(<=-Dapp.name=)\w+"
Будут возвращены все процессы, соответствующие java
, а затем отфильтрованы процессы, отображающие только те, которые содержат -Dapp.name =
. Последний бит, \w +
, покажет имя программы, если он не содержит мест.
ПРИМЕЧАНИЕ: Переключатель -P
в grep
обеспечивает возможность задания объектов с помощью PCRE - Perl Compatible Regular Expressions . Не все версии grep
поддерживают его, но большинство из них включены в более современные версии Linux.
Если требуется весь вывод ключа/значения, измените следующие параметры:
$ pgrep -fa java | grep -oP -- "-Dapp.name=\w+"
-121--39437- wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
tar -xvf openssl-1.0.1j.tar.gz
cd openssl-1.0.1j
./config --prefix=/usr no-threads shared
make
make test
make install
openssl version