Переназначение неиспользуемых клавиш

Ноутбук Acer Travelmate P633-M относится к линейке бизнес-моделей компании. Он снабжен двумя дополнительными кнопками в секции клавиш управления курсором. Это клавиши Доллар (Dollar [$]) и Евро (Euro [€]). Использование их в повседневной жизни маловероятно, поэтомуих можно заменить на другие более часто необходимые под рукой кнопки. Например, на PageUp и PageDown. ...

23 апреля 2014 г. · 1 минута · xandros

Слетел русский язык в Ubuntu 12.04

После очередного обновления и перезапуска системы слетел русский язык. В настройках языка системы стоит русский, но все надписи в меню и названия программ на английском. Более того, в консоли русский текст отображается как вопросительные знаки, а текущая кодировка терминала определяется как ANSI_X3.4-1968. Попытки “починить” locale положительного эффекта не дали. Удаление и установка русского языка из панели параметров системы - тоже. ...

12 апреля 2014 г. · 1 минута · xandros

Плавное обновление nginx

После ручной сборки nginx из исходных кодов выполнение перезапуска веб-сервера приведет к ошибке о занятом интерфейсе: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) Так происходит потому, что скрипт запуска (/etc/init.d/nginx) не обнаруживает в памяти запущенного рабочего процесса новой версии, а на старый не обращает внимания. ...

10 апреля 2014 г. · 2 минуты · xandros

Как сохранять корректное имя при загрузке файла wget

Если передать консольному загрузчику файлов wget ссылку с параметрами, имя загруженного файла будет содержать часть этих параметров. Например, команда wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1396461786&use_mirror=freefr приведет к тому, что в папке вместо архива с окончанием tar.gz будет лежать файл zabbix-2.2.2.tar.gz?r=http:%2F%2Fwww.zabbix.com%2Fdownload.php wget может попытаться получить правильное имя можно с помощью параметра –content-disposition. ...

2 апреля 2014 г. · 1 минута · xandros

Вывод времени события в dmesg

В dmesg содержатся сообщения ядра, позволяющие диагностировать ошибки в системе. По умолчанию вывод выглядит следующим образом: [ 0.217507] TCP established hash table entries: 65536 (order: 8, 1048576 bytes) [ 0.217762] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes) [ 0.217941] TCP: Hash tables configured (established 65536 bind 65536) [ 0.218034] TCP: reno registered [ 0.218112] UDP hash table entries: 4096 (order: 5, 131072 bytes) [ 0.218211] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes) [ 0.218344] NET: Registered protocol family 1 [4315224.110087] r8169 0000:04:00.0 eth0: link down [4315230.097079] r8169 0000:04:00.0 eth0: link up В начале каждой строки указано время, прошедшее с момента старта системы, до наступления события. Оценить продолжительность отсутствия линка на интерфейсе eth0 в примере выше - нетривиальная задача. Гораздо проще сделать это, переведя время в человеку понятный формат. ...

16 марта 2014 г. · 3 минуты · xandros

Свой WebDAV сервер на nginx

В предыдущей статье, посвященной данной теме, было описано, как завести у себя небольшой WebDAV сервер на Apache. Набирающий популярность веб-сервер nginx также также подходит для этих задач. Его модуль ngx_http_dav_module поддерживает основные WebDAV-методы PUT, DELETE, MKCOL, COPY и MOVE, а с помощью дополнения nginx-dav-ext-module можно включить поддержку остальных (PROPFIND и OPTIONS). ...

4 марта 2014 г. · 2 минуты · xandros

Как добавить swap в Linux Ubuntu/Debian

При работе с оперативной памятью Linux делит всё доступное пространство на куски, называемые страницами. Чтобы разгрузить занятое пространство при переполнении физической памяти, используется технология виртуальной памяти или swap, которая заключается в вынесению наименее нужных в данный момент для работы страниц на дисковое пространство в специальный раздел или файл на диске. Таким образом, использование swap позволяет использовать в системе больше оперативной памяти, чем доступно физически. ...

24 февраля 2014 г. · 2 минуты · xandros

Яндекс.Диск в Linux Ubuntu

