суботу, 16 лютого 2008 р.

Для новачків: у чому полягає різниця між Windows та Linux?

Останнім часом Linux набирає все більше популярності. Одним з наслідків цього є те, що багато людей, які не бачили в своєму житті нічого крім Windows, намагаються встановити Linux з цікавості. Можливо вони почули про нього від друзів, чи прочитали на форумах, але факт є фактом, на форумі моєї локальної мережі наприклад з немалою періодичністю регульрно з'являються питання про Linux. Багато таких нових користувачів стикнувшись з першими проблемами, натрапивши на серйозні відмінності у порівнянні з Windows, або ще по якимось причинам зносять Linux і повертаються назад у Windows. Зазвичай при цьому ще й не забувають відписатися про те, яке ж фуфло той Linux.

Насправді ж тут має місце декілька взаємопов'язаних факторів:

  1. Небажання читати літературу.

  2. Мала кількість реально корисної для початківців інформації. Велика
    частина інфи у мережі Інтернет розрахована на людину яка вже має певний
    базовий рівень у спілкуванні з Linux.

З першим фактором ми нічого зробити не зможемо. Якщо людина вчитися не бажає, то навчити її не можливо. А от щодо другого пункту, то ця ситуація потроху виправляться. Зокрема, дуже гарні посібники розповсюджує та ж сама Canonical. 

У даній статті, я спробую зробити над собою надзусилля - спробую роздвоїти свою особистість. :) Ну, насправді я просто спробую забути те, що моє знайомство з комп'ютерами почалося задовго до набуття популярності Windows, спробую уявити себе таким собі "латентним віндузятником" який нічого іншого в житті не бачив. Я пропущу тут процес встановлення нової системи, будемо вважати, що її встановив знайомий "гуру". Ну дійсно, не всі ж і Windows встановлювати вміють, багато взагалі вважає, що вона там з заводу стоїть. Про саме встановлення можливо поговоримо дещо пізніше. 

Отже, таким чином я спробую задати ряд питань, а потім, знову згадавши свій досвід, спробую на них відповідати. Одразу оговорю, що тут я буду говорити конкретно про Ubuntu, щоб не розпилятися на велику кількість подробиць, які можуть лише відлякати початківців. То приступимо?

Що таке Linux?

Linux - це одна з найпопулярніших на сьогоднішній день операційних систем (ОС) для персональних комп'ютерів. Інший приклад операційної системи - всім відома Windows, ще одна відома система - MacOS X фірми Apple. ОС виконує багато дуже важливих ролей, вона надає користувачц зручний інтерфейс для роботи з комп'ютером, а також забезпечує прикладним програмам засоби для роботи з різноманітним обладнанням.

Я знаю, що Windows розробляє фірма Microsoft, а хто ж розробляє Linux?

Linux з'явився у 1991 році, як звичайне хобі фінського студента Лінуса Торвальдса, яке з часом розвинулося у найбільший в світі колективний проект з розробки програмного забезпечення. Фактично, будь-хто з бажаючих, якщо він має певні знання у програмуванні, чи в іншій потрібній галузі, може долучитися до розробки Linux. Тобто за цією ОС не стоїть якась конкретна фірма яка визначає її розвиток, тут ми маємо величезну кількість програмістів всього світу, які пишуть код, в результаті чого проект постійно знаходиться у розвитку. Існує звичайно декілька людей які займаються координацією проекту, той же Лінус наприклад, але розробкою загалом займається спільнота. Потрібно також сказати, що термін Linux насправді характеризує не  ОС
як таку, а її ядро. Повноцінна операційна система, у звичному розумінні, включає не лише ядро, але й ряд інших компонентів (графічний інтерфейс, драйвери, різноманітні утиліти та ін.). У світі Linux такий закінчений продукт називають дистрибутивом. І дистрибутивів Linux з погляду на такий характер розробки існує величезна кількість.

Нічого не зрозуміло, що ж таке дистрибутив?

