Про бэкапы и Яндекс.Диск

Я довольно долго экспериментировал с хранением бэкапов разными способами, даже как-то баловался с GmailFS. Пару месяцев назад я попробовал Диск от Яндекса, и сейчас могу совершенно определенно сказать, что в кои-то веки Яндекс создал хоть что-то приличное. Уж не знаю, как позиционирует его сам Яндекс, но мне этот сервис приглянулся для хранения бэкапов. У меня оно работает примерно так:

# cat /etc/davfs2/davfs2.conf 
cache_dir       /var/cache/davfs2
cache_size      50
table_size      1024
dir_refresh     60
file_refresh    1
delay_upload    0
use_locks    0

Файл /etc/davfs2/secrets содержит строчку с логином и паролем на Яндекс.Диск:
https://webdav.yandex.ru topsecretlogin “topsecretpassword”

В /etc/fstab прописывается строчка:
https://webdav.yandex.ru /backup davfs rw,user,noauto 0 0

Почти готово. Теперь Яндекс.Диск легко монтируется командой mount /backup без ввода пароля. На тот случай, если кто-то посторонний получит доступ к бэкапам, их по-хорошему следует зашифровать чем-нибудь криптостойким, например, gpg.

Уже третий месяц сервис работает почти без нареканий, и бэкапы по расписанию аккуратно заливаются на Яндекс.Диск.

Один недостаток я нашел, но он не имеет отношения к сервису Яндекса. Периодически в директории /var/cache/davfs2 накапливается довольно много файлов, которые davfs2 почему-то не удаляет при размонтировании директории /backup. Чтобы исключить переполнения раздела /var, я их чищу после размонтирования:
/bin/rm -Rf /var/cache/davfs2/webdav.yandex.ru*

Как обнаружить перегрев CPU в OpenSuSe 12.2

Не так давно столкнулся с очередной проблемой с железом. Компьютер c OpenSuSe 12.2 после какого-то непродолжительного времени работы самопроизвольно выключался. После очередного включения иногда раздавался звук сирены в BIOS, и в /var/log/messages периодически появлялась надпись: [Hardware Error]: Machine check events logged

Первое, что надо сделать — это установить пакет sensors и проверить температуру процессора:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +94.0°C  (high = +78.0°C, crit = +100.0°C)
Core 1:       +92.0°C  (high = +78.0°C, crit = +100.0°C)

Если на компьютере не выполняются тяжелые приложения, то температура ядер процессора не должна превышать параметра high. Но у меня камень грелся градусов до 90 после включения, что говорило о проблемах с охлаждением процессора

Разобрав системный блок, увидел вот что. Два из четырех креплений охлаждающего вентилятора на процесссоре отошли от материнской платы по неизвестной причине, да и пыль изрядно накопилась на пластинах радиатора. Я снял вентилятор, стер на всякий случай старую термопасту с вентилятора и процессора и добавил тонкий слой новой термопасты; пропылесосил алюминиевый радиатор и поставил все на место.

После включения проблем с перегревом CPU больше не наблюдалось, после включения компьютера температура ядер была на уровне 38-40 градусов

OpenSuSe 12.2: я ожидал большего

Логотип OpenSuSe

Наконец-то руки дошли до последнего дистрибутива OpenSuSe. Старая добрая версия 11.4 работала без нареканий, и на 12.1 я ее менять не стал. Но так как вышла 12.2, поддержка версии 11.4 вскоре будет прекращена, и рано или поздно с нее придется уйти.

И вот настал тот день, когда со стаканом в руке и нехорошими мыслями в голове запустил я обновление с 11.4 до 12.2. Предчувствие меня не обмануло, обновление вышло очень кривым — не повторяйте моих ошибок. Обновляльщик в 12.2 был достаточно умным, чтобы не испортить старый работающий софт; но недостаточно сообразительным, чтобы предсказать, что обновленная система будет работать нестабильно. В результате чего я забекапился, снес все что было и поставил OpenSuSe 12.2 на чистый винт.

Все бы хорошо, да начались проблемы там, где их совсем не ожидал. Скажем, если у вас на компьютере больше одной операционной системы, то скорее всего в 12.2 время будет показываться весьма криво. Почему-то модуль Yast, отвечающий за настройку часов, с упорством маньяка ставит галку, что аппаратные часы установлены в UTC (а не в местное время). В результате чего часы всегда становились в таймзону Гринвича после каждой перезагрузки. Одним словом — низачот, зачем сломали работавший модуль?

