← All posts tagged Linux

Люблю линупс. Сначала нам рассказывают о величии пакетных менеджеров, отвыкании от виндовых привычек качания софта с сайтов производителей и прочем. А потом оказывается, что половина софта из реп обновляется только при установке новой версии дистрибутива.

Появилась идея забэкапить дроплет при помощи tar и SSH, грузанувшись образом восстановления. Ну тоесть чтобы tar паковал раздел дроплета и слал данные по трубам в SSH сессию. Так вот, интересно, с dd такой финт прокатывает?
digitalocean.com
cyberciti.biz

Приступайте к ненависти.
The customer explained that their program is just fine with files that have spaces in their name, but their program is a utility program, and it is used by other programs and scripts. Those other programs and scripts have a Unix heritage, and Unix file names rarely have spaces in their name. Consequently, those programs and scripts tend to have poor support for files with spaces in their name. blogs.msdn.microsoft.com

Обновился клиент ownCloud. Перезапускаю... БАХ! «Версия сервера больше не поддерживается!» в двух уведомлениях, которые оперативно исчезают, не дав дочитать до конца. БАХ! «Введите пароль или получите из приложения». БАХ! «Продолжайте синхронизацию на свой страх и риск». Да ну вашу ж мать... Лезу на сайт. «Мы поддерживаем две последние версии!» Ага, версию 2.5.0 и версию 2.5.0. Лезу в репу – только свежая. Короче, этот день наконец настал, день когда появляются два вопроса: как откатиться на старую версию и как заставить apt игнорировать новые версии пакета?

Audacious не показывает окно свойств элемента плейлиста, для которого не удалось найти соответствующий файл. Тоесть работал у тебя пейлист, а потом вдруг несколько треков перестали обнаруживаться. Хочешь глянуть, откуда они тянутся, а никак: зачем вам путь к файлу, если его там нет.

В очередной раз отвалилась мышь. Тоесть курсор есть, бегает, вроде бы даже меняется на другие виды на всяких границах окон и прочем, но МАТЭ вообще никак не реагирует на клики.
Перед этим пыталась отменить добавление файлов в плейлист Audacious закрыванием окна с сообщениями об обрабатываемых файлах. Кнопки «Отмена» нет (а зачем?), поэтому пыталась закрыть окно, но то выскакивало снова, я его закрывала, оно выскакивало снова... Пришлось грохнуть МАТЭ вместе со всеми программами.
А что вообще приключилось с Audacious? Нажала «Добавить файлы», появился диалог. Выбрала стрелочками смонтированный диск в списке папок, нажала Enter в надежде, что откроется выбранное, а вместо этого нажалась кнопка «Добавить».
Короче, готовность к десктопу номер один!

У меня ранее сервер рассылал уведомления по почте через ssmtp. Для того чтобы всё было красиво, bash скрипт формировал из шаблонов письмо и скармливал его программе, а та дописывала что нужно и слала на сервер. И вот вчера у меня дошли руки прикрутить к этому PGP. Выяснила, как (с какими параметрами) Бэки вызывает GnuPG для подписи и шифрования письма и что скармливает ему. Ну и повторила, наделав дополнительных шаблонов. Правда, случился затык, над которым я просидела всю ночь. Если письмо формировалось с переносами в виде LF (в, собственно, Баше), то подпись всегда оказывалась невалидной. Но если сделать всё то же самое ручками и с CRLF, то всё прекрасно работало. Собственно, Бэки как раз CRLF скармливала GnuPG, а тот в Windows тоже выдавал CRLF в текстовых файлах. Но мне-то нужно под Линуксом. В итоге остановилась на флаге «--textmode», который позволяет игнорировать разные варианты переносов. Но до причины странного поведения я так и не докопалась. В Linux GnuPG выдаёт те же файлы с LF, и разные варианты переносов нигде не перемешиваются =_=

Наконец на DigitalOcean старым дроплетам разрешили самим выбирать себе ядро. А то на более новом ядро было всегда свежее, а на более старом всё, что удалось найти в вэб-морде самого DO. И тьюториал выкатили, который всё прояснил:
digitalocean.com
Хотя могли бы прямо в настройках заметку написать про старые и новые дроплеты =_=

Кстати об окончательной победе юникода в лице UTF-8 в линупсе. Мне постоянно попадаются программы, которые пытаются сокращать те или иные строки, чтобы те влезали в экран, но при этом рубят текст прямо по парам. В итоге получаем кусок нормального текста с крякозяброй на конце. В GUI кроме крякозябры никаких неудобств не наблюдается, а в консоли иногда весь интерфейс корёжит. Например, меня задолбал tmux, который пытается в строке состояния выводить «заголовок» программы, запущенной в текущем окне. Если в этом заголовке кириллица, то крякозябра, строка состояния на две строки (последний символ переносится) и, как возможность, – сама перекошенная программа. Например, ncmpcpp очень страдает от этого до полной неюзабельности. Считаю это следствием пофигизма, распиздяйства и всепоглощающей философии «UTF-8 – есть разновидность ANSI» (от которой ещё и порты программ под Windows страдают).

Неожиданно вспомнила, что есть моя программа Fix system time, которая писалась для того, чтобы фиксить время на одной машине, на которой оно слетало (лень было заменить батарейку) настолько капитально, что встроенный NTP клиент отказывался синхронизировать. Использует функцию NetRemoteTOD() для получения времени на удалённой машине, а потом SetSystemTime() с полученными данными. Дёшево и сердито. Так вот оказалось, что если на Линуксе есть Самба, то и с него можно брать время. Поэтому надо будет попробовать максимально костылизированный вариант.
1. На Линуксе вырубает ntpd, а вместо него ничем память не грузим.
2. Там же в кроне делаем «ntpdate -u».
3. На Windows вырубаем службу времени.
4. В планировщике заданий делаем «FixSystemTime.EXE».
И усё.

Продолжаю воевать с синхронизацией времени. Зашла со стороны Линукса. ntpdate говорит, что подходящие серверы не найдены. Решила посмотреть, что у него там за параметры – вдруг лог какой покажет. Нашла параметр «-d», который выводит отладочную информацию. Смотрю, а в отладочной информации, а там ответы серверов, разница во времени, всё прекрасно. Пробую снова – не синхронизируется. Ладно, читаю дальше. Пробую таймаут – не помогает. Нашла параметр «-u», который заставляет использовать некие «unprivileged ports» на случай злого файрволла. Попробовала – всё прекрасно синхронизировалось. Теперь меня мучают вопросы: 1) какие именно порты используются в обоих случаях, 2) как обучить ntpd использовать такой же «unprivileged port», 3) не заюзать ли лучше ntpdate через cron, и 3) как заставить Windows делать то же самое?

Поломалась синхронизация времени хрен знает когда. Ни с одним сервером не проходит, хотя сами сервера пингуются и там куча разных. И от системы не зависит: сломалось и в Windows, и Linux. Такое ощущение, что провайдер NTP блокирует.

При воспроизведении музыки в mpd, в других программах звук не воспроизводится, ставится в очередь, а потом, после остановки воспроизведения в mpd, пачкой выдаётся. В syslog пишется это:
pulseaudio[2177]: [alsa-sink-ALC888 Analog] alsa-sink.c: Error opening PCM device front:0: Устройство или ресурс занятоХммм...