Під дистрибутивом розуміють закінчений продукт. Саме ядро Linux не є придатним для використання кінцевим користувачем. Для того щоб перетворити його у повноцінну ОС, потрібно додати певний набір базових системних утиліт, якщо це десктопна система, то бажано ще додати графічний інтерфейс і так далі. Це можна порівняти з конструктором LEGO, коли ви маєте багато деталей, які самі по собі мало, що представляють. У той же час, якщо їх поєднати разом, то ми отримаємо якусь конструкцію. У Windows також можна побачити різні дистрибутиви, наприклад WindowsXP Home Edition та Professional Edition. Вони мають єдине ядро, тобто формально є однію операційною системою, але дещо відрізняються за набором компонентів, тобто все таки є двома різними продуктами.

Ну добре, ніби зрозуміло, а які ж існують дистрибутиви Linux?

Дистрибутивів Linux існує дуже багато. Це, знову ж таки, викликано особливостями його розробки. Навіть ви, при бажанні можете створити свій дистрибутив, взявши за основу стандартні компоненти. Деякі дистрибутиви розробляються просто групою людей які об'єдналися за якоюсь ідеєю, а деякі дистрибутиви розробляються під крилом комерційних фірм. Існують дистрибутиви загального призначення, а є й спеціалізовані, наприклад націлені на роботу в мобільних телефонах чи ін. Оскільки ми говоримо про персональні комп'ютери, то з найпопулярніших можна виділити Ubuntu, Fedora, SuSE, Debian, Mandriva, можливо ще декілька.

Так багато? І як же вибрати який кращий?

Це насправді досить важке питання, з приводу якого можна дуже довго дискутувати. Я використовую Ubuntu - це один з найпопулярніших і найпростіших на сьогоднішній день дистрибутивів Linux. Саме на його прикладі я й буду далі вести розмову.

Добре. Я ввімкнув свій комп'ютер і він питає у мене логін і пароль. Що мені робити?

Linux підтримує роботу з декількома користувачами на одній системі. У кожного з таких користувачів може бути власний домашній каталог, власні налаштування програм та ін. Для власної ідентифікації, кожен користувач має логін (іншими словами псевдонім) і власний пароль. Свій логін і пароль ви вказували під час встановлення системи. У Windows прийнято точно такий же підхід. У системі також існує користувач root, який створюється автоматично, він служить для адміністрування системи. Це такий собі аналог Адміністратора у Windows, проте з більшими привілеями, насправді просто необмеженими.

А де тут кнопка Пуск?

В Ubuntu використовується робоче середовище Gnome. Замість кнопки Пуск тут є три пункти меню на верхній панелі: Програми, Місця та Система. У меню Програми можна побачити встановлені програми, відсортовані за темами. Меню Місця містить посилання на стандартні папки, дозволяє використовувати мережу та ін. А меню Система служить для налаштування вашої ОС (аналог Панелі керування у Windows).

Ви згадали про якийсь Gnome, що це таке?

На відміну від Windows у Linux графічне середовище не є жорстко інтегрованим у систему. Існує графічна підсистема, яка називається X Windows. Вона включає відеодрайвери, набір базових бібліотек, набір спеціальних протоколів та ін. Для відображення вікон програм використовується менеджер вікон. Безпосередньо ж зручний інтерфейс користувача для роботи з системою забезпечує середовище користувача. У Windows замість стандартного середовища також можна використовувати альтернативні середовища, такі як Talisman чи Aston наприклад. Що ж стосується Linux, то тут поняття стандартного середовища просто не існує, кожен розробник дистрибутиву обирає такий який йому подобається. Наразі існує три найбільш популярних середовища: Gnome, KDE та Xfce. В Ubuntu, прийнято у якості стандартного середовища Gnome. Їх відмінності коротко можна охарактеризувати таким чином: Gnome - орієнтується на максимальну зручність, KDE - на максимальну функціональність, а Xfce чудово підходить для старих комп'ютерів, з обмеженими ресурсами.

А де тут диск C:?

На відміну від Windows у Linux не використовуються літери для ідентифікації розділів. Замість цього, файлові системи різних розділів монтуються у вигляді каталогів єдиної кореневої файлової системи. Наприклад CD-ROM, флопі-дисковод чи флешку можна знайти у каталозі /media у вигляді окремих підкаталогів. Насправді, до будь-якого каталогу можна примонтувати будь-яку файлову систему. Причому не важливо, буде це розділ на вашому диску, чи він знаходиться на іншому комп'ютері у мережі. Windows починаючи з версії 2000 ткож стала підтримувати таку можливість, але нею не часто користуються та й можливостей там менше. Аналогічний підхід прийнято також у Windows Mobile.

