Задача: Есть машина за НАТом, в которую нужно попасть по SSH.
Условия: Избежать цепочки подключений к SHH вручную. Сразу попадать на нужную машину. Порты не проброшены, но есть доступ по SSH к серверу с внешним IP.
Решение: читать дальшеВ ~/.ssh/config нужно прописать следующее:
Host xxx.xxx.xxx.xxx User user1 PubkeyAuthentication yes PasswordAuthentication no IdentityFile ~/.ssh/id_rsa
Host yyy.yyy.yyy.yyy User user2 ProxyCommand ssh -W %h:%p xxx.xxx.xxx.xxx PubkeyAuthentication yes PasswordAuthentication no IdentityFile ~/.ssh/id_rsa
Подключаться так:
ssh yyy.yyy.yyy.yyy
Пояснения: xxx.xxx.xxx.xxx — IP адрес внешнего сервера. yyy.yyy.yyy.yyy — IP адрес сервера за НАТом Самое интересное здесь — это ProxyCommand
Ссылки: Памятка пользователям ssh, читать почти в самом низу, опция -W Transparent Multi-hop SSH, читать A Better Way, почти тоже самое, но с использованием netcat, для версий SSH без опции -W Подсветка синтаксиса: gvim
Задача: Установить новую версию ffmpeg отдельно от системной, для избежания замены библиотек и хедеров. Так же собрать mplayer2 с использованием разделяемых библиотек от новой версии.
Условия: По возможности не изменять системные настройки ld.so.conf, сделать всё с помощью компилятора и линкера.
Решение: читать дальшеСобрать нужную версию ffmpeg с подобными параметрами:
В очередной сборке суффикс начал добавляться к названиям файлов pkgconfig (*.pc), это мешает mplayer находить ffmpeg во время конфигурации. Посему если такое произошло, можно создать на них символьные ссылки без суффикса простым скриптом (предварительно перейти в каталог с этими файлами):
for i in * ; do sudo ln -s $i ${i%%-xxxxx*}.pc ; done
Где -xxxxx — добавленный суффикс.
Собрать нужную версию mplayer2 с подобными параметрами:
Пояснения: Параметр --prefix= указывает, что установка будет производиться в /opt/ffmpeg-mpenc export LD_RUN_PATH=$FFLIBDIR — указывает где линковщику искать беблиотеки при связывании. Скорее всего не нужен, но проверять нет желания. export PKG_CONFIG_PATH=$FFLIBDIR/pkgconfig — указывает pkg-config искать пакеты для библиотек сначала по указанному пути. --build-suffix — добавляет суффикс к именам готовых бублиотек после компиляции, чтобы с такими же именами не нашлись в стандартных путях. --extra-cflags="-I$FFPREFFIX/include" — указывает компилятору путь для поиска файлов заголовков. --extra-ldflags="-Wl,-rpath,$FFLIBDIR" — заставляют линковщик прописать путь поиска бублиотек в исполняемый файл, который будет использоваться перед стандартными путями системы. --extra-ldflags="-L$FFLIBDIR" — указывает линковщику путь для поиска библиотек при связывании. Проверить, что связывание было выполнено с нужными библиотеками так: ldd ffmpeg | grep libav
Задача: Отключить SSNP уведомления для всех HP принтеров установленных в системе, у всех пользователей.
Условия: Много МФУ HP 2727 подключены по сети, много пользователей на Windows XP в домене Windows 2003. У каждого пользователя установлено несколько принтеров которые досаждают уведомлениями при печати.
Решение: cmd скрипт, прописан для автозапуска при включении компьютера для всех пользователей с помощью GPO. смотреть скрипт
@echo off
set TMPREG="%TEMP%\ttt.reg" set NEWREG="%TEMP%\disable.reg"
Пояснения: Скрипт находит в реестре настройки для всех принтеров, выбирает из них те, в которых есть подраздел PrinterDriverData (модель не проверяю, пусть вносит во все, не жалко) и вносит в этот раздел параметр SSNPNotifyEventSetting с нужным значением. 0 — уведомления отключены, 1 — обычные уведомления, 3 — только критические уведомления.