Полгода назад команда Яндекса анонсировала на Хабре консольный клиент своего облачного хранилища под Linux. Установка его сводится к добавлению репозитория и первоначальному конфигурированию с авторизацией и указанием папки для локальной копии файлов. Детально процесс описан на официальном сайте. Несмотря на просьбы хабролюдей к разработчикам выпустить что-то гуёвое, реализации до сих пор нет. Будем исправлять ситуацию самостоятельно. ...

16 февраля 2014 г. · 2 минуты · xandros

Удалить ^M из текстового файла в Linux

Открывая файлы, перенесенные в Linux из Windows, часто можно наблюдать, что все строчки заканчиваются спецсимволом переноса ^M: Есть несколько простых способов удалить их. Например, можно воспользоваться инструментарием утилиты sed или редактора vi: В первом случае, пишем в терминале команду: sed -e "s/^M//" filename > newfilename Чтобы ввести ^M, нажимаем CTRL-V, затем CTRL-M. В случае с vi открываем файл в редакторе (vi filename) и вводим команду: :%s/^M//g Ввод ^M аналогичен предыдущему. Ссылки: ...

10 февраля 2014 г. · 1 минута · xandros

Как вернуть спящий режим в Ubuntu 12.04 / 12.10 / 13.04

Разработчики Ubuntu отключили спящий режим по умолчанию после установки системы, начиная с версии 12.04. Активировать пункт в меню и возможность выбора действия в настройках электропитания можно следующим образом: Открываем терминал (Ctrl+Alt+T по умолчанию) С помощью любимого текстового редактора, например mcedit, создаем файл (потребуются права суперпользователя, поэтому не забываем про sudo): sudo mcedit /var/lib/polkit-1/localauthority/50-local.d/hibernate.pkla В пустой текстовый файл вписываем следующий текст: [Re-enable Hibernate] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes Сохраняем изменения и перезагружаемся ...

9 февраля 2014 г. · 1 минута · xandros

Операции сравнения в bash

При создании shell-скриптов часто возникает необходимость проверки каких-то условий. Самым простым оператором для этого является if / then / else. Конструкцию if / then всегда необходимо заканчивать словом fi. if [ выражение ]; then оператор1; else оператор2; fi Принцип работы его заключается в следующем: проверяется условие в if, если выражение условия возвращает код завершения 0 (истинно), то выполняется оператор после then (оператор1); если код завершения отличен от нуля (ложно), то выполняется альтернативное действие после else (оператор2) или выход из условия fi в случае отсутствия необязательного условия else. Условия могут быть вложенными друг в друга; условия могут состоять из нескольких выражений, объединенных логическими операциями И / ИЛИ. При написании условий рекомендуется использовать двойные квадратные кавычки [[,]] для обрамления выражений. В противном случае возникает ошибка интерпретатора, требующая экранирования знаков вроде “<” с помощью специального символа “\”. ...

18 января 2014 г. · 3 минуты · xandros

Установка Redis в Debian Squeeze

По умолчанию в репозиториях Debian 6 есть Redis версии 1.2.6, для установки абсолютно любой версии необходимо шаманить с добавлением новых источников обновлений или же собирать пакеты из исходников. Самый простой способ установки любой версии redis-server в Debian Squeeze представлен ниже: ...

29 декабря 2013 г. · 2 минуты · xandros

Мигает курсор в Ubuntu 13.10

После установки свежей системы Ubuntu 13.10 на ноутбук столкнулся с проблемой - мигает или вообще пропадает курсор мыши. Также, в браузере периодически появляются артефакты. Связав оба события пришел к выводу, что неполадки с драйверами видеокарты. Видеокарт в ноутбуке две: интегрированная в процессор Intel и дискретная NVIDIA. Поиски собратьев по несчастью привели на форумы, где советовали поставить Bumblebee. ...

17 декабря 2013 г. · 1 минута · xandros

Отключение журналирования ext4