В 11.4 я сидел на Gnome, и изредка использовал IceWM в качестве оконного менеджера. Gnome 2 был очень хорош, гибок в настройках и удобен для работы. 12.2 шла уже с Gnome 3, на который без слез не глянешь. Вообще в разработке графических оконных менеджеров пошла какая-то нездоровая тенденция — взять классный работающий софт, испортить его внешний вид и напихать в него хренову тучу ненужной фигни, и обозвать сию поделку новой версией. Так было с KDE4, так стало и с Gnome 3. Но разработчики Gnome 3 пошли еще дальше, слишком уж радикально поменяв дефолтную тему оконного менеджера. Говорят, что можно Gnome 3 допилить так, чтобы он выглядел как Gnome 2 и убить на это довольно много времени; но в дистрибутиве OpenSuSe 12.2 не нашлось места для темы Gnome 2 — а искать его в интернетах мне просто было лень. Поэтому с крайним неудовольствием пришлось плюнуть на Gnome 3 и пересесть на KDE4, который тоже далеко не сахар.

В KDE4 есть классный текстовый редактор Kate, которым я пользовался пару-тройку лет назад. Потом я пересел на gedit, и ИМХО он оказался лучше. Делать он может все то же самое, только настройки более гибкие. Я как-то писал уже про gedit 2, и решил попробовать gedit 3 в OpenSuSe 12.2. И новый gedit мне понравился — хотя и тут без странностей не обошлось. В 11.4 гибко настраивать gedit можно было с помощью конфигурилки Gnome — gconf-editor. Gedit 3 же почему-то настраивается с помощью другой утилиты, dconf-editor. И плагины, которые раньше жили в /usr/share/gedit/plugins теперь почему-то переехали в /usr/lib/gedit/plugins — но это мелочи.

В 11.4 в репозитории Games была одна классная игрушка, hedgewars. Наш дружный коллектив разработчиков периодически страдает херней с помощью нее снимает стресс, постреливая друг в друга из разного вида оружия. К сожалению, доблестные разработчики так и не смогли собрать rpm-ку с ежами под OpenSuSe 12.2, из-за того, что не смогли соблюсти все зависимости от софта, установленного в этот дистрибутив. Очередной мелкий камешек в сторону этого не очень удачного дистрибутива.

Работа модема через GPRS / 3G в OpenSUSE 11.4

Обнаружил интересную багу в работе модема через GPRS или 3G. В качестве звонилки я использую wvdial с вот такими настройками:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","mtelinternet"
Modem = /dev/ttyACM0
Phone = *99***1#
Idle Seconds = 30000
Modem Type = USB Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = on
New PPPD = Yes
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Password = internet
Username = internet

Соединение происходит, адреса DNS серверов успешно получаю при соединении, а вот сам интернет работает через раз. Причем угадать, будет ли он работать или нет, никакой возможности не имеется. Симптомы следующие, после установки соединения wvdial пытается отресолвить какое-то тестовое доменное имя, и таким образом определяет, работает ли DNS в установленном соединении:

Warning, can not find address for www.suse.de
Warning, address lookup does not work
Nameserver (DNS) failure, the connection May not work.

Если такие предупреждения видны, то возможны 2 ситуации.

Во-первых, wvdial не смог прописать адреса DNS сервера в /etc/resolv.conf. Лечится прописыванием адресов провайдера вручную — что и было сделано; но проблема не была устранена полностью.

Во-вторых, возможны проблемы с размерами окна tcp в туннеле ppp. В этом случае надо поиграться с настройками размера окна tcp:

echo “0″ >/proc/sys/net/ipv4/tcp_window_scaling

Лично мне это очень помогло, после чего я решил установить такие настройки в системе по умолчанию — дописал в /etc/sysctl.conf вот такую строчку:

net.ipv4.tcp_window_scaling = 0

и перечитал параметры:

# sysctl -p

После всех манипуляций интернет стал работать намного более стабильно. В качестве модема я использовал свой телефон Nokia E5

Использование телефона Nokia E5-00 в качестве модема в OpenSuSe 11.4

Nokia E5

0. Переводим в телефоне режим соединения по USB в “Nokia PC Suite”. Если его использовать в режиме “Накопитель” – модем просто не определится в системе.

1. Подключаем телефон с помощью дата-кабеля. Смотрим на его параметры, и у меня они выглядят примерно так:

# lsusb | grep Nokia
Bus 002 Device 005: ID 0421:0380 Nokia Mobile Phones

2. Проверяем, распознала ли операционная система это устройство как модем:

# ls -l /dev/tty* | grep dialout
crw-rw---- 1 root dialout 4, 64 Jul 14 11:42 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Jul 14 10:59 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 Jul 14 10:59 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 Jul 14 10:59 /dev/ttyS3
crw-rw---- 1 root dialout 4, 68 Jul 14 10:59 /dev/ttyS4
crw-rw---- 1 root dialout 4, 69 Jul 14 10:59 /dev/ttyS5
crw-rw---- 1 root dialout 4, 70 Jul 14 10:59 /dev/ttyS6
crw-rw---- 1 root dialout 4, 71 Jul 14 10:59 /dev/ttyS7

