20 Гру, 2016

Переваги та недоліки Linux: досвід використання

Нещодавно на нашому сайті колега-автор поділився досвідом встановлення та перших днів користування Ubuntu Linux, де він похвалив операційну систему і спробував розвіяти кілька поширених міфів. Так як стаття отримала чимало відгуків, я хочу її доповнити своїм досвідом і розповісти про переваги та підводні камені — напустити трохи хмарок в ясне небо колеги. Вперше зіткнувся із Linux я в 2004 році, коли мій патлатий однокурсник приніс мені два диски із Red Hat 7.1 — явно не самий дружній для користувача дистрибутив. Проте я його без проблем поставив на свій старий комп’ютер, тому й вирішив далі вивчати. Регулярно (постійно встановлена на комп’ютері і використовується) користуватися вільною операційною системою я почав десь в 2006 році, зареєструвавшись на форумі linux.org.ua.Попри це я постійно користуюся і Windows, тому вважаю, що моя розповідь не буде однобокою. Метою цієї статті є детально і ґрунтовно пояснити, що таке Linux, звідки він взявся, чому ним варто користуватися, а чому ні.

Трохи історії, або чому всі зараз сидять на Windows

(можна пропустити)

Linux належить до сімейства Unix-подібних операційних систем. Перший Unix почали розробляти у 1969 році в стінах лабораторій компанії Bell Labs. Це була багатокористувацька багатозадачна операційна система, орієнтована на професійне застосування. Вона набула поширення і використовувалася в академічному та комерційному середовищах та отримала велику кількість версій. Для розуміння, тогочасні комп’ютери являли собою великі системи, робота з якими відбувалася через термінали — апаратний пристрій із клавіатурою та екраном (або принтером), через який користувач уводив команди і отримував відповідь. Їх могло бути декілька для одночасної роботи кількох людей — комп’ютери вже мали достатню продуктивність та обсяги пам’яті щоб виконувати одночасно декілька програм. Робота з комп’ютером тоді відбувалася через консоль — шляхом уведення текстових команд.

В 70-х роках настала епоха персональних комп’ютерів — систем, що поміщаються на стіл і використовуються однією людиною як побутовий прилад. Вони були однокористувацькими, мали 8-ми та 16-ти розрядні процесори, що накладало обмеження на обсяги пам’яті та програмне забезпечення. На комп’ютерах або був вшитий інтерпретатор мови програмування, або використовувалася простенька однозадачна операційна система.

В 1981 році компанія IBM представила свій персональний комп’ютер IBM PC на основі 16-бітного процесора Intel 8086. За характеристиками він не був чимось особливим, за винятком того, що система була модульною — її можна було модернізувати так, як ми зараз звикли розбирати та змінювати сучасні системні блоки. Сторонні компанії мали змогу робити складові для IBM PC, тому цей комп’ютер став популярним і все, чим ми зараз користуємося, є його нащадками (IBM PC сумісні комп’ютери). Операційну систему для IBM PC поставила нікому тоді невідома компанія Microsoft — це була перша версія MS DOS — однозадачна, однокористувацька система, яка стала популярною разом із IBM PC.

Unix в той же час продовжував бути системою для великих комп’ютерів та фахівців. Коли з’явилися 32-бітні процесори Intel 80386, що мали апаратну підтримку мультизадачності, фінський студент Лінус Торвальдс створив Linux — операційну систему, побудовану за стандартами Unix, що можна запускати на настільних комп’ютерах. Так Linux прийшов на десктопи. Проте тоді він був конструктором “Збери сам” і цікавив лише кваліфікованих ІТ-фахівців, в той час як MS DOS була простою і поширеною на всіх домашніх та офісних комп’ютерах, ба більше завелася операційною оболонкою Windows — праобразом Windows 95.

В той же час Microsoft навпаки подалася у “великі комп’ютери”, випустивши серверні версії Windows.