На одном из серверов установлена свежая версия Ubuntu на недавно приобретенный жесткий диск, для которого в качестве базовой файловой системой была выбрана ext4. По графику процессорного времени системы мониторинга Zabbix видно, что у сервера высокий IOWait. С помощью утилит iostat и iotop были выявлены виновники столь высокой нагрузки. Ими оказались базы MySQL (активно используемые самим Zabbix‘ом) и процесс [jbd2/dm-0-8], который выполняет функцию журналирования файловой системы ext4. Причем нагрузка от второго была в разы больше, поэтому дальше будет описание процесса снижения воздействия новой файловой системы на нагрузку процессора. ...

12 декабря 2013 г. · 3 минуты · xandros

Отключение IPv6 в Debian

После переноса веб-приложения на сервер под управлением Linux Debian перестала уходить почта. В качестве почтовой системы используется корпотивная учетная запись Gmail, соответственно отправка осуществляется путем соединения с серверами Google. Проверка MX записей показала, что всё в порядке:После нескольких попыток отправить письмо непосредственно из консоли в логах были обнаружены ошибки: ...

12 декабря 2013 г. · 2 минуты · xandros

Обновление Linux Mint 15 Olivia до Linux Mint 16 Petra

Состоялся релиз нового дистрибутива Linux Mint. Новая 16 версия получила имя Petra. О том, как перейти на новую версию с предыдущей с помощью терминала, нескольких команд, хорошего интернета и часа свободного времени, под катом. 1. Актуализируем текущую систему с помощью стандартной процедуры обновления ...

30 ноября 2013 г. · 1 минута · xandros

Бэкап большого количества мелких файлов

Рано или поздно настройкой резервного копирования рабочих файлов озадачивается любой уважающий себя современный IT специалист. После ряда опечаток/ошибок программистов нашлось время для этого и у меня. Специфика веб-приложения такова, что рабочий каталог занимает более 50ГБ на жестких дисках, включая в себя около 900 тысяч мелких файлов (картинки, превьюшки, …). Поэтому в лоб решить задачу с помощью tar и аналогов не вышло. Да и хотелось бы иметь некоторую вариативность хранимых данных, а в случае с полным бэкапом реализация требовала больших затрат на хранение по сути одинаковых данных с небольшими изменениями. Плюс неплохо было бы дублировать копии на удаленном сервере бэкапов для снижения риска потери критической информации в результате краха железа. После скрупулезного анализа поисковых выдач и отбрасывания заведомо неподходящих мне методов, остановился на паре вариантов, навязываемых чаще всего в комментариях к самописным shell-велосипедам энтузиастов. ...

1 ноября 2013 г. · 4 минуты · xandros

Логические операции в grep

Операция ИЛИ Операция И Операция НЕ Регулярные выражения Операция ИЛИ grep \| grep 'слово1\|слово2' файл_данных.txt grep -E (расширенный regexp) и эквивалентный ему egrep grep -E 'слово1|слово2' файл_данных.txt egrep 'слово1|слово2' файл_данных.txt grep -e grep -e слово1 -e слово2 файл_данных.txt Операция И grep -E grep -E 'слово1.*слово2' файл_данных.txt (в только таком порядке) ...

14 октября 2013 г. · 2 минуты · xandros

Веб-мониторинг в Zabbix

Функционал Zabbix помимо всего прочего позволяет с заданной периодичностью проверять на доступность веб-приложения. С помощью мастер сценариев можно производить вход на формах авторизации на сайте и проверять доступность, а также содержимое, отдаваемое веб-сервером. Для осуществления таких проверок необходима сборка пакета zabbix-сервера с добавлением опции “–with-libcurl” (для корректной установки необходимо наличие пакета libcurl4-openssl-dev) ...

29 сентября 2013 г. · 2 минуты · xandros

Проброс порта через ssh

Существуют ситуации, когда необходим доступ к сервису, запущенному локально на компьютере за NAT’ом. Если есть компьютер, к которому есть доступ извне, находящийся в той же сети, можно пробросить сервис наружу с помощью ssh и функции проброса локальных обращений на удаленный сервер. К примеру, для доступа к сервису по порту 8080 на компьютере 192.168.0.2 будем использовать компьютер 9.9.9.9, доступный по ssh извне для пользователя user. После проброса сервис будет доступен на 9000 порту localhost’a: ...

23 сентября 2013 г. · 1 минута · xandros