3. Устройство не определилось. В этом случае надо загрузить модуль ядра с соответствующими параметрами:

# modprobe usbserial vendor=0x0421 product=0x0380

Параметры для vendor и product берем из вывода lsusb на шаге 1.

4. Проверяем, появился ли модем:

# ls -l /dev/tty* | grep dialout
crw-rw---- 1 root dialout 166, 0 Jul 14 11:54 /dev/ttyACM0
crw-rw---- 1 root dialout 4, 64 Jul 14 11:42 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Jul 14 10:59 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 Jul 14 10:59 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 Jul 14 10:59 /dev/ttyS3
crw-rw---- 1 root dialout 4, 68 Jul 14 10:59 /dev/ttyS4
crw-rw---- 1 root dialout 4, 69 Jul 14 10:59 /dev/ttyS5
crw-rw---- 1 root dialout 4, 70 Jul 14 10:59 /dev/ttyS6
crw-rw---- 1 root dialout 4, 71 Jul 14 10:59 /dev/ttyS7

5. Модем готов к работе, создаем конфигурационный файл для wvdial (МТС):

$ cat /etc/wvdial.conf
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet.mts.ru"
Modem = /dev/ttyACM0
Phone = *99***1#
Idle Seconds = 300
Modem Type = USB Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = on
New PPPD = Yes
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Password = mts
Username = mts

Если внимательно посмотреть на конфигурационный файл, то он почти на 100% совпадает с тем, что я использовал для телефона SonyEricsson K750i, разница только в скорости. Здесь она 460800 Baud, а там была 115200.

Любопытное поведение Adobe Flash Player в OpenSuSe 11.4

При просмотре видео в браузере заметил одну багу фичу. Если видео проигрывается в обычном окне, оно показывается нормально; при просмотре же в полноэкранном режиме изображение начинает сильно дергаться. Я грешил на древность Flash Player’а, но оказалось, что он не при чем. У меня были отключены все эффекты рабочего стола, и почему-то это влияло на Flash Player. Как только поставил галку “Включить эффекты рабочего стола” в настройках в центре управления – Flash Player заработал превосходно в полноэкранном режиме.

OpenSuSe 11.4 и некорректное размонтирование дисков при выключении

Не так давно заметил багу. При включении OpenSuSe 11.4 замечал, что иногда диски определялись как некорректно выключенные (Transaction replayed …). И подумал, а что за хрень, почему это происходит?

Оказалось, что при выключении компьютера скрипты выполняются параллельно, и иногда выключение происходит до того, как раздел диска был корректно размонтирован. Эта бага лечится очень просто, надо лишь отключить параллельный запуск скриптов, т.е. в файле /etc/sysconfig/boot прописать RUN_PARALLEL=”no” (у меня этот параметр был установлен в “yes”).

С тех пор диски размонтируются корректно при выключении

Старый ноутбук и KDE4

Есть у меня древний ноутбук (Dell Latitude L110 с 512Mb RAM), на который я установил OpenSuSe 11.4. В качестве оконного менеджера я с дуру поставил KDE4, о чем в последствии сильно пожалел. KDE4 штука красивая, но жутко требовательная к ресурсам – сам оконный менеджер стартует секунд 30, и съедает практически всю доступную память, и все приложения начинают дико тормозить

Оптимизировать KDE до определенных пределов можно, но все же это полумеры. Наиболее радикальным решением была бы смена оконного менеджера на что-нибудь более легковесное. И я решил попробовать icewm lite вместо KDE.

В OpenSuSe 11.4 сменить оконный менеджер очень легко, сначала через Yast надо его установить (там буквально 2-3 пакета), и далее редактором /etc/sysconfig в секции Desktop => Window manager => DEFAULT_WM заменить на icewm.

Запускаю иксы и удивляюсь – оконный менеджер загрузился моментально. Выглядит он, мягко говоря, по-спартански (в стиле Windows 95), эффектов графических нет, и благодаря этому примерно 256 мегабайт памяти было свободно. Ура, казалось бы, долгожданный эффект достигнут.

Однако две вещи меня не устроили. По умолчанию язык у меня был английский, и возможности переключения на русский не было. На привычные мне сочетания клавиш (Ctrl+Shift) оконный менеджер никак не реагировал.

Эта проблема решилась очень просто. Я создал конфигурационный файл /etc/X11/xorg.conf.d/90-keytable.conf следующего содержания:

Section "InputClass"
Identifier "LocalKeyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",winkeys"
Option "XkbOptions" "grp:ctrl_shift_toggle"
EndSection

