Архів за місяць: Липень 2013

Зміна hostname у Debian

Командний рядок терміналу (такого як Xterm), як правило, показує запрошення у вигляді:

user@hostname:dir$ _

Це доволі зручно, тому що працюючи одночасно з декількома консолями ви завжди розумієте по значенню @hostname з яким сервером маєте справу. Якщо ім’я серверу записане у форматі домену – www.example.com, то користувач побачить hostname не повністю, а лише його ліву частину до першої крапки:

user@www:dir$ _

У віртуальних серверів (VPS), особливо у орендованих, це ім’я не завжди містить корисну інформацію. Скоріше за все, там буде суміш літер та цифр, або якийсь номер для внутрішнього використання.

Отже як змінити hostname у Debian. Одразу попереджую, що використання команди hostname дає лише тимчасовий ефект, після перезапуску сервера повернеться попереднє ім’я.

Самий простий спосіб – змінити ім’я у файлі /etc/hostname (навіть якщо цей файл порожній) та перезавантажити комп’ютер.

Якщо можливості перезавантажити серер не має, можна спробувати зробити це “на ходу”. Більш детально читайте про це тут: https://wiki.debian.org/HowTo/ChangeHostname

Наведена тут інформація не підходить до контейнерів Debian всередині OpenVZ. Всередині контейнера, навіть якщо ви поміняєте вміст файлу /etc/hostname, після перезапуску hostname повернеться до первісного значення, яке вказане у конфігурації контейнера. Тому для OpenVZ використовуйте команду:

# vzctl set ID_КОНТЕЙНЕРА --hostname НОВИЙ_HOSTNAME --save

Порядок псевдонімів server_name у конфігу Nginx

Веб-сервер Nginx дозволяє доволі гнучко керувати псевдонімами вашого сайту. Можна використовувати декілька директив server_name:

server_name example.com www.example.com alias.com;
server_name www.alias.com;

Мені подобається схема у 2 імені, коли перше іде без www, а друге з www:

server_name example.com www.example.com;
server_name alias.com www.alias.com;

Але перше ім’я домену має найвищій пріоритет і саме воно буде використане за умовчанням при обробці правил rewrite з опціями redirect та permanent.

Простий приклад. Маємо правило:

rewrite ^/user/(.*) /newlook/$1 permanent;

За таким правилом користувача завжди буде перенаправлено до домену example.com:

example.com/user/index.php -> example.com/newlook/index.php
www.example.com/user/index.php -> example.com/newlook/index.php
alias.com/user/index.php -> example.com/newlook/index.php
www.alias.com/user/index.php -> example.com/newlook/index.php

Налаштування 3G інтернету від 3mob (Utel) в Gnome 3 (Linux)

Лінукс, як і всі Unix-оподібні операційні системи, традиційно сильна у налаштуванні мережі. Так було у епоху Ethernet, але з появою бездротових мереж та мобільного інтернету 2G (GPRS/EDGE) та 3G (UMTS/HSPA) підключення до мережі це лише сервіс. Тепер на перший план виходить зручність підключення.

У менеджері вікон Gnome 3 ці налаштування відбуваються майже автоматично, але є я зміг підключитися до 3G від 3mob (Utel) лише першого разу, коли спрацював “візард” налаштування. Потім коли я вставляв USB 3G-модем (HUAWEI) і клацав на перемикачі “Мобільна радіомережа” – з’являлось повідомлення, що “ви підключені до мережі Utel” і потім “з’єднання розірване”. Вам сюди – якщо у Вас проблеми на рівні драйверу USB 3G-модему.

Треба вручну прибрати за “візардом”. Для цього з командного рядка запускаємо:

$ nm-connection-editor

На вкладці “Мобільні широкосмугові” знаходимо підключення Utel та клацаємо кнопку “Змінити…”.

На наступному екрані також обираємо вкладку “Мобільні широкосмугові”. У себе я включив перемикач “Підключати автоматично” – це головне. А також змінив тип на “Віддавати перевагу 3G (UMTS/HSPA)”, та вимкнув “Вмикати роумінг, якщо недоступна домашня мережа”. Закриваємо діалог клацнувши на кнопку “Зберегти…”.

Все. Тепер щоб підключитися до інтернету я вставляю 3G модем, трохи чекаю поки його ідентифікує система та клацаю на кнопці включення “Мобільної радіомережі”.

Заміна одного рядка на два у вбудованому текстовому редакторі Midnight Commander

Не знаю як вам, а мені подобається вбудований текстовий редактор mc. Чогось я так і не зміг оволодіти vim, тому на новому сервері в мене перша команда:

# apt-get install mc

Потім включаю у конфігурації вбудований текстовий редактор для редагування:

F9 / Options / Configurations… / Use internal edit / OK

Тепер клавіша F4 закріплена саме за вбудованим редактором.

Нещодавно, мені довелось вручну правити файл конфігурації сервера імен BIND. Там було доволі багато зон для яких треба було замінити рядок:

type master;

на 2 рядка:

type slave;
masters {192.168.0.1;};