Ну і де ж мені зберігати свої файли?

У вашому домашньому каталозі (Місця->Домашній каталог). Домашні каталоги всіх користувачів знаходяться у каталозі /home. Ви також можете бачити підкаталоги Documents, Music та Video, призначеня яких повинно бути зрозумілим і без пояснень.

Я вставив диск зі своєю улюбленою грою, клацнув на setup.exe але система говорить, що такий формат їй не відомий. У чому справа?

Кожна операційна система має власний формат програм. Хоча у Windows формат .exe вказує на програму, для Linux він є незнайомим. Тут програми розрізняються не по розширенню, а по наявності спеціального атрибуту eXecute у правах доступу до файлу.

А як же тоді тут встановлювати нові програми?

Дистрибутиви програм для Ubuntu розповсюджуються у спеціальних файлах .deb, так званих пакетах. Достатньо завантажити такий файл і клацнути по ньому мишкою, щоб програма встановилася. Але існує один важливий момент - на відміну від Windows, в Ubuntu пакет з програмою не завжди включає всі необхіжні для її роботи файли. Таким чином, перед встановленням основного пакету, обов'язково потрібно встановити і пакети з потрібними бібліотеками.  Така ситуація коли один пакет залежить від інших, так і називається, - залежності. Це може здатися складним, проте стандартний підхід Ubuntu передбачає встановлення програм з репозиторіїв. Репозиторій - це централізований каталог пакетів, зазвичай на якомусь сервері у мережі, хоча можуть бути і локальні репозиторії, на диску, чи DVD. Існують стандартні програми для встановлення програм з репозиторіїв, це або пункт Програми->Додати/Видалити або
Система->Адміністрування->Менеджер пакетів Synaptic. З допомогою цих програм можна переглянути каталог доступних програм і встановити будь-яку звичайним кліком.

А які ще переваги використання репозиторіїв?

Основних переваг дві: автоматичне розв'язання залежностей і автоматичне відслідковування оновлень програм. Тобто, якщо ви встановлюєте якусь програму, для роботи якої потрібен якийсь інший пакет, то система автоматично завантажить і встановить всі необхідні для її роботи пакети. Крім того, коли у репозиторії з'явиться нова версія якоїсь із встановлених програм, система вам про це нагадає.

Тобто системі потрібно ще й адреси репозиторіїв прописувати?

Величезна кількість програм знаходиться у офіційних репозиторіях, адреси яких вже відомі системі. Деякі програмні продукти мають власні репозиторії, їх завжди можна додати через Система->Адміністрування->Сховища.

А які ще методи розповсюдження програм існують?

Існує ще формат пакетів .rpm, його використовують такі дистрибутиви як Fedora чи SuSE. Напряму в Ubuntu він не підтримується, але .rpm у більшості випадків можна зконвертувати в .deb, з допомогою утиліти alien. Також іноді програми іноді розповсюджуються у вигляді простих архівів .tar.gz. У такому випадку потрібно читати readme. Такі архіви можуть включати або бінарні файли, тоді їх достатньо просто
кудись розпакувати, наприклад у каталог /opt (у Windows також існують програми які не потребують спеціальної інсталяції крім простої розпаковки). Іноді зустрічаються програми з власним інсталятором, аналогічно setup.exe у Windows (тут він часто називається setup.sh або install.sh). А іноді в Linux програми розповсюджуються у вигляді вихідних кодів, такі програми компілюються на місці (у такому випадку читайте readme).

А чи є все ж таки спосіб встановити програми для Windows?

Формально є. Для цього спочатку потрібно встановити Wine. Це альтернативна реалізація WinAPI, яка дозволяє запускати програми Windows (наприклад ігри) на платформі Linux. Потрібно тільки мати на увазі, що не абсолютно всі програми можна запустити таким чином. Взагалі, не рекомендується використовувати такий підхід, якщо є можливість використання нативних аналогів.