И со следующего запуска иксов у меня стала нормально работать русская раскладка клавиатуры с переключением между языками по нажатию Ctrl+Shift.

Вторая проблема – отсутствие звука. В KDE у меня звук регулировался приложением kmix, и я его решил добавить в автозагрузку icewm, чтобы привычными горячими клавишами его включать, выключать и регулировать громкость.

Для этого я создал файл /etc/icewm/startup со следующим содержимым:

#!/bin/sh
kmix &

На файл добавил права на исполнение:

# chmod a+x /etc/icewm/startup

И все. После запуска звук легко регулируется горячими клавишами (правда, в трее его не видно – но это уже мелочь).

Еще статьи об OpenSuSe 11.4:

  • OpenSuSe 11.4 и старый матричный принтер
  • OpenSuSe 11.4 и встроенные видеокарты Intel
  • Переход на OpenSuSe 11.4
  • OpenSuSe 11.4 и старый матричный принтер

    Так случилось, что есть у меня чудо буржуйской техники – древний, но все еще вполне рабочий принтер Epson LX 300+, который служит мне верой и правдой уже много лет. Решил я его подружить с OpenSuSe 11.4 – и тут обнаружил, что во-первых, принтер не определяется системой; и во-вторых, драйверов под него нет.

    Выяснилось, что для автоматического определения принтера на порту LPT, необходимо, чтобы были загружены следующие модули ядра:

    • parport
    • parport_pc
    • lp

    Почему-то модуль lp по умолчанию не загружается в OpenSuSe 11.4, так что этот модуль надо поставить в автозагрузку (например, можно через Yast: Редактор /etc/sysconfig => System => Kernel => MODULES_LOADED_ON_BOOT или любым другим удобным способом).

    С драйверами хуже, родных драйверов именно для этого принтера в OpenSuSe нет. Но вместо них прекрасно подходит Epson Dot Matrix driver (OpenPrintingPPD/ghostscript/Epson-Dot_Matrix.epsonc.ppd.gz), который доступен через кнопку “Пакеты драйверов”.

    OpenSuSe 11.4 и встроенные видеокарты Intel

    После перехода на OpenSuSe 11.4 я заметил, что видеокарта Radeon HD 5570 с пропиетарными драйверами ATI работает без нареканий; однако две других машины с интегрированными видеокартами Intel работали из рук вон плохо.

    Во-первых, меня очень разочаровал мой ноутбук Dell Latitude L110 c видеокартой на чипсете Intel 915GM. Но не потому, что он плохой; а потому, что железо уже морально устарело (буку стукнуло 5 лет, которые он отслужил верой и правдой в боевых условиях), и поддержка некоторых фич прекращена с 1 квартала 2011 года. Это значит, что в следующих релизах операционных систем семейства Linux заставить карту работать будет все сложнее, и в конце концов случится то же, что и произошло с картой ATI Radeon X 1650, т.е. на оборудовании можно будет ставить крест.

    Но на сегодняшний день эта карточка у меня завелась (хотя и со скрипом). Оживить ее можно так.

    1. Обновляем до последних версий пакеты

    xorg-x11-driver-video
    xorg-x11-driver-intel-legacy

    2. Сохраняем старый xorg.conf (на всякий случай):

    # mv /etc/X11/xorg.conf /etc/X11/xorg.conf.old

    В runlevel 3 (без иксов) запускаем конфигурилку X:

    # X -configure

    Он там подумает, и родит файл /root/xorg.conf.new. В нем надо внести некоторые исправления:

    а) если драйвер определился как “intel”, меняем его на “intellegacy”:

    Driver “intellegacy”

    б) включаем DRI (у меня он был выключен после автоматического конфигурирования, и mplayer показывал видео только в маленьком окошке без возможности развернуть его на весь экран):

    Option “DRI” “on”

    в) Отключаем фичу, которая больше не поддерживается:

    Option “XvMC” “off”

    Потом копируем его в xorg.conf и запускаем иксы:

    # cp /root/xorg.conf.new /etc/X11/xorg.conf
    # startx

    У меня после этого все заработало на ноутбуке. После этого проверил 3D ускорение:

    $ glxinfo | grep direct
    direct rendering: Yes

    На второй машине у меня была другая видеокарта, но тоже интеловская (Intel Corporation 82865G Integrated Graphics Controller).

    Сконфигурировал там xorg.conf аналогичным образом, и в результате X запустились, glxinfo показал direct rendering: Yes, a mplayer перестал работать.

    Лечится исправлением видеодрайвера для mplayer:

    # cat /etc/mplayer/mplayer.conf | grep gl2
    vo=gl2,x11

    Теперь и mplayer заработал на ура.