Гавчук Катерина. Вікі посібник Linux
Під операційною системою розуміють комплекс програм, який забезпечує управління апаратними засобами комп'ютера, організовує роботу з файлами(в тому числі запуск і керування виконанням програм), а також реалізує взаємодію з користувачем, тобто інтерпретацію команд, що вводяться користувачем і виведення результатів обробки цих команд.
Без операційної системи комп'ютер не може функціонувати. У такому випадку він являє собою не більше ніж сукупність непрацюючих електронних пристроїв, незрозуміло навіщо зібраних воєдино.
Операційні системи на основі GNU і Linux називають «Linux» або «GNU/Linux». Перший варіант більш популярний і частіше використовується прихильниками терміна відкритого ПЗ, другий - прихильниками вільного ПЗ.
Хоча в англійському другий варіант пишеться і звучить як «GNU / Linux», це не завжди зручно в інших мовах. Тому, якщо можна показати рівноправність GNU і Linux кращим способом - наприклад, GNU + Linux (гну плюс Linux), GNU - Linux (у французькому), або GNU con Linux (в іспанській), краще використовувати його, ніж «GNU Linux» («гну Linux»), що створює враження, нібито ядро Linux було розроблено або належить проекту GNU. Аналогічним чином побудовані назви TCP/IP і Ogg /Vorbis.
Операційна система Unix була розроблена в 1969 році в Bell Laboratories компанії AT & T в США Кеном Томпсоном, Деннісом Рітчі, Дугласом Макілроем і Джо Осанною.
Unix спочатку була написана цілком на асемблері, що було звичайною практикою того часу. Пізніше, в 1973-75 роках, вона була переписана на мові програмування Сі.
Те, що операційна система була написана мовою високого рівня, дозволило спростити її портирування на різні комп'ютерні платформи. Через особливості ліцензії AT & T була змушена відкривати вихідний код операційної системи всім хто звернувся, що дозволило Unix швидко розвинутися і стати популярною в багатьох наукових установах і підприємствах.
У 1984 році Bell Labs відокремилася від AT & T.Позбувшись необхідності безкоштовного ліцензування системи, Bell Labs почала продажі Unix як пропрієтарного продукту.
Проект GNU було розпочато в 1983 році Річардом Столлманом з метою створення «цілісної Unix-сумісної програмної системи», повністю складається з вільного програмного забезпечення.
Робота почалася в 1984. Пізніше в 1985 Столлман заснував Free Software Foundation, а в 1989 році склав GNU General Public License(GNU GPL).
На початку 1990-х багато хто з програм, необхідних в операційній системі(такі, як бібліотеки, компілятори, текстові редактори, командна оболонка UNIX, і віконна система), були завершені, в той час як розробка низькорівневих елементів, таких як драйвери, демони і ядра була припинена і вони залишалися незавершеними. Лінус Торвальдс сказав, що якби ядро GNU було доступно в той час(1991), він би не наважився написати своє власне.
Незважаючи на те, що через юридичні проблеми з ліцензією 386BSD, з якої пізніше відбулися NetBSD і FreeBSD, що не була випущена до 1992 року, її розробка передувала Linux. Лінус Торвальдс сказав, що якби 386BSD була доступна в той час, він, ймовірно, не створив би Linux.
MINIX є недорогою мінімальної UNIX- подібної операційної системою, призначеної для освітніх цілей в галузі комп'ютерних наук, написаної Ендрю Таненбаум.
Починаючи з версії 3, MINIX стала вільною і була перероблена для «серйозного» застосування.
Тим часом, у 1991 фінський студент Університету Гельсінкі, Лінус Торвальдс як своє хобі розпочав розробку іншого ядра. Спершу Торвальдс використовував на своєму комп'ютері Minix спрощену Unix-подібну операційну систему, розроблену Ендрю Тененбаумом з метою використання у навчальних цілях. Однак, Таненбаум не дозволив іншим розширювати його операційну систему, що спонукало Торвальдса створити заміну для Minix.
Торвальдс почав розробку ядра Linux на MINIX, і додатки, написані для MINIX, були також використані в Linux. Пізніше, коли Linux досяг певної зрілості, з'явилася можливість продовжувати розробку вже на базі самого Linux. Додатки GNU також замінили додатки MINIX, так як код GNU, що знаходиться у вільному доступі, був більш зручний для застосування в молодій операційній системі. Вихідний код під ліцензією GNU GPL може бути використаний в інших проектах, якщо вони також випускаються під тією ж або сумісної ліцензією. Для того щоб зробити Linux доступним для комерційного використання, Торвальдс почав переходити від своєї первісної ліцензії(яка забороняла комерційне поширення) на GNU GPL. Розробники працювали над повною інтеграцією компонентів GNU з Linux з метою створення повнофункціональної і вільної операційної системи(Linux).
Спершу Торвальдс назвав своє ядро «Freax», що є схрещенням слів «free» та «freek», плюс додання літери «Х», котра часто використовується у іменах Unix-подібних операційних систем. Назву «Linux» придумав Арі Лемке, котрий на той час адміністрував FTP-сервер мережі фінських університетів, віддав назву «Linux» мережі, з якої проект Торвальдса був уперше доступний для завантаження.
Основна особливість програмного забезпечення Linux - різноманіття продуктів, що вирішують подібні завдання, особливо якщо справа стосується області, у якій існує кілька підходів до їх вирішення. Відкрита модель розробки програм, дозволяє будь-якому вибрати найбільш підходящий для нього інструмент і розвивати саме його. Тому список проектів, так чи інакше пов'язаних з Linux, налічує десятки (або навіть сотні) тисяч найменувань.
Всі зусилля з вивчення операційної системи Linux і основних утиліт потрібні для того, щоб згодом найкращим чином вирішувати в цій операційній системі будь-які з своїх прикладних задач, що вирішуються за допомогою комп'ютера. Для дуже багатьох завдань досить стандартних інструментів Linux і текстового редактора, однак є випадки, в яких все-таки необхідна спеціальна прикладна програма, яка саме для цього призначена, або в яких спеціальна програма зручніше комбінації стандартних утиліт.
Цей розділ присвячений короткому огляду прикладних програм для Linux, спеціально призначених для вирішення найрізноманітніших користувача завдань. На відміну від основних принципів устрою системи або стандартних утиліт, які не змінюються (майже) протягом десятиліть, прикладне програмне забезпечення - це область, де все змінюється дуже швидко. Технології, що сьогодні вважаються самими передовими, вже через кілька місяців можуть застаріти. Тому перераховані тут прикладні програми - це не безумовна рекомендація, а досить випадкова вибірка, що відображає поточний стан справ в розробці додатків для Linux.
Прикладні програми для Linux не є частиною самої Linux, тому будь-який з названих нижче програм може не виявитися в якомусь з конкретних дистрибутивів Linux. Але майже напевно в будь-якому дистрибутиві знайдеться не менше однієї або декількох програм для вирішення кожної з перерахованих нижче прикладних задач. Ми зупинимося лише на найбільш поширених програмних продуктах, що входять в майже всі дистрибутиви Linux.
Перше, що варто зробити, почавши постійно використовувати Linux - організувати для себе зручне «робоче місце»: підібрати і настроїти програми, з якими доводиться працювати щодня. Робоче місце в Linux може виглядати дуже по-різному. Можна зовсім обійтися без графічного інтерфейсу, використовуючи тільки текстовий термінал для управління системою. Такий вибір буде правильним, якщо робоче місце знаходиться на сервері, підключеному до мережі Internet, доступ до якого здійснюється тільки за допомогою ssh або аналогічних клієнтів віддаленого доступу.
Якщо графічний інтерфейс використовується, то і в цьому випадку є величезний вибір, як його організувати. Насамперед, вирішити: чи потрібно влаштовувати «робочий стіл » (для цього підходять GNOME, KDE, XFCE) або можна обійтися можливостями одного з розвинених диспетчерів вікон (Enlightenment, FVWM2, WindowMaker і багато інших). Крім функціональності, у виборі графічної середовища вирішальне значення можуть зіграти і естетичні критерії. Далі за всіх в цьому напрямку просунулася середа Enlightenment, робота з якою в деяких варіантах настройки кількістю прикрас і ефектів нагадує участь у комп'ютерній грі.
На робочому столі розміщується все, з чим нам доведеться надалі мати справа, - значки програм та документів, а також вікна програм, в яких можуть бути відкриті ті чи інші документи. Як і у випадку «нормального», тобто неелектронного робочого столу треба, щоб робочий стіл операційної системи радував око, був по можливості містким і одночасно компактним. В операційній системі Лінукс всі ці властивості присутні і можуть бути досить легко налаштовані.
За умовчанням на панелі завдань розташовані такі основні елементи:- Кнопка головного меню KDE.
- Кнопка меню Система - забезпечує швидкий доступ до основних системних ресурсів (відсутній в Xfce).
- Кнопка згортання всіх вікон - для доступу до робочого столу (клік на цій кнопці згортає всі відкриті вікна в значки на панелі). У Xfce за замовчуванням цієї кнопки немає, але вона може бути додана з контекстного меню панелі командою Додати новий елемент Показати робочий стіл.
- Швидкий запуск - панель для швидкого доступу до популярних додатків.
- Кнопка Перемикач робочих столів.
- Значки відкритих (запущених) програм.
- Панель доступу до пристроїв. У Xfce за замовчуванням відсутня, але може бути додана з контекстного меню панелі.
- Індикатор розкладки. У Xfce за замовчуванням відсутня, але може бути доданий з контекстного меню панелі.
- Значок служби нагадувань Korgac (за замовчуванням є тільки в Лінукс Майстер).
- Індикатор стану мережі KNetStat. У Xfce відсутня.
- Значок доступу до буфера обміну Klipper. У Xfce за замовчуванням відсутній, але може бути доданий з контекстного меню панелі як Clipman.
- Індикатор і засіб налаштування звуку KMix. (В Xfce - Регулювання звуку).
- Індикатор та інструмент налаштування поточної дати і часу Годинник.
- Кнопка приховування/показу панелі. У Xfce відсутня, але з контекстного меню панелі, у вікні команди Налаштувати панель, можна встановити автоприховування панелі.
- Кошик (засіб тимчасового зберігання вилучених файлів). У Xfce по замовчуванню відсутня, але може бути додана з контекстного меню панелі.
Всі зміни в файлової системі можна проводити за допомогою стандартних утиліт командного рядка, проте багато користувачів звикли оперувати з файлами і каталогами як з наочними штучними об'єктами (папками і документами), вони можуть вибрати для себе програму, яка дозволяє наочно і поштучно працювати з об'єктами файлової системи - диспетчер файлів (file manager). Оскільки уявлення файлів і каталогів як папок і документів потрібно в першу чергу в рамках метафори робочого столу, то і диспетчери файлів для Linux розробляються в першу чергу як додатки тієї чи іншої середовища робочого столу. Зокрема, і в KDE, і в GNOME є свої диспетчери файлів - konquеror і nautilus відповідно, які за сумісництвом є www - броузерами. Таке поєднання функцій цілком логічно, оскільки в середовищі робочого стола потрібно представляти доступні локальні і віддалені ресурси як єдиний простір, наповнене об'єктами, якими можна маніпулювати, можна "відкривати", тобто запускати відповідний додаток для перегляду і / або редагування.
Для багатьох користувачів найбільш зручний спосіб роботи з файловою системою - "класичний" двохпанельний диспетчер файлів, що працює в текстовому режимі (у терміналі) - Midnight Commander (назва утиліти - mc). Його функціональність також ширше просто операцій з файлами - він дозволяє відкривати файли для перегляду і редагування, викликати допоміжні програми для роботи з архівами (і навіть " заходити " в архіви, як в каталоги), передавати дані по мережі і т. п. Midnight Commander має також непоганий вбудований текстовий редактор "класичного" стилю.
В середовищі mc так само зручно, як і в повноцінної командному рядку. Крім того, при роботі з графічними файлами не вистачає подання цих файлів у вигляді мініатюр (thumbnails), щоб вибирати серед них по вмісту, а не тільки по імені. Такими можливостями володіють численні графічні диспетчери файлів; крім тих, що включені до середовища KDE і GNOMe, є безліч незалежних: dfm (схожий на диспетчер файлів OS/2), emelFM2, EZFM і X Northern Captain, gentoo і worker (двохпанельний, в стилі диспетчера файлів DirectoryOpus з AmigaOS), FSV і XCruiser. Серед них зустрічаються і орієнтовані спеціально на перегляд зображень, такі як GQView, endeavour, gview, qiv, xzgv і деякі інші, - з можливостями слайд-шоу, автоматичної зміни розміру, показу картинки на повний екран і т. п.
Навіть для такої на перший погляд тривіальної функції, як емуляція терміналу для X Window System існує ціле коло програм. Сама стандартна з них поставляється разом з XOrg - xterm.
Варіант xterm, що підтримує відображення шрифтів в кодуванні UNICODE, викликається командою uxterm. Однак кожен додаток, що організує середу робочого столу, включає власний емулятор терміналу, зовнішній вигляд і поведінка якого налаштовується централізовано разом з усіма іншими додатками робочого столу. Є й інші емулятори терміналу, не пов'язані з конкретним робочим столом, до таких належить 9term, що повторює можливості «вікна» системи Plan9, mlterm, що має багатомовну підтримку, rxvt - дуже невимогливий до ресурсів емулятор терміналу, або його нащадки, на зразок aterm.
Велика кількість термінальних вікон на робочому столі може утворитися, навіть якщо розкладати їх по різних віртуальним екранам. Деякі версії xterm (наприклад, konsole), дозволяють відкривати вікна «стопками», перемикаючись між ними за допомогою «закладок», як в записній книжці.
WWW - броузер - програма для перегляду гіпертексту, доступного через Internet - на сьогодні чи не найважливіше додаток для персонального комп'ютера. Сьогоднішній www - броузер повинен «уміти» набагато більше, ніж просто відображати сторінки HTML і переходити за гіперпосиланнями. Фактично, на нього лягає завдання роботи даними Internet у всьому їх різноманітті, сюди входить і підтримка постійно розвиваються стандартів, та забезпечення безпеки, і багато іншого.
У Linux є досить великий вибір www - броузерів, однак першим справді сучасним вільним додатком для роботи з Internet у всьому його різноманітті став програмний продукт Mozilla Suite. Найменування " Mozilla " незабаром відійшло компанії розробнику Mozilla Corporation і всій лінійці програмних продуктів, що розробляються в ній. Спадкоємець Mozilla Suite - Mozilla Seamonkey - досі цілком успішно конкурує з аналогічними комерційними програмами, незважаючи на успішний розвиток ідеологію " три в одному". Seamonkey - пакет програм для роботи з Інтернетом. Це потужний, насичений функціями комунікаційний центр для персонального комп'ютера. До складу пакету входить броузер програма для роботи з електронною поштою і редактор www - сторінок.
Історія Mozilla почалася в 1998 році, коли фірма Netscape опублікувала вихідні тексти свого броузера Netscape Navigator.
Одне з важливих властивостей пакета Mozilla - його принципова розширюваність. У Mozilla реалізований мову XUL на основі XML, за допомогою якого дуже легко розробляти додаткові компоненти Mozilla, орієнтовані на виконання спеціальних функцій.
Більш сучасним є FireFox, що розробляється командою Mozilla на основі вихідних кодів, відповідних тільки WWW- броузеру. Інша частина FireFox написана повністю на XUL, тому розробка цієї молодої програми йде істотно бадьоріше і простіше, її настройка вважається самою гнучкою серед www - броузерів, а головне, будь-хто може написати на високорівневих мовах програмування XUL / JavaScript і опублікувати свій модуль розширення (т. н. plugin; на сьогодні таких модулів відомо понад півтораста).
Про www - броузери, розроблені спеціально для тієї чи іншої середовища робочого столу, вже йшла мова вище (вони чудово справляються з роллю файлових диспетчерів). Важливий різновид www - броузерів - текстові броузери, тобто ті, які можуть бути запущені в будь-якому текстовому терміналі Linux. Самий старий і відомий з них, один із прототипів сучасних www - броузерів - Lynx. Він не має можливості відображати графічну інформацію, але відмінно підтримує HTML, форми і таблиці. Сучасні версії підтримують також з'єднання, захищені за допомогою SSL. Links - це текстовий броузер, на перший погляд дуже схожий на Lynx, але все ж дещо відрізняється від нього:
- умінням працювати з таблицями і фреймами;
- відображенням кольорів, зазначених в HTML- сторінці;
- використанням випадаючих меню (як в Midnight Commander);
- можливістю завантаження файлів у фоновому режимі.
Крім можливості перегляду WWW- сторінок часто випадає необхідність їх «скачування», тобто записи в файл. Це ж відноситься і до ресурсів, доступним по протоколу FTP. Всі описані вище броузери здатні записувати HTTP - і FTP -ресурс в файл, але для зручної роботи з командного рядка вони непридатні. Крім старої і вельми простої утиліти ftp, є два її потужних розширення: lftp і wget. Обидві утиліти підтримують як FTP, так і HTTP, причому lftp може працювати, як і ftp, в режимі «оболонки », а wget призначена саме для роботи з командного рядка. Якщо при отриманні файлів з якогось сервера або групи серверів необхідно описувати безліч винятків (щоб не скачати зайвого), виконувати якісь дії (наприклад, заповнювати форми або виконувати java - сценарії), можна скористатися більш складними програмами pavuk або httrack.