Більш-менш дружнім до користувача Linux став ближче до середини 2000-х, коли користувачі вже повним ходом сиділи на популярній Windows XP. Тобто, можна було взяти диск і, не маючи великого досвіду, встановити його на комп’ютер і відразу почати користуватися. Чималу роль в цьому зіграв вищезгаданий Ubuntu, гаслом якого в той час було Linux for human beings. Перші версії поширювалися на двох дисках — інсталятор та LiveCD, який можна було запустити і спробувати без встановлення на комп’ютер.

Також на Linux почали звертати увагу із поширенням антипіратських законів, зокрема ним часто користуються в академічному середовищі, хоча Microsoft зараз видає свої продукти для освіти дешевше, а то і задарма.

Глосарій

(можете повернутися до його читання пізніше, я виділятиму слова)

Бубен (шаманський бубен) — міфічний інструмент досвідченого ІТ-шника, за допомогою якого він вирішує складні проблеми. Трясти бубна — вирішувати складні проблеми нестандартними способами.

Linux — ядро операційної системи, саме по собі непридатне для використання. Можна завантажити із сайту kernel.org і скомпілювати під свої потреби (це може знадобитися для створення прошивок або систем, що працюють з обмеженими обчислювальними ресурсами)

GNU — проект зі створення вільної операційної системи, в рамках якого було створено багато вільного програмного забезпечення.

Open Source — поширення програм у вигляді вихідних програмних кодів, коли кожен може побачити, як влаштований той чи інший продукт і змінити його під себе. Ви можете завантажити або готову бінарну програму, або її коди і скомпілювати їх під свої потреби, хоча для рядового користувача це не дає ніяої переваги. Слово-антонім — пропрієтарний.

Важливо зазначити, Open Source тішить параноїків — в вихідний код, якщо його переглядає спільнота, неможливо підсунути бекдор чи закладку. Так що за вами точно ніхто не стежитиме.

Дистрибутив — готова до використання операційна система, в яку входить всі необхідні компоненти: ядро, системні бібліотеки, утиліти, командні та графічні оболонки, драйвери та популярні прикладні програми. Коротше кажучи, це те, що можна завантажити і встановити на свій комп’ютер. Скачаний образ диску Windows також є дистрибутивом. Популярні дистрибутиви постійно оновлюються — до них включаються нові версії програмного забезпечення, виправляються помилки, додається підтримка нових технологій. Розробники дистрибутивів, здебільшого, не пишуть своїх програм, а збирають існуючі, компілюють та включають їх у свій продукт.

Популярними дистрибутивами є Ubuntu, Mageia, OpenSUSE, Debian, Fedora, Slackware та інші. Вони складаються, переважно, із вільного програмного забезпечення, тому поширюються вільно та без обмежень, а що головне для нас — безкоштовно. Існують менші дистрибутиви, що створюються на базі великих — луна-парк із блек-джеком та шльондрами.

Залежності — необхідність у встановленні додаткових компонентів для функціювання програми. Сучасне ПЗ досить складне і складається з багатьох модулів — для зручності розробки. Модулі можуть містити функції, що потрібні не одній, а багатьом програмам, вони називаються бібліотеками. Для прикладу, у Windows часто з іграми встановлюється C++ Redistributable, DirectX, або .NET Framework, у Linux це більш поширена практика.

Репозиторій — сховище програмного забезпечення, що входить до певного дистрибутиву. Фактично це файловий сервер, з якого можна скачати пакунки із потрібними програмами. Це трішки схоже на Google Play чи App Store. Кожен дистрибутив має свій репозиторій, де всі програми узгоджені між собою по залежностях. В популярних дистрибутивах репозиторії мають дзеркала — резервні сервери, серед яких можна обирати той, з якого йде найшвидше завантаження.

