Author Archives: Jolly Roger

GitHub у поміч блогеру

Восьмикіт — талісман мережі GitHubЧастенько блогеру, пов’язаному з IT-сферою, доводиться писати коротенькі сценарії, або ж операції, необхідні для досягнення бажаного результату. Зазвичай для подібних речей блогер ставить плагін для підсвітки синтаксису і самотужки вставляє шматки коду між спеціальними тегами. Однак щойно наш робочий скрипт змінився, чи з’їхала нумерація, як тут же всі вставки коду в статті доводиться переробляти наново.

Проте хочеться, щоб це виглядало максимально зручно для кінцевого читача. Однак і робити щоразу дурну роботу ліньки. Або ж хочеться описати деякі важливі моменти, а в кінці статті дати посилання на повністю готовий код. Або, описуючи власні дії покроково, дати користувачеві можливість просто-таки повністю скопіювати всі рядки разом, а не кожен окремо. Мало чого може залізти в голову блогеру.

Проте всі ці (і на разі не лише мої) забаганки можуть здійснитися, якщо використовувати GitHub, і, зокрема, сервіс Gist Read more »

Знайомі незнайомці: file, ln та lost+found

Досі мені ні разу не доводилося відновлювати файлову систему після краху або неправильних дій користувачів, проте одного дня я сам «прострелив собі ногу» в стилі UNIX: вилучив половину файлів двотерабайтного сховища на сервері. В цю особливо похмуру ніч я запустив перебудову файлової системи з метою знаходження старих невилучених файлів, і вже на ранок я отримав більш-менш відновлену файлову систему, а в її корені з’явилась вищеозначена директорія lost+found.

Відкривши директорію я побачив 180 гігабайт файлів з дивними назвами без жодного натяку хоча б на приналежність до типу файлу. Так, це і були відновлені файли. На фоні цього хаосу так само дивно названі директорії виглядали ледве не оазисами в пустелі: адже в них вціліли справжні імена файлів. Проте 180 гектар вручну не просієш, і я вирішив для початку оцінити масштаби трагедії і знайти більш-менш адекватний спосіб витягти з того хаосу частинки необхідних мені даних. І ось тут почалось найцікавіше. Read more »

Сам собі супроводжувач репозиторію Debian: автоматичне оновлення віддалених репозиторіїв

Як виявилося, шановний читачу, я досить рано закрив тему власного реозиторію, а тому цією короткою розповіддю хочу важливі моменти з точки зору супроводжувача репозиторію, з чим вас і вітаю. Підтримувати власний репозиторій виключно для однієї вітки дистрибутиву як мінімум нелогічно. Справа в тому, що цим ви обмежуєте використання продуктів вашої праці лише обраною для цього віткою — використання такого репозиторію для оновлення інших віток є надто небажаним в силу того, що можна запросто зламати систему залежностей пакета, що повертає нас до початкового тезису. Саме тому збирати пакети необхідно у відповідному середовищі(наприклад, chroot відмінно підходить для таких задач), і лиш потім завантажувати до відповідної вітки. В свою чергу, репозиторій повинен мати всі використовувані вітки. Ну а самому репозиторію, звісно, місце на сервері. Ця стаття присвячена таким важливим задачам, як віддалене завантаження нових пакетів в репозиторій та подальше його автоматичне оновлення, організація сумісного репозиторію для різних версій дистрибутиву та дещо інше. Read more »

Сам собі супроводжувач репозиторію Debian

apt-get a life Доброї ночі, шановний читачу. Робота та внутрішня організація репозиторіїв в Debian здаються надто складними на перший погляд. Однак, придивившись уважніше, легко зрозуміти, що насправді це не так, що наочно підтверджують попередні дві статті. Сьогодні, як і обіцяється в заголовку, світ дізнається про новий репозиторій.

Існує далеко не один спосіб створення власного репозиторію: деякі пропонують варіант «взяти всі файли, покласти в одну купу, і згенерувати відповідні індексні файли Release та Packages», при використанні деяких утиліт, наприклад apt-build, остання сама створює собі репозиторій. Проте для поширення власних оригінальних або переконфігурованих пакетів такий спосіб навряд чи дасть виграш в довготривалій перспективі. «Правильний» репозиторій повинен мати власний пул, підписані індексні та релізні файли та власне пакети, можливість автоматичної обробки нових та оновлених пакетів та підтримку механізму apt-pinning. Саме такий репозиторій можна просто організувати, використовуючи утиліту reprepro. Read more »

