• А давайте подружимся с SSH

      Многие мои знакомые так или иначе используют протокол SSH (заходя на свои роутеры, веб хостинги и непосредственно на собственные компьютеры дома и в офисе), при этом не все об этом знают.



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

      В этой заметке вы узнаете:
      • как прописать псевдонимы для соединений
      • как настроить авторизацию без пароля
      • как передавать файлы по SSH
      • как запускать графические приложения по SSH
      • а так же получите общие советы по опциям SSHD


      Читать дальше →
    • MongoDB или как разлюбить SQL

        Введение

        Коллеги, при разработке приложений, мы каждый день сталкиваемся с потребностью в гибком хранении информации (обновлении, поиске по ней, и т.д.). Класс продуктов, которые решают этот круг задач, как все мы знаем — Базы данных. Но что это такое в нашем понимании? У многих «база данных» твердо ассоциируется с MySQL, таблицами и SQL-запросами. И это устраивает до определенного момента. Действительно, реляционные базы данных дают массу преимуществ в работе: поскольку данные имеют сильную связанность, не нужно контролировать целостность базы данных. Используя простой под-запрос можно выбрать количество комментариев к каждому посту в блоге. Используя JOIN нетрудно делать сложные связанные выборки и получать данные сразу о нескольких сущностях.
        Читать дальше →
      • monit — наблюдатель за системными процессами

          Теория

          Monit — самостоятельный демон, работающий от пользователя root. Демон работает на Linux, Free/Net/OpenBSD, SUN Solaris и некоторых других UNIX-системах. Это OpenSource проект, у которого есть «старший брат» — коммерческий проект MMonit. Последний обладает более широким функционалом в вопросе массового мониторинга, межсетевого взаимодействия и составления отчетов. Идея авторов проста — для одиночного сервера используем Monit, для большой сетевой фермы — MMonit.

          Узнать больше
        • Домашний медиацентр на Intel Atom

            В след заинтересовавшей меня статьи на хабре о компактном домашнем сервере на основе платформы Mini-ITX от VIA решил описать свой опыт по сборке компактного домашнего мультимедиа-центра.
            За основу я решил взять платформу Intel Atom, так как требования производительности для медиацентра несколько выше, чем для роутера — мы ведь хотим красивые визуальные эффекты и фильмы в HD смотреть!
            Забегая наперед, скажу, что весь медиацентр обошелся мне чуть более чем в $250, включая доставку материнской платы из солнечной Калифорнии.

            Читать дальше →
          • Правильно и удобно перекодируем mp3-теги в UTF-8

              Здравствуй, уважаемый Хабр.

              Если у Вас есть mp3-файлы с тегами в windows-1251 кодировке, то Amarok в своей базе данных такие файлы показывает криво.

              Этот пост — для тех, кто ранее использовал Rus-Xmms
              проект для быстрого и удобного избавления от головной боли, связанной с кодировкой mp3-тегов и получил ее снова с выходом KDE4 и
              нового Amarok.

              Этот пост — также для тех, кто не совсем понимает, как в Linux можно корректно и рекурсивно перекодировать теги у
              множества mp3 файлов в юникод и версию ID3v2.4.

              Постараюсь преподнести это максимально лаконично, поэтому не буду описывать установку программы в [здесь подставить
              название Вашего любимого дистрибутива]
              .

              Рецепт приготовления прост и находится под катом.

              Читать дальше →
            • VPN-мост в локальную сеть

                Прочитал топик habrahabr.ru/blogs/linux/67209 и решил выложить сюда свою статью, которая была до этого видна только в закрытой корпоративной Wiki.

                Обычно, при создании VPN, используется подключение типа точка-точка к некоторому серверу, либо установка ethernet-туннеля с некоторым сервером, при котором туннелю назначается определённая подсеть. Сервер VPN при этом выполняет функции маршрутизации и фильтрования трафика для доступа к локальной сети через VPN.

                Данная статья рассматривает другой подход к созданию виртуальной сети, при котором удалённые системы включаются в уже существующую локальную подсеть, а сервер VPN выполняет роль Ethernet-шлюза. При использовании такого подхода мы всё ещё имеем возможность фильтровать трафик на основании способа подключения (например, использовать для локальной сети и для удалённых пользователей разные фильтры), но исключается необходимость настройки маршрутизации, а удалённые машины включаются прямо в локальную сеть, видят ресурсы, даже способны использовать широковещательные посылки вообще без дополнительной настройки. Через такой VPN у них отображаются все компьютеры локальной сети Windows, все доступные XDMCP-серверы при XDMCP broadcast и т. д.

                Читать дальше →
              • Выходим в DOS, в нормальный, чистый DOS

                  Иногда нужно заргузится в DOS, например для того чтобы запустить систему диагностики hdd (типа mhdd) или посмотреть 256 байтную демку. Но не нужно судорожно перерывать чердак в поисках старой дискетки и продувать дисковод, не нужно даже переразмечать разделы на hdd для fat16, даже не надо портить болванку и искать олдскульного друга с чернобелым монитором, 386 процессором и большой бородой.
                  Дос вполне можно загрузить через memdisk.

                  1) Ставим пакет syslinux
                  2) Находим файл memdisk из этого пакета (у меня он был в /usr/share/syslinux)
                  3) Копируем memdisk в /boot
                  4) Берём образ дискетки с msdos (можно у меня, уже с mhdd и демкой puls)
                  5) Копируем образ тоже в /boot
                  6) Дополняем /boot/grub/menu.lst таким пунктом:
                  title MSDOS
                  root(hd0,0) # Номер диска изменить на нужный
                  kernel /memdisk
                  initrd /Dos6.22.img
                  7) Перезагружаемся и ностальгируем

                  UPD: Я знаю что есть 9000 способов загрузится в дос сидюка, флешки, зипа, стриммера, перфокарты, однако это всё требует дополнительного оборудования и носителей. Данный способ не требует ничего, кроме установленного grub и интернета.

                  UPD/2: Таким способом можно диагностировать винт на котором находится сам образ mhdd.
                • HowTo: Skype-шлюз на базе FreeSwitch

                    В этой статье я бы хотел рассмотреть создание SIP<->Skype шлюза для проброса входящих skype-вызовов на корпоративную IP АТС (в данном случае это будет Asterisk). Так как Skype на данный момент является, пожалуй, самым популярным клиентом VoIP среди пользователей, возможность позвонить в Вашу компанию через Skype будет дополнительным плюсом для клиентов.
                    Читать дальше →
                  • Установка PhotoShop CS4 под Ubuntu 9.04 Jaunty

                    • Translation
                    Уважаемые коллеги, позвольте предложить вам мой первый пост на хабре — перевод публикации по установке Adobe PhotoShop CS4 под Ubuntu 9.04 Jaunty.

                    Немалое количество пользователей используют Adobe PhotoShop, и, похоже, CS4 работает (под Ubuntu — прим. пер.). Однако установка его нетривиальна, и требует выполнения некоторых действий: Нам потребуется скомпилировать пропатченную сборку Wine 1.1.25, после чего добавить еще связку утилит в систему.
                    Также не лишним будет напомнить, что вам потребуется легальная (либо триальная :) — прим. пер.) версия Adobe PhotoShop CS4.
                    Эта инструкция предназначена только для Ubuntu Jaunty (она может сработать и для других сборок, но я в этом сомневаюсь)
                    Читать дальше →
                  • Общий каталог на Linux десктопе

                      Представим ситуацию, на домашнем компьютере установлен Linux. Данным компьютером пользуетесь Вы и Ваша жена. Для этого в системе создано два пользователя, у каждого свои настройки почтовика, свои закладки, свой WM и наконец свои обои. Вроде бы все хорошо и все всех устраивает, но вот есть некий контент, свойственный для десктопа, для которого необходимо организовать общий и главное полный доступ для обоих пользователей. Что тут можно сделать? В голову сразу приходят несколько решений:

                      1. Установить для общего каталога соответствующий umask;
                      2. Установить соответствующий default acl;
                      3. Установить бит SGID.

                      Хорошо, применили одно из решений, или все сразу. Вроде все работает. Оба пользователя имеют полный доступ ко всему содержимому общего каталога, новый файлы в этом каталоге наследуют его права, но вот Вы скинули в этот каталог фотографии с фотоаппарата. В систему под своим пользователем заходит Ваша жена и решает немного изменить эти фотографии, только вот при сохранении появляется сообщение о недостаточных правах. Оказывается скопированные Вами файлы не наследовали права общего каталога. Почему? Да потому, что утилите cp пофигу на Ваши umask'и и acl'ы. Она копирует файлы с сохранением исходных прав, либо права уменьшаются, все зависит от прав на каталог, куда копируем.

                      В этой статье я предложу свой способ решения данной проблемы. Нет, способ не красивый и не изящный, потому, вместе с описанием способа, предлагаю Хабрасообществу обсудить этот вопрос и предложить свои решения для организации общего каталога на Linux десктопе.

                      Читать дальше →
                    • Пишем апплет для GNOME на Python

                        Публикую данный пост по просьбе уважаемого VladX, у которого возникло временное недопонимание с кармой.

                        Апплет — это маленькое приложение, встраиваемое непосредственно в панель GNOME. Обычно апплет выполняет какой-то опеределенный узкий функционал (изменение громкости, монтирование устройств), что выгодно отличает его от громоздкого оконного приложения. На самом деле знающему Python кодеру не составит труда написать собственный апплет, но и для незнающих есть выход: большое количество полезных (и не очень) апплетов лежит на сайте gnomefiles.org, помимо этого, на официальном сайте есть примеры написания апплетов на C.
                        Поехали!
                      • VirtualBox. Удобное переключение между Host и Guest

                          Те, кто работает админом и занимается тех.поддержкой пользователей в крупных конторах, часто сталкиваются с необходимостью держать на рабочей машине Windows наряду с любимой ОС — в данном случае Debian GNU/Linux. Задачи, вынуждающие ставить винду могут быть разными. Средства тоже: кто-то ставит VMWare, кто-то qemu, я пользуюсь VirtualBox. В общем виртуальными машинами сейчас никого не удивить. Я хочу поделиться с людьми небольшим, но очень удобным финтом.
                          Читать дальше →
                        • Учебник по языку программирования Python (хабраиндекс)

                            Серия статей «Основы Python»


                            I, Начало
                            II, Строки
                            III, Списки, кортежи, файлы
                            IV, Генераторы списков
                            V, Определение функций, основы
                            VI, Расширенное определение функций

                            Об основах языка Python в сжатой форме

                            Продвинутый уровень


                            Сила и красота декораторов Короткий экскурс в метапрограммирование.
                            Итерируем все и вся Специфика циклов в Питоне.
                            Как я учился работать с XML
                            Консервация объектов в Python Использование модуля Pickle.
                            Memoization в Python Оптимизация работы программ.
                            Простейшее рисование с помощью PIL
                            Regexp и Python: извлечение токенов из текста
                            Как писать маленькие приложения на python с графическим интерфейсом (библиотека Qt).

                            http://netsago.org/ru/docs/1/12/
                            Одеваем скрипты Python с помощью EasyGui (добавляем простой диалоговый интерфейс)

                            http://djbook.ru/
                            Учебник по Django (Python-фреймворк для веб-приложений)

                            Читать дальше →
                          • MonIT + M\MonIT = простой и бесплатный мониторинг нескольких серверов

                              Возникла задача мониторинга нескольких серверов, находящихся в разных ДЦ, имеющих разные ОС и ПО.

                              ТЗ получилось примерно такое:

                              1. Мониторинг системы (cpu, mem, load average, bandwidth).
                              2. Мониторинг состояния сервисов (запущен или нет).
                              3. Мониторинг функционирования сервисом (отвечает на запросы корректно или нет).
                              4. Контроль потребляемых сервисами ресурсов и общего их состояния.
                              5. Централизованая «админка» для всей этой радости.
                              6. Уведомление по email, самостоятельное исправление проблемы (например рестарт упавшей службы).


                              Читать дальше →
                            • Тюнинг nginx

                                Статья написана по материалам моего доклада на CodeCamp 2009.

                                Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...

                                У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.

                                Пришло время оптимизировать nginx...

                                Читать дальше →
                              • Перепрошивка WiFi-роутера от D-Link прошивкой dd-wrt из-под Linux.

                                  Стал у бедного админа виснуть роутер от D-Link, модель DIR-400.
                                  И стал админ искать пути решения проблемы.
                                  Погуглив полчаса наткнулся на прошивку от dd-wrt.com.
                                  Поглядел на её возможности, обрадовался, и стал искать мануалов — как же всё таки эту прошивку залить (ибо стандартный прошивальщик, ребятами из D-Link писаный, не годится).

                                  Нашёл мануал по заливке прошивки через DBG-console. Но вот беда — мануал на виндовых юзеров рассчитан, а винды под рукой нету, только Линукс праведный…
                                  Ну, да ладно. Разобрался админ. Детали — под катом.
                                  кат
                                • Влюбляемся в F#: Доза 0.1: Как установить F#

                                    Дорогие Хабраколлеги!


                                    Благодарю за теплый прием моих заметок по F#. Откровенно говоря, не ожидал такого количества интересных и полезных комментариев! Заранее прошу простить, если я не успеваю отвечать на все — буду стараться.


                                    Прежде чем начать влюбляться в F# по этим заметкам, я рекомендую вам установить себе соответствующую среду программирования. Заранее прошу прощения у тех, кто уже установил себе F# и ждет от меня более продвинутых постов: я стараюсь излагать все по порядку, так что первое время может быть скучно.


                                    Существует несколько возможностей установить F# (на текущий момент, последняя версия – 1.9.6.2):


                                    Читать дальше →
                                  • Патчим и собираем pidgin на дому

                                      Топик навеян выходом патча для IM клиента Pidgin. Суть та же, что и у других клиентов — вместо сгенерированных случайным образом значений в качестве номера последовательности подставляются числа из заранее известных «правильных» вариантов.

                                      Что делать? Как быстро бновиться?

                                      Ленивые — качайте liboscar.so.0.0.0 и кладите в /usr/lib/purple-2, сбэкапив предварительно находящийся там. Проверено с версией 2.5.2, должно работать и на 2.5.4. Собрано под 32-разрядную архитектуру.

                                      Не ленивые — читайте дальше!

                                      1) Открываем терминал, качаем исходники pidgin и патч от eveel
                                      wget downloads.sourceforge.net/pidgin/pidgin-2.5.4.tar.bz2
                                      wget developer.pidgin.im/raw-attachment/ticket/8198/pidgin-NOT-UPSTREAM-2.5.4-icq-russia.patch
                                      2) Устанавливаем необходимые для сборки пакеты (не все обязательны, при запуске ./configure предложит ключи для отключения соответствующих возможностей)
                                      sudo aptitude install libglib2.0-dev libgtk2.0-dev libxss-dev libstartup-notification0-dev libgtkspell-dev libxml2-dev libgstreamer0.10-dev libmeanwhile-dev libavahi-ui-dev libdbus-glib-1-dev network-manager-dev libperl-dev libgnutls-dev tcl-dev tk-dev gcc make
                                      3) Распаковываем pidgin-2.5.4.tar.bz2
                                      tar xvfj pidgin-2.5.4.tar.bz2
                                      4) Патчим!
                                      patch < pidgin-NOT-UPSTREAM-2.5.4-icq-russia.patch
                                      5) Конфигурируем, собираем, устанавливаем
                                      cd pidgin-2.5.4
                                      ./configure --prefix=/opt/ && make
                                      sudo make install

                                      Запускаем /opt/bin/pidgin и радуемся :)

                                      maniak сделал PKGBUILD для Arch Linux
                                    • Настройка Apple Slim keyboard под Linux

                                        Недавно праздновал свой 23 день рождения и был одарен коллегами замечательнейшим девайсом. Apple Slim Aluminium Keyboard.
                                        Да-да-да. Именно с большой буквы каждое слово.
                                        По моему скромному мнению, лучшей клавиатуры для разработчика не найти. Особенно для такого любителя Linux как я.
                                        Клавиатура удобная, ничего не скажешь, писать об этом больше не буду, и так уже везде понаписано. Однако не без проблем.
                                        Мой любимый рабочий компьютер с Gentoo напрочь отказался работать с мультимедийными клавишами и прочими радостями современного мира. Немного погуглив я обнаружил что я не одинок и огромное количество народа тоже страдает от этого. Однако четкой и подробной инструкции на русском (да и на английском ) я так и не нашел. Специально для таких как я страдальцев и предназначен сей коротенький мануал.
                                        Тут в комментариях просят картинку клавиатуры:
                                        image
                                        А вот тут можно про неё почитать.
                                        Читать дальше →