Менеджер пакунків — програма, за допомогою якої відбувається встановлення, оновлення та видалення програм та бібліотек із комп’ютера. Під пакунком розуміється окрема програма або бібліотека. Менеджер пакунків завантажує програми із репозиторія та слідкує за залежностями, встановлюючи їх за потреби. Він також може оновити (автоматично або за командою) всю систему, якщо в репозиторії з’являться оновлені версії. В Linux, за невеликими винятками, не практикують самостійне (шляхом запуску exe-інсталятора) встановлення програм, тому система не захаращується файлами, так як все під контролем менеджера пакунків.

Особливості Linux

(Основна частина статті)

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

Стабільність. За часів Windows 98, що падала від найменшого пчиху, Linux видавався камінною стіною, стабільною і непробивною для вірусів. Але в Microsoft все ж не останні дурні працюють, продавати програмне забезпечення для бізнесу хочуть, тому зараз ця різниця практично непомітна: сучасні Windows можуть працювати довго і щасливо, особливо якщо про це потурбується компетентна людина і відбере адмінправа у тих, кому їх давати не можна. В той же час існують дистрибутиви Linux, зокрема й Ubuntu, що випускають нові версії строго за графіком (двічі за рік) і включають до них найсвіжіше програмне забезпечення, що не пройшло тривалого тестування.  З третього боку є дистрибутиви, орієнтовані на корпоративне використання, приміром RedHat та його похідна CentOS, куди включають тільки добре перевірені (але вже не самі свіжі) компоненти — ось вони залишаються оплотом стабільності та надійності. Мораль проста — обирай, або найсвіжіший софт, або стабільність та надійність.

Інтерфейс користувача. Linux не має стандартного зовнішнього вигляду. Ви можете обирати із великої кількості графічних оболонок (Desktop environment). Є легкі та спартанські, такі як LXDE. XFCE та Enlightment, є важкі та неповороткі Gnome 3 та KDE, що взагалі важче за Windows 10, проте має величезну кількість налаштувань та фіч, яка Windows і не снилася, або приснилася лише в останніх версіях. Через це ви можете користуватися сучасними дистрибутивами Linux на дуже слабких комп’ютерах — навіть на Pentium III із 512МБ оперативної пам’яті.

Я користуюся KDE через те, що її можна налаштувати на свій смак. Віджети, величезна кількість тем оформлення (в тому числі й мімікрія під Windows та Mac OS), налаштування панелей та меню, вікна авторизації та привітання, всього.

Приміром, можна обирати вигляд головного меню, того, що у Windows зветься Пуск. Корисно для тих, хто прагне повернути класичне оформлення.

Окрема варто сказати за встановлення. У популярних дистрибутивів воно наразі швидше і зручніше за Windows, пропонує більше опцій. Приміром, можна здійснювати встановлення через Інтернет, так званий Net Install і вибирати відразу всі програми із репозиторію, що вам потрібні, після чого йти пити каву, доки система зробить для вас добре.

Програмне забезпечення. Попри те, що у Linux можна знайти аналоги до багатьох програм із Windows, є випадки, коли їх немає взагалі, або є дуже неповноцінні. Приміром, ABBYY FineReader — ну є під Linux розпізнавалка Tesseract, який консольний, є якась оболонка для нього щоб було зручно користуватися, але поки все воно лишається на примітивному рівні.

Сутужно із графікою. GIMPом можна замінити Photoshop для домашнього застосування (я користуюся), але приміром він не підтримує CMYK, що важливо для поліграфії плюс деякі функції в нього реалізовані гірше. В 3D-моделюванні, кажуть, не так сутужно, бо там є blender і ним можна малювати круті мультики.

LibreOffice в принципі може замінити Microsoft Office, проте як людина, яка користується і тим, і другим скажу, що платний офіс все ж зручніший в низці випадків.

Специфічний інженерний софт, або програми керування різними промисловими штуками під Linux можуть бути відсутніми взагалі. Частково це компенсується наявністю Wine — спеціального прошарку, що дозволяє на Linux запускати програми з-під Windows, але часто такий підхід потребує трясти великого бубна.

