30 квітня 2017

Arch linux: Завантажити плейліст youtube в mp3

Є такий чудовий пакет з відкритим кодом як youtube-dl, який дозволяє завантажувати відео з youtube з різними опціями.

Наразі мені необхідно завантажити плейліст в форматі mp3.

Пакет для Arch Linux доступний в AUR. Як встановлювати пакет з AUR я вже описував тут.
Я використовую таку команду:
youtube-dl -o '%(playlist)s/%(title)s.%(ext)s' https://www.youtube.com/playlist?list=PLFmChPRQtlBDaqk6MmNM5ljmop5ciAR2g --extract-audio --audio-format "mp3"

Запускаємо її в директорії, куди буде завантажено mp3.
Призначення опції думаю зрозуміло і так.
Якщо необхідно пронумерувати аудіофайли,  то використовуємо таку команду:
youtube-dl -o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/playlist?list=PLFmChPRQtlBDaqk6MmNM5ljmop5ciAR2g --extract-audio --audio-format "mp3"

Більш детально опції програми можна дізнатись по команді
youtube-dl --help
або ж - на сторінці проекту (перше гіперпосилання даної статті).

Деякі корисні опції:
-i, --ignore-errors - продовжувати завантаження в разі помилок, наприклад недоступності деяких відеофайлів.
--download-archive archive.txt - збереження списку завантажених файлів до текстового файлу archive.txt, для того щоб при наступному запуску даної команди, завантажувались тільки нові відео.
youtube-dl -i --download-archive archive.txt -o '%(playlist)s/%(title)s.%(ext)s' https://www.youtube.com/playlist?list=PLFmChPRQtlBDaqk6MmNM5ljmop5ciAR2g --extract-audio --audio-format "mp3"

Завантаження відео відбувається з допомогою wget, а витягування mp3 з допомогою ffmpeg, тому ці пакети також мають бути у вас встановлені.

15 квітня 2017

Чистка кореневого розділу Arch Linux

Що робити коли вільне місце на кореневому розділі кудись дівається?
1. Зрозуміти куди дівається місце.
2. Почистити коректним способом систему.
3. Налаштувати систему для недопущення в подальшому такої ситуації.

В conky помітив що дуже вже розрісся кореневий розділ аж до 40 Гб. А означає, що необхідно проводити чистку.

27 січня 2017

Завершити процесс mysql

Підготовка (самостійна частина):
1. Запустити командний рядок / зайти на віддалений сервер по SSH
2. Зайти в базу даних
$ mysql –u <логін_користувача_БД> –p
Зрозуміло, що замість <логін_користувача_БД> вказуємо логін користувач та
після натискання Enter вводимо пароль цього користувача.

Основна частина:
1. Виконуємо команду
show processlist;
2. В стовпчику id дивимось ідентифікатор проблемного запиту

3. Виконуємо команду
Kill query <ідентифікатор_запиту>;
Зрозуміло, що замість <ідентифікатор_запиту> вказуємо id проблемного запиту (числове значення)

25 жовтня 2016

Налаштувати автовхід в XFCE (Debian 8)

За замовчуванням в Debian 8 при встановленні графічного оточення XFCE використовується менеджер входу lightdm.

Виникла необхідність налаштувати автоматичний вхід без введення паролю для користувача, який, надіюсь що тільки поки-що, далекий від світу Linux.

Тут все просто.
1. Відкриваємо в своєму улюбленому консольному текстовому редакторі (nano, vim, etc.) файл конфігурації lightdm.
# vim /etc/lightdm/lightdm.conf
2. Змінюємо рядок
#autologin-user=
на
autologin-user=<логін свого користувача>
3. Змінюємо рядок
#autologin-session=UNIMPLEMENTED
на
autologin-session=xfce
4. Зберігаємо файл та закриваємо.
5. Перезавантажуємо ПК для перевірки.

18 жовтня 2016

Arch Linux: Встановлення пакета із AUR на прикладі dropbox

Нажаль, в основних репозиторіях Arch Linux присутні не всі найбільш вживані програми. Однією з таких є dropbox. Отже, на прикладі пакету dropbox і буде написана дана стаття.
Цей пакет можна зібрати самому, отримавши початковий код із AUR (Arch User Repository).

Якщо порівнювати Debian і Arch, то збирати пакети, на мою думку простіше саме в Arch. Чого варте тільки те, що я зібрав вдало пакет з першого разу!

В Arch Linux дуже хороша актуальна довідка, яка вчасно оновлюється.
Проте все ж таки об'єднаю процес встановлення пакета із AUR в один алгоритм в надії на те, що початківцям буде легше знайти статтю і розпочати працювати з makepkg. А для більш глибокого вивчення - "лінки" на першоджерела вкінці статі.

Для початку потрібно встановити необхідні речі для збирання пакетів в подальшому
sudo pacman -S --needed base-devel

Далі необхідно знайти потрібний пакет в AUR та завантажити його знімок (dropbox.tar.gz).
Потім перейти в директорію, куди був завантажений знімок,
$ cd /path/to/dropbox

 розархівувати архів,
$ tar -zxf dropbox.tar.gz

 перейти в директорію, яка з'явилася,
$ cd dropbox

 і виконати команду.
