Просто VNC

05.01.2016

Для того чтобы под unix удаленно запустить X приложение нужно определить переменную DISPLAY и запустить на локальном компьютере X-Server (VcXsrv или любой другой). Если при этом упадет сеть, то приложение тоже падает, теряются данные и прочие проблемы.
Старый и эффективный выход из этого положения — установить vnc-сервер и соединятся с ним с любого места, не боясь потери данных, «порывов» и просто заметно быстрее, чем через X-сервер. Можно, например, запустить firefox на удаленном серваке и спокойно серфиться, можно запустить виртуалку и соединяться с ней, когда нам нужно, ну итд

  1. устанавливаем на сервере vnc-сервер, например, vnc4server или tightvncserver
    # apt-get update
    # apt-get install vnc4server
  2. запускаем его без параметров — при первом запуске он запрашивает пароль для доступа.
  3. устанавливаем на сервере переменную DISPLAY, запускаем vnc-сервер и запускаем любое X-приложение
    # export DISPLAY=localhost:12
    # vnc4server :12
    # xterm &
  4. соединяемся с помощью vnc-viewer (любой клиент под любой платформой, например TightVNC Viewer или любой другой)
    vnc viewer
  5. прибить vnc можно командой
    # vnc4server -kill :12

Ссылки в тему:

Итак, проект find.unixpin.com переехал на новый домен www.clihelper.com

Напомню: напоминалка опций через web-интерфейс, позволяет быстро и без головняков с man-ами вспомнить забытые (или узнать новые) опции для cli команд. Сейчас в наличии grep, find, fuser, wc. Постараюсь оперативно  выкладывать новые напоминалки.

Итак, версии на русском и английском.

О найденных ошибках, замечания, предложения и пожелания — обо всем пишем сюда.

На многих почтовых серверах в целях безопасности запрещена пересылка писем от не авторизованных пользователей.  Т.е. если мы хотим получать письма от рутов наших любимых серверов, в поле отправителя будет стоять что-то типа root@hostname.domain.ru и письмо скорее всего не дойдет до адресата. А нам во что бы то ни стало надо это письмо обязательно получить (хотя и не обязательно мы его будем читать но получить надо;)) Единственный выход в данной ситуации — это изменить адрес отправителя на существующий адрес на почтовом сервере, например Vasily.Pupkin@domain.ru.

Конечно можно не заморачиваться с sendmail и использовать любой другой mail transfer agent либо почтовый клиент, в котором можно прописать все что угодно, но есть софт, который упорно использует только sendmail и ничего более. Вот для таких случаев и написана данная инструкция.

Итак:

Читать полностью »

Есть такой убойный сервис у Sun, называется Shared shell. Нужен для предоставления удаленного доступа к telnet-ssh сервисам по https.
Обычно используют RemoteAdmin или что-нибудь подобное, чтобы удаленно настроить приложения, но очень часто у клиентов зарезаны порты и вообще, доступ к интернету сильно ограничен. Это приложение позволяет обойти эти ограничения для настройки терминальных приложений.
Это java приложение, работает через всякие прокси, хорошо себя ведет на слабых каналах. Позволяет предоставить полный доступ к консоли или доступ только для просмотра, тут же есть чат с поддержкой русского языка, карандашик, которым можно выделить что-нибудь. Один человек создает сессию, соединяется по telnet или ssh. Затем, меню «Conference-Invite» получает ключ, который отправляете человеку, который присоединяется к вашей сессии. Весь интерфейс интуитивно понятен. Вообщем — швейцарский нож, рекомендую ;)
Shared shell

shared_shell_1

shared_shell_2

По мотивам стандартной документации Perlvar.

Считать целиком файл в переменную:

open (MOCK, $filename) or die "$!";
local $/;
# переопределяем встроенную переменную "разделитель строк" ($/ или $INPUT_RECORD_SEPARATOR или $RS)
$_ =<MOCK> ;    # захавать моск файл целиком
close (MOCK);

Напечатать содержимое массива:
@a=qw( 1 2fewf wf g ag f);
local $,="\n";
# переопределяем встроенную переменную "разделитель полей" ($, или $OUTPUT_FIELD_SEPARATOR или $OFS)
print @a;

Читать полностью »

И снова grep

05.08.2009

Иногда есть данные и шаблоны, и чтобы выбрать данные — обычно используют цикл, в котором грепают по шаблону. Но тут недавно внимательно перечитал man grep и нашел интересный момент ;) Можно в одну команду вывести список строк, которые попадают (или не попадают) под шаблон

cat data.txt
111
222
333
112
122
233
444

cat template.txt
2
1

/usr/xpg4/bin/grep -f template.txt data.txt
111
222
112
122
233

Или не попадают
/usr/xpg4/bin/grep -v -f template.txt data.txt
333
444

Для чего это можно использовать? Ну например, список новых томов в VxVM, список новых файлов в каталоге — удобно динамически формировать список и сравнивать его со старым списком.

Вдруг резк опросела производительность по операциям воода-вывода. С чего начать?
Ну, конечно, iostat (смотри также Перегретый диск в vxvm). Получили диск, или диски, а если используется vxvm — тогда лучше воспользоваться vxstat:

1. выбираем наиболее загруженные диски
# vxstat -g DG01 -i 10 -c 3 -d
OPERATIONS BLOCKS AVG TIME(ms)
TYP NAME READ WRITE READ WRITE READ WRITE
dm array_raid1_08_1 6 260 96 5664 10.0 64.3
dm array_raid1_10_2 7 205 112 5296 12.9 68.7
dm array_raid1_10_3 6 1199 96 15408 18.3 163.6
dm array_raid1_10_4 7 178 112 5312 12.9 39.0
...
dm array_raid5_06_1 9 33 132 524 8.9 8.2
dm array_raid5_07_1 2 58 32 1120 5.0 11.6

Читать полностью »

Несколько полезных быстрых ссылок по Veritas Storage foundation от Symantec:

Найти и скачать последние патчи на продукты — Patch Central Beta

Центральный портал документации по продуктам Storage Foundation DocCentral

Быстрый переход на документацию по продектам Access product updates, security alerts, manuals and more with Enterprise Product Support.

Нормальные man-ы в html-виде:
Storage Foundation and High Availability 4.1 for Solaris Manual Pages

Storage Foundation and High Availability 5.0 for Solaris Manual Pages

В продолжнение темы Solaris. Что делать, если отвалился дисковый массив? еще пара советов по подключению отвалившихся дисков. Итак, ситуация примерно такая:
# vxdisk list
DEVICE TYPE DISK GROUP STATUS
c1t0d0s2 sliced rootdisk rootdg online
...
fabric_0 sliced - - online
fabric_1 sliced - - online
- - datadg02 DG01 failed was:fabric_0
- - datadg03 DG01 failed was:fabric_1

1. Проще всего остановить все тома, депортировать и импортировать дисковую группу.

Но что делать, если часть дисков отвалилась, но некоторые тома еще живы (ну например, часть томов находится на зеркалах на другом массиве), и останавливать сервис нельзя?
Читать полностью »

Ну пароли типа 123456 могут себе позволить только руты, а все остальные пусть мучаются, записывают на бумажках и приклеивают их на монитор ;) Ну вот, вообщем-то, генератор паролей. Условия: 8 символов, обязательно один символ из верхнего регистра, один из нижнего, один спецсимвол.
Пример работы:
RyCnY7Z#
osM,s7I{
Hx0a@f`7
IM(1Tl|S
P[\QKNa0
g8*`xHUp

Закачать password_gen.pl