Виникають проблеми у фотографії, при виході свіжих фотокамер — RAW-файли з них можна обробляти лише у “рідному” конвертері або за допомогою продуктів від Adobe. Хоча, знімки із нових камер Fujifilm X-T2 та Canon EOS 80D в мене на комп’ютері нормально відкрив RAW Therapee останньої версії.

Ігри. З виходом Windows 8 глава компанії Valve Гейб Ньюел заявив, що Windows це провал і час розвивати ґеймінґ під Linux. Компанія  анонсувала випуск SteamBox — ігрової приставки, що являє собою PC в компактному корпусі, на якому встановлений Debian Linux із Steam, що можна легко зробити самостійно на будь якому іншому комп’ютері.

І справді, ігор на Linux стало значно більше — до Steam там було три косинки та два сапера, ні й деякі цяцьки з примітивною графікою (хоча, ні Unreal Tournament був і ще пару великих ігор). Зараз там є такі проекти як Euro Truck Simulator 2 та American Truck Simulator, Dota 2, War Thunder, Civilization, Deus Ex, Deponia, всі ігри від Valve (CS:Go, зокрема), X-Plane, багато відомих інді-проектів. Повний перелік тут. Що цікаво, з’являлися навіть спірачені ігри для Linux, що свідчить про появу інтересу до ґеймінґу на цій платформі. Хоча, ігор, що не йдуть на Linux поки більше, але це співвідношення постійно змінюється.

Драйвери. Якщо у вас популярне поширене залізо, то, скоріш за все, ви взагалі за них не думатимете, особливо із Ubuntu, Mageia та OpenSUSE, що вміють працювати із пропрієтарними фірмовими драйверами. Інакше у вас можуть виникнути проблеми при роботі з Linux. Просто опишу свої кілька випадків.

  1. Старий принтер Canon PIXMA IP1800. Драйвери на сайті виробника є, проте до нових версій Linux не підходять через залежності від старих версій бібліотек, треба тільки ставити старий Linux.
  2. Більш свіжий Canon LBP 3010 (зараз він уже старий, але тоді був новий). Драйвери є, проте завести їх не вдалося ніяк, ні скриптом, ні вручну за інструкцією.
  3. Дуже свіжий (виставковий зразок) ноутбук Acer Predator 17. Запустилася лише остання версія Fedora Linux, без звуку та WiFi. Інші не запустилися, бо не знайшли контролера флешки. Пошуки показали, що драйвери для Linux вже існують в природі, проте вони іще не включені в жоден дистрибутив.
  4. Сенсорні трансформери типу Acer Switch. Готуйтеся трясти великого бубна, щоб запрацював сенсорний екран.

Все інше під Linux працює без проблем, зокрема мій Dell Inspiron 5520, де Windows ніколи не було — із заводу стояла Ubuntu, я замінив на Debian. Для Nvidia, AMD та Intel драйвери є (ці компанії приймають участь в розробці ядра Linux). Флешки, веб-камери, фотокамери та інша дрібна периферія в більшості розпізнається добре. Був випадок із ноутбуком Acer Aspire V Nitro, коли тачпад під Linux працював значно краще, аніж під Windows.

Консоль. Вона може знадобитися кожному:

  1. Встановлення програм, що не входять до репозиторію.
  2. Ручне вирішення проблем із залежностями, якщо менеджер пакунків не впорався. Дуже зрідка таке буває.
  3. Встановлення драйверів, яких немає в репозиторії та вирішення проблем із ними.
  4. Якщо ви надумали пов’язати своє життя із Wine щоб запускати програми від Windows.
  5. Після невдалого оновлення драйверів на відеокарту (або ядра) — система не перейде автоматично у режим VGA, а викине вам консоль.

