• Компактная инсталляция FreeBSD 10 для центра сертификации

    Однажды возникла необходимость в подчинённом, в рамках имеющейся инфраструктуры центре сертификации для 'выездного' использования — создания временных технологических сертификатов во время различных разъездов. Необходимо было сделать его мобильным и разумно, для данных целей, защищённым. Приемлемым был признан вариант с загрузочной флешкой с каким-нибудь *nix + openssl и типовым сценарием использования — имеющийся под рукой компьютер перезагружаем, вставляем флешку, загружаемся с неё, работаем, вытаскиваем флешку, перезагружаем компьютер. Секретные ключи данного ЦС, его файлы конфигурации, ключевые файлы для двухфакторной аутентификации могут быть вынесены на отдельные носители.

    Начался выбора дистрибутива *nix. Требования были следующие:

    • дистрибутив должен быть поддерживаемым в актуальном состоянии, в том числе и OpenSSL
    • наличие i386 версии. Гигабайты памяти нам не понадобятся, а вот возможность запуска на нетбуке с x86 Intel Atom будет полезна
    • запуск системы из оперативной памяти, либо корректный запуск и работа с r/o разделов. В идеале, корректная работа с флешки при включенной защите от записи (при использовании Qumo серии Yin & Yan)
    • возможность компактной инсталляции
    • желателен достаточно большой срок поддержки релиза

    В результате в финал вышли два дистрибутива — Alpine Linux и OpenBSD. Всё бы хорошо, и не было бы смысла писать эту статью, как ВНЕЗАПНО уточнились требования к операционной системе — потребовалась полная поддержка русского текста в Unicode в системной консоли. На ввод и на вывод.

    Ну всё, приплыли. Оба финалиста выбыли из соревнования. Alpine Linux в силу используемой в нём компактной библиотеки C, а OpenBSD… ну, у неё другие сильные стороны. Однако это требование позволило иначе взглянуть на доступные дистрибутивы, и в фаворитах неожиданно оказалась FreeBSD. Консольный драйвер vt (ранее известный как newcons) поддерживает Unicode «из коробки», русские шрифты идут в комплекте, вышеописанные критерии в сумме исполняются достаточно полно. Бонусом можно реализовать возможность оффлайнового бинарного обновления системы на флешке.

    Началось изучение возможности компактной инсталляции стандартными способами. Готовые наборы — tinybsd, nanobsd, picobsd произвели впечатление «старый, древний, ещё древнее». Одни только расчёты секторов, головок, цилиндров для разных типов флешек в picobsd… Прям времена MFM, RLL, ST-506…

    Творения отдельных энтузиастов, различные miniBSD, easyBSD, mfsBSD выглядели поинтереснее, но в итоге всё равно было решено поиграть в доброго доктора Франкенштейна.

    В данном примере мы сделаем загрузочную флешку с:

    • компактной инсталляцией FreeBSD 10.1
    • русифицированной системной консолью в Unicode
    • корневым разделом, монтирующимся в памяти
    • разделом для скриптов и файлов конфигурации нашего ЦС
    • шифрованным разделом для секретных ключей ЦС
    • FAT разделом для обмена с внешними системами запросами на сертификат и подписанными сертификатами
    • возможностью оффлайнового обновления системы
    • возможностью выбора ядра при загрузке (минимальное + GENERIC)
    • возможностью выбора образа системы при загрузке (эталонный + обновлённый до последней версии FreeBSD)

    Читать дальше →
  • Искусство командной строки



      Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

      Enjoy!
    • LFS: Темная сторона силы. Часть 2

      • Tutorial

      Предисловие


      Итак, в предыдущей статье мы начали собирать LFS, остановившись на том, что собрали временную систему, располагающую всем необходимым для дальнейшей сборки инструментарием.

      Теперь мы будем собирать основную систему, выполняя по пути необходимые для работы настройки. Поскольку эта статья продолжает цикл об LFS, без особых предисловий приступим к делу.

      Однако, прежде чем двигаться дальше, немного отойдем от классической схемы, предлагаемой авторами книги и сделаем вот что

      $ su - lfs
      $ wget http://roy.marples.name/downloads/dhcpcd/dhcpcd-6.7.1.tar.bz2 --directory-prefix=$LFS/sources
      $ wget http://www.linuxfromscratch.org/blfs/downloads/7.7/blfs-bootscripts-20150304.tar.bz2 --directory-prefix=$LFS/sources
      $ logout
      


      Дело в том, что стандартная документация, касающаяся сборки базовой системы не описывает процесс настройки сети в случае, когда вы будете получать ip-адрес от DNS провайдера, или в случае, если динамический ip выдает вам ваш домашний роутер. Или в том случае, если Вы выполняете сборку под ВМ, имеющей доступ к сети через NAT.

      Поэтому после того как мы соберем всё и вся, мы дополнительно установим и настроим DHCP-клиент, который позволит свеженькой системе получить ip сразу после перезагрузки и иметь таки доступ в сеть. Этот шаг относится уже к книге BLFS.
      Читать дальше →
      • +17
      • 14.6k
      • 4
    • LFS: Темная сторона Силы. Часть 1

      • Tutorial

      Предисловие


      Для того чтобы установить на свой компьютер Linux и начать его использовать для конкретных задач существует масса способов. Выбор дистрибутивов чрезвычайно широк, на любой вкус и цвет — и «для домохозяек» и для продвинутых пользвателей, допускающие любой уровень кастомизации, в том числе и сборку из исходников под конкретное железо. Установка системы в принципе доступна любому, мало-мальски грамотному пользователю ПК. И, если не погружаться в популярные по сей дей холивары на тему «Linux vs Другая ОС», то и спользование данной системы не требует знаний, которые были обязательными для новоиспеченного линуксоида скажем десять лет назад. С моей, глубоко субъективной точки зрения, за более чем десять лет, которые я наблюдаю за развитием этой системы, линукс стал более дружественен к новичкам и избавился от многих проблем, присущих ему в прошлом. И это хорошо.

      Пингвины ручной сборки...


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

      Не буду витеивато излагать истории о том «как космические корабли бороздят… и когда Земля была огненным шаром...». Я отвечу на поставленный вопрос исходя из своей позиции — я собираю LFS потому, что мне просто интересно это сделать. Я вижу в этом процессе хорошую возможность заглянуть «под капот» системы. Допускаю, что этот путь сложно назвать оптимальным. Тем не менее, данная статья, и последующие за ней будут посвящены процессу ручной сборки Linux-системы. Данные статьи не будут переводом документации по сборке — в этом нет особой нужды. Акценты будут расставлены на специфике и ньюансах процесса, с которыми пришлось столкнуться автору лично. Будем считать этот цикл чем-то вроде дневника неофита.

      Читать дальше →
    • Новые «жертвы» антипиратского закона: «Игра престолов» и другие сериалы



        По решению Московского городского суда доступ к «пиратским» копиям некоторых сериалов от «А сериал» (дочерняя компания «Амедиа») должен быть закрыт. Похоже на то, что антипиратский закон начинает работать в полную силу. С самим постановлением можно ознакомиться вот здесь. Стоит отметить, что режиссер «Престолов» и канал НВО ранее не раз уже говорили о том, что нелегально распространяемые копии фильмов/сериалов только повышают продажи лицензионной продукции.

        Читать дальше →
      • Новый гендиректор — новые смартфоны. Yahoo!

          image
          Марисса Майер, пришедшая в Yahoo! из Google в июле 2012 и уже успевшая прославиться в корпорации введением бесплатного питания не перестает радовать своих сотрудников.
          Как сообщает Business Insider, на днях сотрудникам американских офисов Yahoo! пришло письмо от генерального директора, в котором производился анонс новой корпоративной программы «Smart Phones, Smart Fun», главной директивой которой является мысль о том, что сотрудники компании должны пользоваться такими же смартфонами, какими пользуются большинство её клиентов (в данном случае- пользователей сервисов Yahoo!). Любой смартфон — за счет компании!
          Читать дальше →
        • «Умный дом» собственными руками. Часть 5. Технологии Х10

            image

            В прошлой статье мы прикрутили к нашей системе «умный дом» небольшой веб-интерфейс. Самое время обратиться к той части дела, ради которой все это и затевается — управление нагрузкой. Под нагрузкой подразумевается любое электроустройство, которым есть смысл управлять.
            За подробностями реализации прошу под кат.

            Читать дальше →
          • Работаем с EMS по нарушению сроков доставки посылок — инструкция

              Недавний пост в «Я негодую» о работе EMS в нашей стране и полном пофигизме почтовых работников выявил потребность в инструкции о том, что можно сделать, чтобы когда-нибудь проблемы с посылками у EMS прекратились.

              Сходу расстрою — посылкой управлять никак нельзя. Если она долго не «прилетает» в Россию (т.е. статус Экспорт стоит, а Импорт — нет) — тут вряд ли что-то поможет. Однако страхуемся, делаем по шагам, описанным ниже.
              Порадовать тоже могу: процентов 95 посылок все-таки доходят. Объем для сравнений — порядка 10 посылок в месяц из США и Европы.
              Обращаю внимание, что многие посылки (процентов 60 всех отправлений) я получаю «от себя», используя сервисе вроде Шипито. В некоторых случаях это означает, что почта не может отказать в претензиях по причине того, что они представляются «не отправителем». Однако во многих случаях рекомендую идти и биться за свою посылку при помощи процессов и документов, представленных ниже.
              Читать дальше →
            • Настройка SMS-шлюза Kannel

              • Tutorial
              Несколько раз были упоминания такого замечательного софта как kannel, однако почему-то нет конкретных описаний примеров его интеграции. Здесь приводится пример сервиса, который можно реализовать при договоренности с оператором сотовой связи (опсосом), однако до сих пор не понятно каким образом это сделать. Попробую исправить эту ситуацию.
              Читать дальше →
            • Стек директорий. Снова простая вещь + дополнения

                Мало кто знает о таких командах bash как pushd и popd.
                Они позволяют работать со стеком директорий.
                pushd $DIR позволяет перейти в $DIR и добавить текущую в стек. При каждом выполнении команды стек пополняется текущей директорией.
                popd позволяет перейти к последней директории в стеке и извлечь её оттуда. Таким образом после каждого выполнения команды стек уменьшается на одну директорию, а текущая директория становится директорией на вершине стека.
                Читать дальше →
              • Китайский планшет Gpad Gforce

                  Многие когда видят слово китай и планшет в одном предложении, хватаются за пистолет. На самом деле не все так плохо в поднебесной. Появляются все новые и новые устройства и более быстрыми процессорами, качественными экранами большими батарейками. Я в свое время купил себе планшет ZT-180 и в целом был доволен покупкой. Но все же резистивный экран, процессор ARMv6 и углы обзора добили мою жабу и я купил iPad Gpad Gforce. А собственно в чем соль %username%?
                  Читать дальше →
                • Покупка в Apple Store с доставкой в Россию

                    Для чего я пишу этот пост?


                    На многих форумах не устают задавать одни и те же вопросы, суть которых сводится к одному — “Где и как дешевле купить определенный девайс?”. Некоторые, осознав, что лучший способ это заказать заграницей и в этом нет ничего сложного, решаются на покупку в иностранном интернет магазине, но получают не совсем то, что ожидали, например, недавний пост «Так ли выгодно делать покупки за рубежом (на примере ebaytoday.ru)».

                    Особенно ярко это проявляется при покупке техники Apple, так как официально техника, если и поставляется, то с большой задержкой и в большинстве случаев по заоблачным ценам. Данная статья не сможет решить первую проблему в полной мере, так как Гонконг не является, так называемой “страной первой волны”, где в первую очередь появляются устройства от Apple, а вот метод борьбы со второй я и попытаюсь описать далее.

                    Итак, о чем же данный пост?


                    В данном посте я хочу описать весь процесс покупки техники на Apple Store HK через посредника(Shipito), начиная от основных моментов работы с shipito.com, заканчивая объединением нескольких посылок в одну и оплатой доставки в Россию. Описываемый способ может использоваться и для США, но, к сожалению, я не пробовал этого делать и, по некоторым отзывам, Apple Store US отказывается высылать на адреса Shipito, на этом моменте я постараюсь остановиться подробнее в заключении.

                    UPD: получил посылку, публикую Tracking #: CP839884595HK и пишу сроки внизу статьи.
                    Много текста с картинками.
                  • Настройка торрент клиента Transmission на прошивке Tomato



                      Intro


                      Приветствую всех. Хочу поделиться с вами своим опытом настройки клиента Transmission на популярной open source прошивке для роутеров Tomato. Недавно на хабре публиковалась статья Netgear WNR3500L: Превращаем роутер в NAS, где за основу была взята прошивка DD-WRT. Но лично мне DD-WRT не очень понравилась, а функционал торрент качалки с NAS’ом был очень нужен. Поэтому предлагаю познакомиться с альтернативным методом.
                      Читать дальше →
                    • Netgear WNR3500L: Превращаем роутер в NAS

                      История покупки роутера Netgear WNR3500L похожа на поговорку автолюбителей: тюнинг автомобиля начинается после дтп. Так и в моем случае. Старенький и глючный D-Link DIR300 умер смертью храбрых (скорее всего перегрев от нагрузки). Так как работал он, мягко говоря, неудовлетворительно, было решено купить железку помощнее и посовременнее.

                      Среди претендентов оказались 3 модели: Asus N16, Linksys WRT160NL и Netgear WNR3500L. Все они удовлетворяли нескольким критериям: быстрый процессор, много оперативки, USB для подключения жесткого диска и возможность установки альтернативных прошивок. Несмотря на большую любовь к марке Linksys, выбор пал в сторону Netgear. Причина проста: линксисов попросту нигде не было в наличии, асус купили прямо у меня перед носом, а роутер был очень нужен. В качестве накопителя был выбран 3.5” WD Elements на 1.5ТБ.

                      WNR3500L позиционируется компанией Netgear как open source роутер. Самые популярные прошивки для него – это Tomato, OpenWRT и DD-WRT. Я остановился на DD-WRT. Она понравилась мне как по скорости, так и по функционалу, который расширяется установкой пакетов Optware. Ранее на хабре уже раскрывалась тема установки Samba на DD-WRT (прямо вот тут), но в этом топике я постараюсь как можно полнее раскрыть вопрос установки и начальной настройки данного роутера по методу, который наши иностранные коллеги называют «The Right Way».

                      Читать дальше →
                    • Жизнь с планшетом или список приложений для Android

                      Привет!

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

                      Пост написан для устройств на базе операционной системы Android, но думаю и в других системах есть аналоги.
                      Читать дальше →
                    • Идеальный плеер под Android для не-музыки

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

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

                        Так вот. Все протестированные плееры поделились на три категории:
                        1. Самая обширная. Плееры, которые считают, что все слушают музыку исключительно альбомами. Не предоставляют никакой возможности для проигрывания каталогов. Каталог со 100-200 песнями разных исполнителей превращает каталог музыки таких программ в ленту, уходящую в бесконечность, где невозможно ничего найти. Позиция проигрывания, как правило, не сохраняется, зато всё очень красиво.
                        2. Плееры, позволяющие прослушивать каталоги и/или ориентированные на прослушивание аудиокниг. Если в предыдущей категории все приложения отличались лишь иконками, а общая идеология интерфейса была примерно одинаковой, то здесь никаких общих черт нет, зато очень много уникальных идей, временами до бредовости. В какие-то приложения книги необходимо импортировать, иначе они их не видят. Какие-то показывают и сортируют файлы только по тэгам, а мы же прекрасно знаем, какая каша бывает в тэгах аудиокниг, правда? В общем, в каждой программе что-то меня не устраивало, а кое-где и откровенно бесило. К тому же, каждая вторая из этих программ (как правило, самые оригинальные в плане интерфейса) страдала сильной падучестью.
                        3. Music Folder Player Free


                        Читать дальше →
                      • Разработка Qt-приложения с доступом к MySQL под Android

                        Qt является одним из самых популярных и удобных фреймворков для разработки, и это вполне заслуженно. Когда нашей компании пришёл заказ на небольшое клиент-серверное приложение, мы ни минуты не сомневались в выборе инструментария. Приложение должно было работать на Windows и Linux, впоследствии к списку платформ добавился и Android. Приложение является сетевым, решает довольно простенькую задачу, и хранит все свои данные на сервере MySQL.
                        И тут начала вырисовываться проблема: как запрячь в одну упряжку Qt-приложение, Android, да ещё и заставить их общаться с MySQL? Решению этой достаточно нетривиальной задачи и посвящена эта статья. В качестве примера напишем небольшое приложение, которое считывает строки из таблицы MySQL и выводит их в табличное поле на форме.
                        Читать дальше →
                      • Управление контактами в Android (импорт, экспорт, перенос, настройка)

                        При покупке нового телефона всегда встаёт вопрос о переносе контактов из старого в новый. Всё проще если перенос производится с телефонами одной марки, (т.к. большинство производителей предусмотрели эту нехитрую задачу) или же если они изначально хранились на сим карте. Но ведь часто приобретаешь новый телефон от другого производителя или вовсе не пользуешься памятью сим карты, так как количество телефонов или другой нужной информации превысило возможности сим карт.

                        В статье будет рассмотрено:

                        • Варианты хранения контактов
                        • Получение копии контактов с телефонов Nokia S40, S60
                        • Синхронизация контактов
                        • Группировка контактов в телефонной книге
                        • Настройка уведомлений о днях рождения
                        • Обратная синхронизация с S40, S60
                        Читать дальше →
                      • Что такое grep и с чем его едят

                          Эта заметка навеяна мелькавшими последнее время на хабре постами двух тематик — «интересные команды unix» и «как я подбирал программиста». И описываемые там команды, конечно, местами интересные, но редко практически полезные, а выясняется, что реально полезным инструментарием мы пользоваться и не умеем.
                          Небольшое лирическое отступление:
                          Года три назад меня попросили провести собеседование с претендентами на должность unix-сисадмина. На двух крупнейших на тот момент фриланс-биржах на вакансию откликнулись восемь претендентов, двое из которых входили в ТОП-5 рейтинга этих бирж. Я никогда не требую от админов знания наизусть конфигов и считаю, что нужный софт всегда освоится, если есть желание читать, логика в действиях и умение правильно пользоваться инструментарием системы. Посему для начала претендентам были даны две задачки, примерно такого плана:
                          — поместить задание в крон, которое будет выполняться в каждый чётный час и в 3 часа;
                          — распечатать из файла /var/run/dmesg.boot информацию о процессоре.

                          К моему удивлению никто из претендентов с обоими вопросами не справился. Двое, в принципе, не знали о существовании grep.

                          image

                          Поэтому… Лето… Пятница… Перед шашлыками немного поговорим о grep.
                          Читать дальше →