$ makepkg


Таким чином в даній директорії буде створено готовий пакет, який потрібно встановити з допомогою стандартного менеджера пакетів
sudo pacman -U dropbox-12.4.22-1-x86_64.pkg.tar.xz

Джерела:
Dropbox
Arch User Repository
makepkg

17 жовтня 2016

Куди пропав ifconfig в Arch Linux?

Як же я був здивований, коли у відповідь на старий звичний запит
# ifconfig

який я звик використовувати в більшості дистрибутивів для перевірки поточних IP/MAC -адрес, в Arch Linux я отримав у відповідь
bash: /usr/bin/ifconfig: Немає такого файла або каталогу

Як виявилося - ifconfig було перенесено в пакет net-tools, який не встановлюється за замовчуванням. Але його можна встановити зі встановлювального диску, або з мережі (якщо вона була налаштована)
# pacman -S net-tools

Але оскільки його вважають застарілим, то хотілось би з'ясувати чим можна замінити стандартну команду перегляду мережевих інтерфейсів. Тому що я тільки для цього і використовував ifconfig. Навіщо встановлювати наразі в систему застарілі пакети, які все-рівно рано чи пізно приберуть. Краще вже відразу звикати до нових інструментів.
Нова команда яка покаже мережеві інтерфейси виглядає так:
# ip addr show

P.S.
Пакет net-tools все-рівно потрібно встановлювати, якщо ви використовуєте Virtualbox.

17 липня 2016

Налаштування сервера Debian в VirtualBox для web-розробки на PHP

Debian був в якості основної ОС на моєму комп’ютері 3 роки. За цей час я досить чудово його вивчив.
Але наразі я ставлю такі вимоги до мого домашнього ПК:
1) Можливість використання останніх версій програм, які не відносяться до веб-сервера (FileZilla, Inkscape, Gimp, DeaDBeeF, Firefox, LibreOffice) та встановлювати їх з репозиторія, а не збирати самостійно, чи запускати як portable-варіанти.
2) Можливість залишити на сервері стабільні версії програмного забезпечення, яке чудово працює.  Адже я вирішив, що переводити свої проекти на PHP7 ще рано.
3) Можливість бекапу сервера (як колишній системний адміністратор - я не довіряю вінчестерам, якщо вони не працюють в RAID-масиві)
4) Можливість плавного переїзду (спочатку налаштую та перевірити, а потім міняти ОС на домашньому ПК)

Я встановлював різні більш-менш солідні безкоштовні дистрибутиви на віртуальній машині та на ноутбуці дружини для вивчення та тестування. Спочатку це були OpenSUSE, Linux Mint, Manjaro та Fedora. Колись давно я ставив в віртуальній машині Arch Linux. Тоді встановлення цього представника світу Linux виявилось мені тяжким. Не то що б це було складно, але я не розумів чому він немає графічного чи псевдо-графічного інтерфейсу встановлення. І звісно ж віддав перевагу спочатку Ubuntu, а потім Debian, які ставляться в декілька кліків. Але щоб мати право про щось говорити - це потрібно спробувати. Тому я вирішив встановити і Gentoo щоб відчути ту всю "міць", про яку стільки написано в Інтернет.
І коли я скомпілював декілька разів Gentoo на слабенькому ноутбуці, а він в кінцевому результаті і не запрацював так як слід -  я зрозумів що встановлення Arch Linux - це квіточки.
Ця система насправді дуже проста і зрозуміла. А близько 40% команд, які я використовував при встановленні Gentoo - використовуються і при встановленні Arch Linux.
Склалося такі відчуття, що під час встановлення і налаштування протягом 2 тижнів цього дистрибутиву я дізнався про Linux більше, ніж за 7 років користування linux-ом до цього. Я зрозумів що це той дистрибутив, з яким я хочу пов’язати життя мого ПК :)

Що мені сподобалось:
- Rolling release
- Легкість процесу збирання пакетів з AUR (в порівнянні зі збиранням пакетів .deb - це небо і земля)
- Можливість видаляти пакети KDE, якими не користуюсь
- Швидкість роботи менеджера пакетів pacman
- Розуміння що я роблю і для чого

Тому логічно, що в мене з'явилося бажання відділити на логічному рівні сервер від місця розробки. Необхідно було щось знайти таке, щоб можливо було сервер встановити в віртуальній машині, а своє середовище розробки запускати на основному комп’ютері. Тоді я б зміг в якості ОС для сервера використовувати Debian 8, а в якості ОС для основного ПК - Arch Linux. Причому сервер має працювати без графічного оточення в цілях економії оперативної пам’яті.
Оскільки вже звик, що в світі linux - можливо все, то почав свій пошук в Інтернет із FTP, SFTP, Samba, спільні папки VirtualBox...

І тут мені трапилась стаття Виртуальная машина, как сервер для web-разработки.

Це саме те що я шукав. Використання NFS дозволить налаштувати все саме так, як мені потрібно. Я отримаю можливість бекапу всього сервера (файл *.vdi). Також я зможу забезпечити плавний переїзд (спочатку налаштую та перевірю все в VirtualBox, а потім зможу змінити Debian на основному ПК на Arch Linux).

Далі про те, як я це робив...