Консоль також може бути зручнішою, ніж графічний інтерфейс, для:

  1. Віддаленого адміністрування: трансляція зображення графічного інтерфейсу забирає більше трафіку.
  2. Автоматизації рутинних процесів (іноді я це роблю).
  3. Пошуку файлів за різними критеріями — швидше увести пару ключів, ніж мишкою тицяти параметри в графічному інтерфейсі.
  4. Діагностики комп’ютерних мереж, пошуку розташування веб-сайту та його власників (за ІР “вичисляти”, коротше), пошуку причини проблем із сайтом.

Насправді, це не повний перелік випадків, а те, що я можу швидко пригадати, але поняття вам має дати. Врешті, варто зазначити, що консоль нікуди не ділася у Windows, більше того, Microsoft іще років десять тому ввела PowerShell для розширення її можливостей, а зараз співпрацює із Canonical для сумісності Windows із Linux. Врешті, консоль не страшніша, ніж реєстр Windows, чи нетрі папки System32.

Репозиторії. Дуже зручні тим, що ви можете просто поставити галочки проти всіх потрібних вам програм і піти пити каву, поки комп’ютер їх встановить. У Windows, починаючи з вісімки, з’явився магазин, але він поки не наздоганяє за своїм асортиментом — тому вам доводиться вручну завантажувати і встановлювати кожну програму, а потім їх оновлювати. Більше того, менеджери пакунків дозволяють підключати сторонні репозиторії разом із основними, що розширює кількість доступного в системі програмного забезпечення. Найбільший репозиторій є у Debian, проте цей дистрибутив не дуже дружній для новачків.

Під Windows такий фокус не пройде, так як комерційному Microsoft доведеться вести перемовити за ліцензування із великою кількістю розробників програмного забезпечення, що в світі GNU робити не потрібно.

Linux як конструктор. Ви можете міняти в своїй системі все. Найпростіше — це локалізація програм, в цьому можуть брати участь навіть гуманітарії. Linux заговорив українською раніше і краще за Windows.

Для тих, хто готовий вивчати документацію і має багато вільного часу, є інші можливості — приміром, налаштування домашнього медіасервера або збирання дуже швидкої системи для власного ноутбука — це можливо зробити, викинувши підтримку всіх технологій та заліза, що є у стандартному ядрі, але немає у вас. Колись давно я пробував збирати Gentoo Linux (дистрибутив “збери сам”), він і справді досить проворно літав на моєму комп’ютері. Google зібрала на базі його ChromeOS, яка на слабенькому залізі (від Celeron — Core i3, 2-4 ГБ пам’яті) крутиться швидше за Windows на дорогих ігрових комп’ютерах.

Віруси. Іноді з’являються новини про віруси на Linux — здебільшого вони розраховані на локальні вразливості, коротше кажучи на недостатню мудрість прокладки між монітором та стільцем. Із явної вигоди — Mail.Ru не робить свій шлак для Linux.

Інтернет. Для роботи з Інтернетом Linux, як на мене, зручніший. По перше, браузери всі ті само — Firefox, Chrome, Opera. Є торент-клієнти, чат-клієнти. Але основна зручність полягає в легкому керуванню мережами — дротовими, стільниковими та бездротовими, що реалізовано у вигляді зручних аплетів.

Висновок

Я нікого не агітую користуватися Linux. Бо тоді людина починає діставати всіма проблемами, що виникають в процесі освоєння. Але якщо ви хочете спробувати ним користуватися, то в першу чергу маєте дізнатися, чи підтримує він ваше залізо і чи має потрібне для вам програмне забезпечення. В подальшому, не складе труднощів щось підлаштувати під вас, а до чогось звикнути самому. Що ви отримаєте в результаті? В кожної людини. Для когось це легальне безкоштовне програмне забезпечення, для когось свобода вибору, іще для когось просто більш зручний та підходящий інструмент. Що він дасть вам — не знаю, пробуйте.

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.