А як мені встановити необхідні драйвери?

У більшості випадків, всі необхідні драйвери вже інтегровано у систему. Тому, наприклад з розповсюдженим обладнанням проблем не існує і жодних драйверів встановлювати не потрібно. Проблеми бувають тоді, коли система не знає про ваше обладнання. Взагалі, бажано перед тим як купувати нове обладнання, звірятися з відповідним переліком на
офіційному сайті дистрибутиву. Досі існує проблема того, що деякі виробники не пишуть драйверів для Linux, тому з деяким обладнанням можуть бути реальні проблеми.

Ну, здається ми розглянули основні питання, якщо я про щось забув, пишіть у коментарях і я доповню перелік.

Elisa: медіа-центр для Ubuntu

Elisa (http://elisa.fluendo.com/) - це медіа-центр зі зручним і простим інтерфейсом. Вона надає централізований інтерфейс для прослуховування музики, перегляду відео, роботи з колекцією фотографій та ін.

У роботі все це виглядає ось так:




Встановлюється просто.

1. Підключаємо репозиторій (Система->Адміністрування->Сховища)
deb http://elisa.fluendo.com/packages gutsy main

2. Завантажуємо GPG-ключ http://elisa.fluendo.com/packages/philn.asc і додаємо його у систему.

3. Далі робимо

sudo apt-get update
sudo apt-get install elisa-extra


От і все, тепер у меню Програми->Звук та Відео з'явився новий пункт Elisa Media Center.

пʼятницю, 15 лютого 2008 р.

FlyBack: Ще одна альтернатива TimeMachine в Ubuntu

Раніше я вже описував одну з утиліт дя автоматичного зняття резервних копій в Ubuntu - TimeVault (http://korkholeh.blogspot.com/2008/02/timevault-timemachine-ubuntu.html). Але як показали коментарі, не у всіх вона працювала нормально. Тому я вирішив написати про ще одну подібну альтернативу - FlyBack.

Перш за все, необхідно встановити потрібні пакети:
sudo apt-get install python python-glade2 python-gnome2 python-sqlite3 python-gconf rsync

Наступним кроком ми завантажуємо FlyBack і встановлюємо його у домашній каталог користувача:

cd ~
wget http://flyback.googlecode.com/files/flyback_0.4.0.tar.gz
tar -zxvf flyback_0.4.0.tar.gz


Тепер можна запустити FlyBack і зробити необхідні налаштування.

cd ~/flyback/
python flyback.py


Якщо під час першого запуску з'явиться повідомлення про помилку, просто натисніть OK, можете його проігнорувати. Далі, вкажіть у якій папці зберігати знімки (добре якщо вона буде розташовуватися на іншому фізичному носієві).



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



Ну і наостанок, потрібно вказати з якою періодичністю потрібно робити знімки, а також за яких умов можна знищувати старі. Потрібно не забути відмітити пункт automatically.



Тут потрібно сказати, що на відміну від того ж TimeVault, FlyBack не знаходиться постійно у пам'яті. Вона просто використовує стандартний cron для того щоб запускати процес зняття знімків з заданою періодичністю. Переконатися, чи активовано дану функцію можна наступним чином:

bum@impress:~/flyback$ crontab -l
0 3 * * * python /home/bum/flyback/flyback.py --backup #flyback


Як бачимо, все нормально. Тепер, наступним кроком буде створення знімка, для цього просто натисніть на кнопку Backup у вікні програми. Результат буде подібним до наступного:



Як бачимо, інтерфейс FlyBack досить простий. У правій частині вікна можна побічити перелік знімків системи, пункт now відповідає за поточний стан системи. Знімки будуть робитися автоматично, згідно вказаної вами частоти. Примусово знімок завжди можна зробити натиснувши кнопку Backup. Тепер, навіть якщо ви знищите свої файли, ви завжди зможете їх повернути. Для цього просто знайдіть їх у старих знімках, виділіть мишкої і натисніть на кнопку Restore. Все просто.

Хочете знати як працює дана програма? Насправді дуже просто, без будь-яких складнощів. Просто з певною періодичністю вона створює за вказаною вами раніше адресою підкаталог, ім'я якого відображаї дату і час зняття знімка, і копіює у нього файли з вказаних вами для збереження каталогів.



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

Для того щоб додати FlyBack у головне меню, клацнемо правою кнопкою над меню Програми, оберемо Правка меню і додамо у розділ Системні утиліти пункт для виклику наступної команди:
python /home/bum/flyback/flyback.py
Звісно ж замість bum підставте своє ім'я користувача.



Тепер ви можете запускати FlyBack через меню Програми.

неділю, 10 лютого 2008 р.

Додаємо GetDeb.net у якості репозиторію

Усім користувачам Ubuntu повинен бути відомий портал GetDeb.net, де можна завантажити пакети з багатьма програмами та іграми, яких часто немає в офіційних репозиторіях. Алея якщо завантажувати файли вручну, то ми втрачаємо одну з головних переваг репозиторію - слідкування за оновленнями встановлених програм. Проте є можливість вирішити цю проблему.

Обираємо Система->Адміністрування->Сховища і додаємо новий репозиторій:
deb http://ubuntu.org.ua/ getdeb/

Тепер запустимо Synaptic і оновимо базу пакетів. З цього моменту, програми доступні на GetDeb.net можна буде встановлювати єдиним централізованим способом - через добре відомий Synaptic.

Це насправді дуже зручно, бо на GetDeb.net можна знайти найновіші версії різноманітних програм, на відміну від офіційних репозиторіїв які на так вже й часто оновлюються. Єдине, що потрібно мати на увазі, то це те, що на відміну від офіційних репозиторіїв, які містять протестовані програми, програми встановлені у такий спосіб не мають стовідсоткової гарантії роботи. Тобто у даному випадку, ви самі вирішуєте що для вас важливіше - нові функції чи гарантована стабільність.

Налаштовуємо багатокнопочну мишку в Ubuntu

Мабуть багато хто з вас має мишку з додатковими кнопками. От і в мене така - A4-Tech WOP-35. Вона має п'ять кнопок і два коліщатка прокрутки.



У комплекті з мишкою йшла лише дискета з драйвером для Windows. А чи можна змусити цю ж мишку повноцінно працювати в Ubuntu? Причому не так щоб додаткові кнопки виконували роль навігації вперед/назад, а взагалі, щоб можна було їх повністю налаштовувати на свій смак. Виявляється, що цілком можна. І допоможе нам у цьому утиліта btnx.

Спершу йдемо за цією адресою: http://www.ollisalonen.com/btnx/

Завантажуємо два пакети:

btnx_0.4.4-1_i386.deb
btnx-config_0.4.4-1_i386.deb


Перед тим як починати їх встановлювати, створимо каталог /etc/btnx (інакше програма не встановиться, схоже просто глюк інсталятора):
sudo mkdir /etc/btnx

Тепер встановлюємо обидва пакети і запускаємо конфігуратор обравши Програми->Системні утиліти->btnx. Відкриється наступне вікно.



Тиснемо кнопку Detect mouse & buttons - програма спробує розпізнати вашу мишку і попросить понатискати на кнопки. Все дуже просто, вам потрібно буде натиснути на кнопку угорі вікна (Press to start button detection), а потім просто понатискати декілька разів на якусь із кнопок доки не заповниться прогрес, потім вас запитають як назвати дану кнопку, набиріть, що захочете і натискайте Додати. Таким чином вчимо програму усім кнопкам які є на вашій мишці, а по завершенню тиснемо на Гаразд.



Коли ви закінчили навчати програму новим кнопкам, переходимо на закладку Buttons у головному вікні і задаємо для них таку функцію яку захочемо. Знову ж все просто, якщо ми хочемо щоб якась із кнопок мишки вела себе нестандартно - ставимо галочку на Enabled і нижче обираємо функцію. Це може бути або комбінація клавіш, або якась функція із стандартного набору, або й взагалі якась консольна команда. Можливостей багато.



Коли налаштування для кнопок зроблено, повертаємося знову на закладку Configurations і тиснемо на кнопку Restart btnx. З цього моменту ваші налаштування буде активовано. Тепер вікно можна закрити.Смотреть онлайн фильмы на кинофаноф.ру,