Есть некоторые вещи, которые админам приписывают. Пляски с бубном, какую-то непостижимую магию или еще чего. Да, это реально существует. Все зависит от количества мидихлориан и умения админа пользоваться Силой.
Вот было у меня много таких случаев. Скажем, было время ложиться спать, но ворочаешься, жарко, спать не можешь. Берешь и открываешь почту, смотришь, а там как раз недавнее сообщение от системы мониторинга что все плохо и что-то нужно и важное отвалилось. Идешь и чинишь. Или, бывало, раннее утро, но ты внезапно просыпаешься, хотя не было никакого шума или звонка будильника. И не можешь уснуть. И оказывается, да, прямо сейчас, несколько минут назад у тебя в почте появилось письмо про отвалившийся сервис. Такие дела.
На самом деле можно было бы долго верить в эти феномены, мистику и прочие непостижимые вещи, но у всего этого простое объяснение. Лето. Жара. Спится плохо. Да я очень часто просыпаюсь раньше обычного. И так уж вышло, что пару раз на этот момент выпало какое-то такое событие, которое я хорошо запомнил. Поэтому кажется, что есть какая-то связь, которой нету. То есть, нет магии, мидихлориан и Силы, которая движет админами.
среда, 1 июня 2011 г.
пятница, 1 апреля 2011 г.
О мифических профитах tmpfs при компиляции
Возвращаясь к "бенчмарку" сборкой ядра, табличка на результаты которого будет чуть ниже, прошу обратить внимание на выделенные зеленым строчки. Это ничто иное как попытка увидеть профит от размещения исходников и каталога для сборки на tmpfs, который целиком влазит в оперативу. Как видим, профит ничтожно мал и составил 18 секунд от 678, то есть всего около 2.6%. Если при этом учесть еще что tmpfs зажирает место, которое могло использоваться всей системой под кеш (ну, ведь гентушники же не подключают /var/tmp/portage перед каждой сборкой?), я думаю что это можно смело называть непонятно откуда взятым мифом. :)
Тут-то и сами результаты
Тут-то и сами результаты
четверг, 24 марта 2011 г.
Штирлиц получил новую шифровку из Центра
Мы тут случайно наткнулись на очень необычную функцию древнейшего UNIX-калькулятора, и именно свойство печатать цифры из стека в виде букв. Нам это так понравилось, что я сначала написал черновую версию преобразователя текста в такие цифры, а потом, кучей итераций на #linux скриптик медленно преобразовался в такое вот коротенькое:
на выходе получается готовая команда для запуска dc, которая печатает some text. Этот окончательный вариант принадлежит перу ams, так что можете считать его perl-гуру. Другой гуру - ramok, он же komar, тоже приложился к этому делу.
Конечно, это не имеет никакой практической ценности, но является само по себе забавной вещью.
echo some text | perl -Mbigint -pe 'map{($s<<=8)|=$_}unpack"C*";$_="dc -e ${s}P\n"'
на выходе получается готовая команда для запуска dc, которая печатает some text. Этот окончательный вариант принадлежит перу ams, так что можете считать его perl-гуру. Другой гуру - ramok, он же komar, тоже приложился к этому делу.
Конечно, это не имеет никакой практической ценности, но является само по себе забавной вещью.
суббота, 5 марта 2011 г.
rlwrap - используем readline в приложениях, в которых его нет
rlwrap позволяет обернуть ввод в приложение, снабдив его функциями редактирования строки от readline. То есть, мы запускаем через rlwrap любую программу, которая просто читает ввод с терминала, например cat, telnet, netcat и получаем историю ввода, передвижение по строке курсорными клавишами, редактирование строки и прочие плюшки нормального, удобного ввода.
Устанавливается rlwrap в виде отдельного одноименного пакета и есть в репозиториях большинства дистрибутивов.
Пример использования:
Устанавливается rlwrap в виде отдельного одноименного пакета и есть в репозиториях большинства дистрибутивов.
Пример использования:
$ rlwrap netcat localhost 25- подключаемся к локальному SMTP-серверу и имеем чуть более удобную возможность говорить с ним напрямую.
вторник, 1 марта 2011 г.
Как скопировать файлы из другой ветки репозитория git
Кросспост из ЛинСовета
Что же делать, если нужно скопировать файлик из одной ветки git в другую? Браться за голову и делать это руками? Совсем нет. :)
Достаточно сделать в нашей ветке, где файла нет вот такое действие:
Что же делать, если нужно скопировать файлик из одной ветки git в другую? Браться за голову и делать это руками? Совсем нет. :)
Достаточно сделать в нашей ветке, где файла нет вот такое действие:
$ git checkout другая_ветка путь_к_файлуи файл магически скопируется из другая_ветка. Останется добавить его и закоммитить.
суббота, 19 февраля 2011 г.
XPRA - "screen" для X-клиентов
xpra, или X Persistent Remote Applications - это приложение, которое позволит подключаться к запускаемым с его использованием X-клиентам (графическим программам) удаленно или локально, не опасаясь обрыва связи или смерти X-сервера. Эдакий “screen” для графических приложений, который и правда чем-то напоминает обычный screen для терминала.
Итак, как это работает?
Есть правда у него существенный недостаток - у меня в нем совсем не работает ввод кириллицы, да и некоторые приложения совсем плохо работают по сети через X-протокол (ну то есть, может они и хорошо работают, но для этого нужна гигабитная сеть %)). Ну и второе - такое как в tmux, а именно одновременное отображение и работа приложения на двух и более серверах, тут невозможно.
Итак, как это работает?
- Устанавливаем xpra. (свежие ебилды, репозитории со свежачком)
- Запускаем xpra на каком-либо свободном дисплее:
xpra start :1
xpra list - показывает активные дисплеи xpra - Запускаем наше приложение:
DISPLAY=:1 someguiapp
- Идем на удаленную машину... запускаем ssh с X-forwarding:
ssh -X username@hostname
- Делаем xpra attach:
xpra attach
- Видим свое приложение и работаем с ним.
Есть правда у него существенный недостаток - у меня в нем совсем не работает ввод кириллицы, да и некоторые приложения совсем плохо работают по сети через X-протокол (ну то есть, может они и хорошо работают, но для этого нужна гигабитная сеть %)). Ну и второе - такое как в tmux, а именно одновременное отображение и работа приложения на двух и более серверах, тут невозможно.
пятница, 18 февраля 2011 г.
Узнать время в другом часовом поясе
Кросспост с ЛинСовет
Иногда нам хочется узнать время в другом часовом поясе. Иногда (но еще реже) нам нужно, чтобы таймзона нашего пользователя была не такой, как системная. Для этого существует переменная окружения TZ, в которую можно записать значение и получить нужный эффект.
Иногда нам хочется узнать время в другом часовом поясе. Иногда (но еще реже) нам нужно, чтобы таймзона нашего пользователя была не такой, как системная. Для этого существует переменная окружения TZ, в которую можно записать значение и получить нужный эффект.
$ date Fri Feb 18 10:22:53 EET 2011 $ TZ="America/Chicago" date Fri Feb 18 02:22:53 CST 2011Узнать название зоны поточнее всегда можно в каталоге /usr/share/zoneinfo.
Подписаться на:
Сообщения (Atom)