1.2 Урок 1
Сертифікат: |
Linux Essentials |
---|---|
Версія: |
1.6 |
Розділ: |
1 Спільнота Linux та кар’єра у світі програмного забезпечення з відкритим кодом |
Тема: |
1.2 Основні застосунки з відкритим кодом |
Урок: |
1 з 1 |
Вступ
Застосунок — це комп’ютерна програма, мета якої не пов’язана безпосередньо з внутрішньою роботою комп’ютера, а стосується завдань, що виконуються користувачем. Дистрибутиви Linux пропонують безліч варіантів застосунків для виконання різноманітних завдань, таких як офісні програми, веб-браузери, мультимедійні програвачі, редактори тощо. Часто існує більше ніж одна програма чи інструмент для виконання певної роботи. Користувач має вибрати програму, яка найкраще відповідає його потребам.
Програмні пакунки
Майже кожен дистрибутив Linux пропонує попередньо встановлений набір застосунків за замовчуванням. Окрім цих попередньо встановлених застосунків, у дистрибутиві є репозиторій пакунків з великою колекцією застосунків, доступних для встановлення через його менеджер пакунків. Хоча різні дистрибутиви пропонують приблизно однакові застосунки, для різних дистрибутивів існує кілька різних систем керування пакунками. Наприклад, Debian, Ubuntu та Linux Mint використовують інструменти dpkg
, apt-get
та apt
для встановлення програмних пакунків, які зазвичай називають DEB-пакунками. Такі дистрибутиви, як Red Hat, Fedora та CentOS, використовують замість них команди rpm
, yum
і dnf
, які, в свою чергу, встановлюють RPM-пакунки. Оскільки набір застосунків різний для кожного сімейства дистрибутивів, дуже важливо встановлювати пакунки з правильного репозиторію, розробленого для конкретного дистрибутиву. Кінцевому користувачеві, як правило, не потрібно турбуватися про ці деталі, оскільки менеджер пакунків дистрибутива вибирає правильні пакунки, необхідні залежності та майбутні оновлення. Залежності — це допоміжні пакунки, необхідні програмам. Наприклад, якщо бібліотека надає функції для роботи з зображеннями JPEG, які використовуються багатьма застосунками, ця бібліотека, швидше за все, упакована у власний пакунок, від якого залежать усі застосунки, що використовують бібліотеку.
Команди dpkg
та rpm
застосовуються до окремих файлів пакунків. На практиці майже всі дії з керування пакунками виконуються командами apt-get
або apt
в системах, що використовують пакети DEB, або yum
або dnf
в системах, що використовують пакунки RPM. Ці команди працюють з каталогами пакунків, можуть завантажувати нові пакунки та їх залежності та перевіряти наявність нових версій встановлених пакунків.
Встановлення пакунків
Припустимо, ви чули про команду під назвою figlet
, яка друкує збільшений текст в терміналі, і ви хочете спробувати її використати. Однак після виконання команди figlet
ви отримуєте таке повідомлення:
$ figlet -bash: figlet: command not found
Це, ймовірно, означає, що пакунок не встановлений у вашій системі. Якщо ваш дистрибутив працює з пакунками DEB, ви можете шукати в його репозиторіях за допомогою apt-cache search package_name
або apt search package_name
. Команда apt-cache
використовується для пошуку пакунків та переліку інформації про доступні пакунки. Наступна команда шукає випадки входження терміну “figlet” в імена та описи пакунків:
$ apt-cache search figlet figlet - Make large character ASCII banners out of ordinary text
Під час пошуку було виявлено пакунок figlet, який відповідає відсутній команді. Встановлення та видалення пакунку вимагають спеціальних дозволів, що надаються лише адміністратору системи: користувачеві з ім’ям root
. У настільних системах звичайні користувачі можуть встановлювати або видаляти пакети, додаючи команду sudo
до команд встановлення/видалення. Для цього потрібно буде ввести пароль. Для пакунків DEB установка виконується за допомогою команди apt-get install_name_name
або apt install name_name_
:
$ sudo apt-get install figlet Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: figlet 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
На цьому етапі пакунок буде завантажений та встановлений в системі. Будь-які залежності, які в свою чергу необхідні пакунку, також будуть завантажені та встановлені:
Need to get 184 kB of archives. After this operation, 741 kB of additional disk space will be used. Get:1 http://archive.raspbian.org/raspbian stretch/main armhf figlet armhf 2.2.5-2 [184 kB] Fetched 184 kB in 0s (213 kB/s) Selecting previously unselected package figlet. (Reading database ... 115701 files and directories currently installed.) Preparing to unpack .../figlet_2.2.5-2_armhf.deb ... Unpacking figlet (2.2.5-2) ... Setting up figlet (2.2.5-2) ... update-alternatives: using /usr/bin/figlet-figlet to provide /usr/bin/figlet (figlet) in auto mode Processing triggers for man-db (2.7.6.1-2) ...
Після завершення завантаження всі файли копіюються у відповідні місця, виконуються необхідні додаткові налаштування, і команда стає доступною:
$ figlet Awesome! _ _ / \__ _____ ___ ___ _ __ ___ ___| | / _ \ \ /\ / / _ \/ __|/ _ \| '_ ` _ \ / _ \ | / ___ \ V V / __/\__ \ (_) | | | | | | __/_| /_/ \_\_/\_/ \___||___/\___/|_| |_| |_|\___(_)
У дистрибутивах на основі пакетів RPM пошук здійснюється за допомогою yum search package_name
або dnf search package_name
. Скажімо, ви хочете відобразити якийсь текст більш оригінальним чином, за яким слідує малюнок корови, але ви не впевнені в пакунку, який може виконати це завдання. Як і у випадку з пакетами DEB, команди пошуку RPM приймають ключові слова для пошуку:
$ yum search speaking cow Last metadata expiration check: 1:30:49 ago on Tue 23 Apr 2019 11:02:33 PM -03. ==================== Name & Summary Matched: speaking, cow ==================== cowsay.noarch : Configurable speaking/thinking cow
Знайшовши відповідний пакунок у репозиторії, його можна встановити за допомогою команди yum install package_name
або dnf install package_name
:
$ sudo yum install cowsay Last metadata expiration check: 2:41:02 ago on Tue 23 Apr 2019 11:02:33 PM -03. Dependencies resolved. ============================================================================== Package Arch Version Repository Size ============================================================================== Installing: cowsay noarch 3.04-10.fc28 fedora 46 k Transaction Summary ============================================================================== Install 1 Package Total download size: 46 k Installed size: 76 k Is this ok [y/N]: y
У разі погодження бажаний пакунок та всі можливі залежності будуть завантажені та встановлені:
Downloading Packages: cowsay-3.04-10.fc28.noarch.rpm 490 kB/s | 46 kB 00:00 ============================================================================== Total 53 kB/s | 46 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : cowsay-3.04-10.fc28.noarch 1/1 Running scriptlet: cowsay-3.04-10.fc28.noarch 1/1 Verifying : cowsay-3.04-10.fc28.noarch 1/1 Installed: cowsay.noarch 3.04-10.fc28 Complete!
Команда cowsay
робить саме те, що означає її назва:
$ cowsay "Brought to you by yum" _______________________ < Brought to you by yum > ----------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
Хоча ці застосунки здаються зайвими, команди figlet
та cowsay
забезпечують спосіб привернути увагу інших користувачів до відповідної інформації.
Видалення пакунків
Ті самі команди, що використовуються для встановлення пакунків, використовуються для їх видалення. Усі команди приймають ключове слово remove
, щоб видалити встановлений пакунок:` apt-get remove_name_name` або apt remove_name_name
для DEB-пакетів і` yum remove package_name` або dnf remove_name_name
для пакунків RPM. Для виконання видалення також потрібна команда sudo
. Наприклад, щоб видалити раніше встановлений пакунок figlet з дистрибутива на базі DEB:
$ sudo apt-get remove figlet Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: figlet 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 741 kB disk space will be freed. Do you want to continue? [Y/n] Y
Після підтвердження операції пакунок видаляється з системи:
(Reading database ... 115775 files and directories currently installed.) Removing figlet (2.2.5-2) ... Processing triggers for man-db (2.7.6.1-2) ...
Подібна процедура виконується в системі на основі RPM. Наприклад, щоб видалити раніше встановлений пакунок cowsay з дистрибутива на основі RPM:
$ sudo yum remove cowsay Dependencies resolved. ================================================================================== Package Arch Version Repository Size ================================================================================== Removing: cowsay noarch 3.04-10.fc28 @fedora 76 k Transaction Summary ================================================================================== Remove 1 Package Freed space: 76 k Is this ok [y/N]: y
Так само необхідне підтвердження і пакунок видаляється з системи:
Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Erasing : cowsay-3.04-10.fc28.noarch 1/1 Running scriptlet: cowsay-3.04-10.fc28.noarch 1/1 Verifying : cowsay-3.04-10.fc28.noarch 1/1 Removed: cowsay.noarch 3.04-10.fc28 Complete!
Файли конфігурації видалених пакунків зберігаються в системі, тому їх можна використовувати знову, якщо пакет буде встановлено ще раз в майбутньому.
Офісні застосунки
Офісні застосунки використовуються для редагування таких файлів, як тексти, презентації, електронні таблиці та інші документи, які зазвичай використовуються в офісному середовищі. Ці застосунки зазвичай організовані в колекції, що називаються офісні пакунки.
Довгий час офісним пакунком, який найбільше використовувався в Linux, був пакунок OpenOffice.org. OpenOffice.org — це версія з відкритим кодом StarOffice suite, випущена Sun Microsystems. Кілька років по тому Sun було придбано компанією Oracle Corporation, яка, в свою чергу, передала проект Apache Foundation, а OpenOffice.org було перейменовано на Apache OpenOffice. Тим часом Document Foundation випустив ще один офісний пакет на основі того самого вихідного коду, що має назву LibreOffice.
Два проекти мають однакові основні функції та сумісні з форматами документів від Microsoft Office. Однак кращим форматом документа є Open Document Format, повністю відкритий і стандартизований ISO-формат файлу. Використання файлів ODF забезпечує можливість передачі документів між операційними системами та застосунками від різних постачальників, таких як Microsoft Office. Основними застосунками, які пропонує OpenOffice / LibreOffice, є:
- Writer
-
Текстовий редактор
- Calc
-
Електронні таблиці
- Impress
-
Презентації
- Draw
-
Векторний графічний редактор
- Math
-
Математичні формули
- Base
-
Бази даних
Як LibreOffice, так і Apache OpenOffice є програмним забезпеченням з відкритим вихідним кодом, але LibreOffice ліцензовано під LGPLv3, а Apache OpenOffice — під ліцензією Apache 2.0. Відмінність ліцензування означає, що LibreOffice може включати вдосконалення, внесені Apache OpenOffice, але Apache OpenOffice не може включати вдосконалення, зроблені LibreOffice. Саме це та більш активна спільнота розробників є причиною того, що більшість дистрибутивів використовують LibreOffice як стандартний офісний пакет.
Веб-браузери
Для більшості користувачів головне призначення комп’ютера — забезпечити доступ до Інтернету. В даний час веб-сторінки можуть виступати як повнофункціональний застосунок, з перевагою доступності з будь-якого місця, без необхідності встановлення додаткового програмного забезпечення. Це робить веб-браузер найважливішим застосунокм операційної системи, принаймні для пересічного користувача.
Tip
|
Одним з найкращих джерел для вивчення веб-розробки є веб-документи MDN, доступні за посиланням https://developer.mozilla.org/. Веб-сайт, який підтримується Mozilla, наповнений навчальними посібниками для початківців та довідковими матеріалами з більшості сучасних веб-технологій. |
Основними веб-браузерами в середовищі Linux є Google Chrome та Mozilla Firefox. Chrome — це веб-браузер, який підтримується Google, але заснований на браузері з відкритим кодом Chromium, який можна встановити за допомогою диспетчера пакунків дистрибутива, і він є повністю сумісний з Chrome. Firefox, який підтримується Mozilla, некомерційною організацією, є браузером, походження якого пов’язане з Netscape, першим популярним веб-браузером, який прийняв модель з відкритим кодом. Mozilla Foundation дуже зацікавлені у розробці відкритих стандартів, що лежать в основі сучасної мережі.
Mozilla також розробляє інші застосунки, такі як поштовий клієнт Thunderbird. Багато користувачів обирають використання поштових веб-клієнтів замість спеціальної програми електронної пошти, але такий клієнт, як Thunderbird, пропонує додаткові функції та найкраще інтегрується з іншими застосунками на робочому столі.
Мультимедіa
У порівнянні з наявними веб-застосунками, настільні застосунки все ще є найкращим варіантом для створення мультимедійного вмісту. Мультимедійні операції, такі як візуалізація відео, часто вимагають великих обсягів системних ресурсів, якими найкраще керує локальний настільний застосунок. Нижче наведено деякі найпопулярніші мультимедійні застосунки для середовища Linux та їх використання.
- Blender
-
3D-візуалізатор для створення анімації. За допомогою Blender також можна експортувати тривимірні об’єкти для друку на 3D-принтері.
- GIMP
-
Повнофункціональний редактор зображень, який можна порівняти з Adobe Photoshop, але він має власні концепції та інструменти для роботи із зображеннями. GIMP можна використовувати для створення, редагування та збереження більшості растрових файлів, таких як JPEG, PNG, GIF, TIFF та багатьох інших.
- Inkscape
-
Редактор векторної графіки, подібний до Corel Draw або Adobe Illustrator. Типовим форматом Inkscape є SVG, що є відкритим стандартом для векторної графіки. Файли SVG можуть відкриватися будь-яким веб-браузером, і, завдяки своїй векторності, його можна використовувати в гнучких макетах веб-сторінок.
- Audacity
-
Звуковий редактор. Audacity можна використовувати для фільтрації, застосування ефектів та конвертації між різними аудіоформатами, такими як MP3, WAV, OGG, FLAC тощо.
- ImageMagick
-
ImageMagick — це інструмент командного рядка для перетворення та редагування більшості типів файлів зображень. Він також може бути використаний для створення PDF-файлів із файлів зображень і навпаки.
Є також багато програм, які відтворюють мультимедіа. Найпопулярнішим застосунком для відтворення відео є VLC, але деякі користувачі віддають перевагу іншим альтернативам, таким як smplayer. Для локального програвання музики є такі програвачі як Audacious, Banshee та Amarok, які також можуть керувати колекцією локальних звукових файлів.
Серверні застосунки
Коли веб-браузер завантажує сторінку з веб-сайту, він фактично підключається до віддаленого комп’ютера та запитує конкретну інформацію. У цьому випадку комп’ютер, на якому запущений веб-браузер, називається клієнт, а віддалений комп’ютер називається сервер.
Сервер, який може бути звичайним настільним комп’ютером або спеціалізованим обладнанням, потребує спеціальної програми для управління кожним типом інформації, яку він буде надавати. Що стосується обслуговування веб-сторінок, то більшість серверів у всьому світі розгортають серверні програми з відкритим кодом. Ця конкретна серверна програма називається HTTP server (HTTP означає Hyper Text Transfer Protocol), а найпопулярнішими є Apache, Nginx та lighttpd.
Навіть прості веб-сторінки можуть вимагати багато запитів, які можуть бути звичайними файлами — так званими статичними сторінками — або мати динамічний зміст, що відображається з різних джерел. Роль сервера HTTP — збирати та надсилати всі дані, що запитуються, назад до браузера, який потім упорядковує вміст, як визначено отриманим документом HTML (HTML означає Hyper Text Markup Language) та іншими допоміжними файлами. Отже, візуалізація веб-сторінки включає операції, що виконуються на стороні сервера, і операції, що виконуються на стороні клієнта. Обидві сторони можуть використовувати власні сценарії для виконання конкретних завдань. На стороні сервера HTTP досить часто використовується мова сценаріїв PHP. JavaScript — це мова сценаріїв, що використовується на стороні клієнта (веб-браузер).
Серверні застосунки можуть надавати будь-яку інформацію. Нерідкі випадки, коли серверний застосунок запитує інформацію, що надається іншими серверними застосунками. Це той випадок, коли сервер HTTP вимагає інформацію, яку надає сервер баз даних.
Наприклад, коли запитується динамічна сторінка, сервер HTTP зазвичай запитує базу даних, щоб зібрати всю необхідну інформацію, і відправляє динамічний вміст назад клієнту. Подібним чином, коли користувач реєструється на веб-сайті, сервер HTTP збирає дані, надіслані клієнтом, і зберігає їх у базі даних.
База даних — це організований набір інформації. Сервер баз даних зберігає вміст у форматованому вигляді, що дозволяє надійно та з великою швидкістю читати, записувати та зв’язувати великі обсяги даних. Сервери баз даних з відкритим кодом використовуються у багатьох застосунках, а не тільки в Інтернеті. Навіть локальні програми можуть зберігати дані, підключаючись до локального сервера баз даних. Найбільш поширеним типом бази даних є реляційна база даних, де дані впорядковані за попередньо визначеними таблицями. Найпопулярнішими реляційними базами даних з відкритим кодом є MariaDB (походить від MySQL) та PostgreSQL.
Обмін даними
У локальних мережах, таких як ті, що знаходяться в офісах та будинках, бажано, щоб комп’ютери не тільки мали можливість отримати доступ до Інтернету, але й мали можливість обмінюватися інформацією між собою. Іноді комп’ютер виступає в ролі сервера, іноді той самий комп’ютер діє як клієнт. Це необхідно, коли ви хочете отримати доступ до файлів на іншому комп’ютері в мережі — наприклад, отримати доступ до файлу, що зберігається на настільному комп’ютері з портативного пристрою — не використовуючи копіювання його на USB-накопичувач тощо.
Між машинами Linux часто використовується NFS (Network File System). Протокол NFS — це стандартний спосіб спільного використання файлових систем у мережах, обладнаних лише комп’ютерами з Unix/Linux. За допомогою NFS комп’ютер може обмінюватися одним або декількома своїми каталогами з певними комп’ютерами в мережі, щоб вони могли читати та писати файли в цих каталогах. NFS можна навіть використовувати для спільного використання всього дерева каталогів операційної системи з клієнтами, які використовуватимуть його для завантаження. Ці комп’ютери, які називаються тонкими клієнтами, в основному часто використовуються у великих мережах, щоб уникнути обслуговування кожної окремої операційної системи на кожному комп’ютері.
Якщо до мережі приєднані інші типи операційних систем, рекомендується використовувати протокол обміну даними, який зрозумілий для всіх. Цю вимогу виконує Samba. Samba реалізує протокол обміну файлами по мережі, спочатку створений для операційної системи Windows, але сьогодні сумісний з усіма основними операційними системами. За допомогою Samba комп’ютери в локальній мережі можуть не тільки обмінюватися файлами, але й надавати доступ до принтерів.
У деяких локальних мережах авторизація, що забезпечується при вході на робочу станцію, надається центральним сервером, він називається контролер домену, який керує доступом до різних локальних та віддалених ресурсів. Контролер домену — це послуга, що надається корпорацією Майкрософт Active Directory. Робочі станції Linux можуть асоціюватися з контролером домену за допомогою Samba або підсистеми автентифікації під назвою SSSD. Починаючи з версії 4, Samba також може працювати як контролер домену в неоднорідних мережах.
Якщо метою є впровадження рішення для хмарних обчислень, здатного забезпечити різні методи веб-обміну даними, слід розглянути дві альтернативи: ownCloud та Nextcloud. Два проєкти дуже схожі, оскільки Nextcloud — це виділення власного Cloud, що не є незвичайним серед проєктів з відкритим кодом. Такі виділення зазвичай називають fork. Обидва вони мають однакові основні функції: обмін файлами та синхронізація, спільні робочі області, календар, контакти та пошта, все через настільні, мобільні та веб-інтерфейси. Nextcloud також забезпечує приватні аудіо/відеоконференції, тоді як ownCloud більше зосереджений на спільному використанні файлів та інтеграції зі стороннім програмним забезпеченням. Багато інших функцій пропонуються як плагіни, які можна активувати пізніше за необхідністю.
Як ownCloud, так і Nextcloud пропонують платну версію з додатковими функціями та розширеною підтримкою. Від інших комерційних рішень вони відрізняються можливістю безкоштовно встановити Nextcloud або ownCloud на приватному сервері, уникаючи збереження конфіденційних даних на невідомому сервері. Оскільки всі служби залежать від зв’язку HTTP і написані на PHP, установка повинна виконуватися на попередньо налаштованому веб-сервері, наприклад Apache. Якщо ви розглядаєте можливість встановлення ownCloud або Nextcloud на своєму власному сервері, не забудьте також увімкнути HTTPS для шифрування всіх підключень до вашої хмари.
Мережеве адміністрування
Зв’язок між комп’ютерами можливий, лише якщо мережа працює належним чином. Зазвичай конфігурація мережі виконується набором застосунків, що працюють на маршрутизаторі, відповідальних за налаштування та перевірку доступності мережі. Для цього використовуються дві основні мережеві служби: DHCP (Dynamic Host Configuration Protocol) і DNS (Domain Name System).
DHCP відповідає за призначення IP-адреси хосту при підключенні мережевого кабелю або при вході пристрою до бездротової мережі. При підключенні до Інтернету DHCP-сервер провайдера надає IP-адресу пристрою, який її запитує. Сервер DHCP дуже корисний і в локальних мережах для автоматичного надання IP-адрес усім підключеним пристроям. Якщо DHCP не налаштовано або він працює неправильно, потрібно буде вручну налаштувати IP-адресу кожного пристрою, підключеного до мережі. Недоцільно вручну встановлювати IP-адреси у великих мережах або навіть у малих мережах, тому більшість мережевих маршрутизаторів постачаються із сервером DHCP, попередньо налаштованим за замовчуванням.
IP-адреса необхідна для зв’язку з іншим пристроєм в IP-мережі, але доменні імена, такі як www.lpi.org
, краще запам’ятовуються, ніж адреса, наприклад 203.0.113.165
. Однак самого доменного імені недостатньо для встановлення зв’язку через мережу. Ось чому доменне ім’я потрібно перевести на IP-адресу за допомогою DNS-сервера. IP-адресу DNS-сервера надає DHCP-сервер провайдера, і потім він використовується усіма підключеними системами для перекладу доменних імен на IP-адреси.
Як налаштування DHCP, так і DNS можна змінити, використовуючи веб-інтерфейс, наданий маршрутизатором. Наприклад, можна обмежити призначення IP лише відомим пристроям або прив’язати фіксовану IP-адресу до певних комп’ютерів. Також можна змінити DNS-сервер за замовчуванням, наданий провайдером. Деякі сторонні сервери DNS, як ті, що надаються Google або OpenDNS, іноді можуть надавати швидші відповіді та додаткові функції.
Мови програмування
Усі комп’ютерні застосунки (клієнтські та серверні застосунки, настільні застосунки та сама операційна система) створені з використанням однієї або декількох мов програмування. Застосунки можуть бути одним файлом або складною системою із сотень файлів, яку операційна система розглядає як послідовність команд, що інтерпретується та виконується процесором та іншими пристроями.
Існує велика кількість мов програмування для самих різних цілей, і системи Linux надають їх багато. Оскільки програмне забезпечення з відкритим кодом також містить вихідний код застосунків, системи Linux пропонують розробникам ідеальні умови для розуміння, модифікації або створення програмного забезпечення відповідно до власних потреб.
Кожна програма починається як текстовий файл, який називається початковий код. Цей початковий код написаний більш-менш зручною для людини мовою, що описує те, що робить програма. Комп’ютерний процесор не може безпосередньо виконати цей код. Отже, в компільованих мовах початковий код перетворюється на двійковий файл, який потім може виконуватися комп’ютером. Програма під назвою компілятор відповідає за перетворення вихідного коду у виконувану форму. Оскільки скомпільований двійковий файл є специфічним для одного типу процесора, можливо, програму доведеться повторно скомпілювати для запуску на комп’ютері іншого типу.
В інтерпретованих мовах програму не потрібно попередньо компілювати. Натомість інтерпретатор читає вихідний код і виконує його інструкції кожного разу, коли запускається програма. Це робить розробку простішою та швидшою, але в той же час інтерпретовані програми, як правило, працюють повільніше, ніж скомпільовані програми.
Ось деякі найбільш популярні мови програмування:
- JavaScript
-
JavaScript — це мова програмування, яка в основному використовується на веб-сторінках. За своїм походженням програми JavaScript були дуже простими, як процедури перевірки форми. На сьогоднішній день JavaScript вважається першокласною мовою і використовується для створення дуже складних застосунків не тільки в Інтернеті, але і на серверах та мобільних пристроях.
- C
-
Мова програмування C тісно пов’язана з операційними системами, зокрема Unix, але вона використовується для написання будь-якої програми майже для будь-якого типу пристрою. Великими перевагами C є гнучкість і швидкість. Один і той же вихідний код, написаний мовою C, може бути скомпільований для роботи на різних платформах та операційних системах, і потребує незначних змін або взагалі не змінюється. Однак після компіляції програма буде працювати лише у цільовій системі.
- Java
-
Основним аспектом Java є те, що застосунки, написані цією мовою, є портативними, а це означає, що один і той же застосунок може виконуватися в різних операційних системах. Незважаючи на назву, Java не пов’язана з JavaScript.
- Perl
-
Perl — це мова програмування, яка найбільш часто використовується для обробки текстового вмісту. Вона має потужні інструменти для роботи з регулярними виразами, що робить Perl мовою, придатною для фільтрації та синтаксичного аналізу тексту.
- Shell
-
Оболонка, зокрема оболонка Bash, є не просто мовою програмування, а інтерактивним інтерфейсом для запуску інших програм. Програми оболонки, відомі як скрипти оболонки, можуть автоматизувати складні завдання або завдання, що повторюються, в середовищі командного рядка.
- Python
-
Python — дуже популярна мова програмування серед студентів та професіоналів, які безпосередньо не займаються комп’ютерними науками. Маючи розширені функції, Python — це хороший спосіб розпочати вивчення програмування за його простий у використанні підхід.
- PHP
-
PHP найчастіше використовується як серверна мова сценаріїв генерації вмісту для Інтернету. Більшість веб-сторінок HTML — це не статичні файли, а динамічні сторінки, згенеровані сервером з різних джерел, таких як бази даних. Програми PHP — іноді їх просто називають PHP-сторінками або PHP-скриптами — часто використовують для створення такого типу вмісту. Термін LAMP походить від поєднання операційної системи Linux, HTTP-сервера Apache, бази даних MySQL (або MariaDB) та програмування на PHP. Сервери LAMP — це дуже популярне рішення для роботи веб-серверів. Окрім PHP, усі описані раніше мови програмування також можуть бути використані для реалізації таких програм.
C та Java — це компільовані мови. Для виконання системою вихідний код, написаний мовою C, перетворюється на двійковий машинний код, тоді як вихідний код Java перетворюється на байткод, який виконується в спеціальному програмному середовищі, що називається Java Virtual Machine. JavaScript, Perl, сценарій оболонки, Python та PHP — це все інтерпретовані мови, які також називаються скриптові мови.
Вправи до посібника
-
Для кожної з наступних команд визначте, чи пов’язана вона з debian-системою пакунків чи з системою пакунків Red Hat:
dpkg
rpm
apt-get
yum
dnf
-
Яку команду можна використати для встановлення Blender на Ubuntu? Після встановлення як можна виконати програму?
-
Яку програму з набору LibreOffice можна використовувати для роботи з електронними таблицями?
-
Який веб-браузер з відкритим кодом використовується як основа для розробки Google Chrome?
-
SVG — це відкритий стандарт для векторної графіки. Який найпопулярніший застосунок для редагування файлів SVG в системах Linux?
-
Для кожного з наступних форматів файлів запишіть назву програми, яка зможе відкрити та відредагувати відповідний файл:
png
doc
xls
ppt
wav
-
Який програмний пакунок дозволяє обмінюватися файлами між машинами Linux та Windows через локальну мережу?
Дослідницькі вправи
-
Ви знаєте, що файли конфігурації зберігаються, навіть якщо пов’язаний пакунок видаляється із системи. Як ви могли б автоматично видалити пакет із назвою cups та його конфігураційні файли із системи на базі DEB?
-
Припустимо, у вас багато файлів зображень TIFF і ви хочете перетворити їх у JPEG. Який програмний пакет можна використати для перетворення цих файлів безпосередньо в командному рядку?
-
Який програмний пакунок потрібно встановити, щоб мати можливість відкривати документи Microsoft Word, надіслані вам користувачем Windows?
-
Щороку linuxquestions.org проводить опитування про найпопулярніші додатки Linux. Завітайте на https://www.linuxquestions.org/questions/2018-linuxquestions-org-members-choice-awards-128/ і дізнайтеся, які настільні додатки є найбільш популярними серед досвідчених користувачів Linux.
Підсумки
У цьому уроці ви дізналися про те:
-
Системи керування пакунками, що використовуються в основних дистрибутивах Linux
-
Застосунки з відкритим кодом, які можуть редагувати популярні формати файлів
-
Серверні застосунки, що лежать в основі багатьох важливих служб Інтернету та локальної мережі
-
Загальні мови програмування та їх використання
Відповіді до вправ посібника
-
Для кожної з наступних команд визначте, пов’язана вона із системою пакунків Debian чи _ системою пакунків Red Hat_:
dpkg
система пакунків Debian
rpm
система пакунків Red Hat
apt-get
система пакунків Debian
yum
система пакунків Red Hat
dnf
система пакунків Red Hat
-
Яку команду можна використати для встановлення Blender на Ubuntu? Як запустити програму після встановлення?
Команда
apt-get install blender
. Ім’я пакунку слід вказувати малими літерами. Програму можна виконати безпосередньо з терміналу за допомогою командиblender
або вибравши її в меню застосунків. -
Яку програму з набору LibreOffice можна використовувати для роботи з електронними таблицями?
Calc
-
Який веб-браузер з відкритим кодом використовується як основа для розробки Google Chrome?
Chromium
-
SVG — це відкритий стандарт для векторної графіки. Який найпопулярніший застосунок для редагування файлів SVG в системах Linux?
Inkscape
-
Для кожного з наступних форматів файлів запишіть назву програми, яка зможе відкрити та відредагувати відповідний файл:
png
Gimp
doc
LibreOffice Writer
xls
LibreOffice Calc
ppt
LibreOffice Impress
wav
Audacity
-
Який програмний пакунок дозволяє обмінюватися файлами між машинами Linux та Windows через локальну мережу?
Samba
Відповіді до дослідницьких вправ
-
Ви знаєте, що файли конфігурації зберігаються, навіть якщо пов’язаний пакунок видаляється із системи. Як ви могли б автоматично видалити пакет із назвою cups та його конфігураційні файли із системи на базі DEB?
apt-get purge cups
-
Припустимо, у вас багато файлів зображень TIFF і ви хочете перетворити їх у JPEG. Який програмний пакет можна використати для перетворення цих файлів безпосередньо в командному рядку?
ImageMagick
-
Який програмний пакунок потрібно встановити, щоб мати можливість відкривати документи Microsoft Word, надіслані вам користувачем Windows?
LibreOffice або OpenOffice
-
Щороку linuxquestions.org проводить опитування про найпопулярніші додатки Linux. Завітайте на https://www.linuxquestions.org/questions/2018-linuxquestions-org-members-choice-awards-128/ і дізнайтеся, які настільні додатки є найбільш популярними серед досвідчених користувачів Linux.
Браузер: Firefox. Поштовий клієнт: Thunderbird. Програвач медіа: VLC. Растровий графічний редактор: GIMP.