Сам собі супроводжувач пакетів Debian: збираємо Nginx

Debian Rules!В попередній статті ми зробили корисну справу і зібрали собі urxvt з підтримкою 256 кольорів. Тепер нарешті можна вмикати нормальну кольорову схему одного з найпотужніших редакторів ­— vim, а саме desert256. Однак розробники все ще сидять незадоволені і очікують, коли ми їм нарешті поставимо найсвіжіший Nginx зі скомпільованим стороннім модулем Nginx HTTP Push Module, або просто NHPM. Що ж, не будемо змушувати їх чекати ще. Read more »

Сам собі супроводжувач пакетів Debian: rxvt-unicode і 256 кольорів

Debian GNU/LinuxДоброго дня, шановний читачу. В житті операційної системи поруч з резервним копіюванням важливе місце займає її оновлення. Так звані «виробничі» сервери першими пунктами в списку пріоритетів мають безпеку та стабільність роботи, тому їхні оновлення проводяться виключно з метою підвищення даних параметрів. З іншого боку, експериментальні сервери та сервери розробки вимагають найсвіжішого програмного забезпечення, зібраного з необхідними параметрами, рівнем оптимізації та відлагоджувальною інформацією. Проте очікувати виходу офіційного оновлення пакету Debian часом доводиться дуже довго, а встановлена програма необхідна зараз. Звичайно, можна становити програму власноруч, зібравши її з джерельних кодів, проте в результаті система все далі й далі буде походити на смітник. Саме для таких випадків є красиве і правильне вирішення проблеми – створення власного репозиторію. Read more »

Оновлення WordPress

Шановні читачі!

Через проблеми зі старою WordPress, купу встановлених, але непотрібних плагінів, та кривих рук, що на льоту правили помилки, що вилазили, було вирішено перевстановити блог начисто. Сподіваюсь, вже сьогодні до кінця дня весь попередній функціонал буде відновлено. Тим не менше, ця не особливо приємна ситуація дозволить зробити користування блогом зручніше як для читачів, так і для авторів. А це означає лиш одне – рух вперед і невідворотні зміни на краще.

Залишайтеся з нами!

Автоматичне налаштування Wi-Fi в Debian

Я звик носити з собою власний ноутбук, постійно переключаючись між двома різними точками доступу до мережі інтернет: вдома та на роботі. З тиждень я мирився з тим, що необхідно щоразу перенастроювати параметри бездротового підключення. Використання сторонніх засобів для збереження та перенастроювання Wi-Fi підключення мене особливо не радувало, до того ж, моєю метою було ще й максимально зручне управління мережевими підключеннями як в графіці, так і в терміналі. Пам’ять нагадала мені, що подібна ситуація вже передбачена в файлі мережевих налаштувань /etc/network/interfaces. Read more »

Тонке налаштування Buildbot’а

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

Read more »

Автоматизація процесу розробки: працюємо з Buildbot’ом

Як я й обіцяв в минулій статті, сьогодні ми дослідимо реальний приклад використання системи неперервної інтеграції під назвою BuildBot. Ні сам процес розробки, ні структура проекту не вважаються ідеальними, однак саме завдяки їм у мене зараз є можливість написати як можливо вижити в, здавалося б, такому хаотичному проекті.

Постановка задачі

Проект на Java(використовується система збирання Ant) в репозитарії Subversion знаходиться за адресою https://project.example.com/svn . Необхідно проводити аудит працездатності системи щоразу після внесення змін до нього. Результати збирання системи надсилаються автору змін у випадку успішного результату, або ж у список розсилки всього проекту, якщо процес пройшов невдало.

Вибір між CruiseControl, про який мені розповіли співробітники, та BuildBot, з яким я встиг познайомитись в якості розробника, був досить складний. Проект був вже тоді немаленький(на даний момент весь репозитарій складає 6Гб місця), після тестування його переносила на продуктивні сервери окрема людина. Enterprise, одним словом. І я, довірившись особистому знайомству, вибрав BuildBot. І не прогадав.

Read more »