Пошук та заміна у вбудованому редакторі є (F4 Replace), проте незрозуміло як замінити рядок на два рядки. Клавіша Enter працює як OK.

Після декількох спроб я знайшов вихід. Треба перемкнути пошук у режим Regular expression та ввести символ нового рядка як n. Таким самим чином можна додавати символи табуляції – t.

Skype у Debian 7 (wheezy)

Версія Skype 4.2.0.11 з офіційного сайту хоча і була для архітектури i386, але встановилась майже без проблем (звичайно натягнула трохи зайвих пакетів). А от у роботі була дуже нестабільною:

  • час від часу пропадав звук
  • без видимої причини програма припиняла свою роботу (так звані crashes)
  • одного разу взагалі підвісила Х-и

Після чергового крешу, я спробував знайти щось на зразок логу, але це виявилось не так просто. Тому наступний раз я запустив скайп з командного рядка, щоб бачити, які повідомлення він пише до консолі. На жаль, вивід того терміналу я не зберіг, але там були повідомлення про невірні параметри налаштування звуку. Трохи погугливши, я знайшов рішення для 64-х розрядної Debian та 32-х розрядного Skype:

# apt-get install libasound2-plugins:i386

Після встановлення пакунку libasound2-plugins для архітектури i386 – попередження з консолі зникли.

Wifi для Debian Wheezy (iwlwifi)

Ноутбук з Windows 8 для мене наче пристрій з майбутнього. Без сенсорного екрану та миші я не зміг оцінити переваг нового інтерфейсу. Навіть перезавантажити його, щоб зайти у BIOS, виявилось не так просто.

Встановити Лінукс (Debian Wheezy) я зміг майже без проблем, але під час виявлення мережевого обладнання побачив на екрані повідомлення, що для роботи драйвера wifi мені потрібні якісь firmware:

iwlwifi-2030-6.ucode та iwlwifi-2030-5.ucode

Звичайно, ні на якому змінному носії в мене їх не було, хоча в комплекті до ноутбука йшла низка компакт-дисків (DVD чи CD не знаю), але вставити їх все рівно не було куди. Тому під час встановлення я пропустив пункт налагодження wifi і підключився через звичайне дротове з’єднання з мережею (добре, що у комплекті був перехідник usb-ethernet).

Але без wifi працювати не прикольно. Тому я поліз у гугл та знайшов wiki по налаштуванню Intel WiFi пристроїв у Debian: http://wiki.debian.org/iwlwifi

Треба віддати належне документації Debian – вона може трохи заплутана, але дуже достовірна. Все зробив як там було написано:

  1. Додав non-free пакунки у файлі /etc/apt/sources.list
    deb http://mirror.mirohost.net/debian/ wheezy main non-free
  2. Оновив перелік пакунків та встановив firmware-iwlwifi
    # apt-get update
    # apt-get install firmware-iwlwifi
  3. Перезапустив модуль ядра для роботи з wifi:
    # modprobe -r iwlwif
    # modprobe iwlwif

Все, wifi мережі одразу з’явились на панелі:

 

Встановлення Debian Etch “старого” зразка

Програмне забезпечення, що написано декілька років тому, може виявитись не сумісним з сучасними операційними системами Linux. То версія бібліотеки не та, то виклик системної функції спочатку був deprecated, а потім взагалі зник і таке інше.

Причин багато, але іноді краще встановити стару операційну систему ніж переробляти невідомо ким написаний програмний код.

Debian 4.0 Etch the first install screenНаприклад, достовірно відомо, що програма працює у Debian 4.0 Etch. Зараз я розповім, як встановити цей “застарілий” дистрибутив.

На сторінці http://cdimage.debian.org/cdimage/archive/ ви знайдете образи для встановлення Debian починаючи з випуску 3.0 Woody проте їх немає де оновити. Тобто ви зможете встановити мінімальну систему, але підключення до дзеркала пакунків закінчиться невдачею, адже ці системи зараз не підтримуються.

Але є вихід. Існує спеціальний ресурс snapshot.debian.org, який містить копії основного репозиторію пакунків Debian на певну дату.

Я скачав з каталогу etch/main/installer-amd64/20070308etch7/images/netboot/ образ mini.iso для встановлення системи через мережу. Інсталяція йшла добре до моменту вибору дзеркала пакунків. На цьому етапі слід вибрати налаштування вручну і вказати адресу дзеркала сайту snapshot.debian.org.

Отже на першому кроці діалогу обираємо http протокол. Далі домене ім’я snapshot.debian.org. Потім шлях до пакунків. Він має такий вигляд:

/archive/debian/20090802T004153Z/

Якщо система успішно підключилася до дзеркала, то ви побачите на екрані меню для вибору гілки. Я обрав -  Etch (oldstable). Все, далі система встановлюється звичайним чином.

Зміст файлу /etc/apt/sources.list:

deb http://snapshot.debian.org/archive/debian/20090802T004153Z/ etch main
deb-src http://snapshot.debian.org/archive/debian/20090802T004153Z/ etch main