Куток

Обкладинка для допису Що таке пакети в Linux, і чому в Windows не так?
FreeNux
FreeNux

Додано

Що таке пакети в Linux, і чому в Windows не так?

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

Що таке пакети і пакетний менеджер?

Пакет - це, по суті, архів з виконуючим файлом (exe в Windows). Також, там описуються правила запуску, спеціальні файли і тд. Можна порівняти з тим, як ви встановили програму в Windows і в її файлах багато різних незрозумілих тек та файлів. Керує цим усім пакетний менеджер, який може встановлювати, запускати, видаляти та оновлювати усі пакети.

Ви спитаєте: “А навіщо це все, якщо можна зробити exe, як в Windows?“. Ну, дивіться. Пакетний менеджер також встановлює залежності для цих самих пакетів (те без чого ваша програма не буде працювати). І уявіть є Firefox, і є LibreOffice, вони використовують одні і ті самі залежності, а усі такі залежності разом важать, наприклад 15мб. В Windows кожна така програма має дублікати таких залежностей. І от замість того щоб FireFox і LibreOffice разом займали, наприклад 240мб, в Windows будуть займати 350мб. В той час як в Linux Firefox і LibreOffice будуть використовувати одну і ту саму залежність, не роблячи дублікатів. Також пакети мають в собі різну інформацію. Назва, версія, розробник, тип і т.д. Можливо, це все здається складним, але насправді дуже спрощує керування системою (тому Windows і може займати половину диска).

Як було раніше і як зараз?

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

Плюси Пакетів

Основним з плюсів пакетів є те, що вони роблять усе за вас. Вам вже навіть не треба завантажувати самому файли пакетів. Ви вводите команду і усе роблять за вас. В Windows, наприклад, треба самому, окремо, завантажувати DirectX і Microsoft Visual C++. Ще один плюс що вони можуть не створювати копії залежностей (про що ми писали вище), а використовувати одну і ту саму, і не роздувати розмір системи до неймовірних масштабів. Ще для того щоб щось встановити вам потрібен пароль. Якщо молокосос маминої подруги захоче вам накачати 100 ігр і 200 вірусів - у нього це просто не вийде)

Проблема Пакетів

Однією з проблем пакетів є те, що вони не універсальні. Ви не можете використати пакети з Debian в Arch Linux (Тільки якщо ви встановите спеціальні утиліти). Кожен дистрибутив робить свої пакетні менеджери, що ускладнює розробку програм. Так, є дистрибутиви, наприклад, на основі Debian, і вони будуть використовувати пакетний менеджер Debian. Але ж і є такі як Arch Solus, які використовують свої. А тепер уявіть, що розробникам програмного забезпечення треба робити одну програму для 3 різних пакетних менеджерів. Ще проблема в тому, що вони не схожі. У кожного по-різному усе працює, і виробникам треба під все це підлаштовуватись. Плюс треба пам’ятати, що є популярні пакетні менеджери і не дуже. Тому більшість програм, в першу чергу, будуть націлені на популярні. Саме тому, в деяких пакетних менеджерах люди самі усе пакують, і компанія, котра розробляє цю програму, не має ніякого контролю, наприклад, в пакетному менеджері Arch Linux.

Повернемося до проблеми різної роботи різних пакетних менеджерів. Дуже яскраво це помітно в Fedora. Там усе працює дуже повільно. Тобто той же Firefox буде встановлюватись 2хв в той час як на Arch Linux 45-50 секунд. І така різниця не дуже добре впливає на користувачів. Десь пакетів багато, але там усе повільно працює, десь мало, але дуже швидко. Це також відноситься до того, що кожен пакетний менеджер має свою базу даних пакетів, тому в якомусь з них може не бути якоїсь програми.

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

Вирішення Проблеми

Ви не повірите, але є рішення. Називається воно Flatpak. Він надає те, що потрібно було робити одразу. Він працює усюди і однаково. Також він має вже дуже велику базу пакетів. До того ж, ті ж самі компанії вже в першу чергу розраховані на нього, тому з кожним разом в Linux стає усе менше проблем з програмами. При цьому всьому Flatpak працює досить швидко і стабільно. Flatpak - це світло пакетних менеджерів. Настільки, що навіть Valve використовує його в Steam OS. Загалом, якщо ви не хочете мучатись з пакетними менеджерами, то встановлюйте його в своєму дистрибутиві та забудьте про всі проблеми. А, ну і пароль не потребує під час встановлення)

Висновок

Можливо, на початку це все здається складним, але як ми і казали, нічого подібного. Пакети це доволі легка тема, незважаючи на проблеми, котрі вирішує тільки Flatpak. При цьому пакети роблять життя трішки простіше і не роздувають розмір системи до неймовірних розмірів.

Спільнота

Топ коментарі (8)

Звернути
 
kitepz profile image
Повітряний Змій

"Можливо, це все здається складним, але насправді дуже спрощує керування системою" о так, дуже просто, коли замість одного exe-формату у тебе на вибір flatpak, snap, appimage, магазин додатків твого дистрибутива, і всі вони кайнд оф конкурують між собою, а коли ти нарешті зупиняєшся на одному і качаєш потрібну програму, то вона виявляється забагованою сракою, тому що чел, який її збирав і заливав, трошки кривий. у мене Telegram з Flatpak, біля якого при скачуванні стояла галочка, що це офіційно залита роздача, місяць не було кнопки прискорення аудіо- і відеоповідомлень, тому що у чела при збірці не виявилось встановлено якихось потрібних для цього бібліотек. а також баг, що у версії зі snap. що у flatpak, коли ти хочеш перетягнути файл у діалог, і він вибиває помилку, але працює, якщо прикріпляти файл через значок скріпки. по ітогу я встановив телегу з якогось іншого ppa, і нарешті все встало як треба.

Звернути
 
freenux profile image
FreeNux

Ну у нас в команді використовують Arch Linux. Усі задоволені pacman. Ціль статті взагалі була пояснити що таке пакети. В деяких моментах пакети дійсно краще ніж в Windows. Ми згадуємо ці проблеми в статті.

Звернути
 
kitepz profile image
Повітряний Змій

сорі, особиста травма

Тред Тред
 
freenux profile image
FreeNux

Розуміємо. В пакетах є пробелми котрі впринципі фіксить flatpak, але не всі. В свій час стукнула сперма комусь у голову, і почали плодити

Звернути
 
sekerias profile image
Секеріас Червоне Око

В доповнення до статті хочу також відзначити, що на 'вікна' є пакетни менеджери.
Є в Microsot Store під назвою Winget, а також, більш привабливий на мою думку, Choco (chocolatey.org/install).

Звернути
 
freenux profile image
FreeNux

Так, але то все одно трішки не то, що в Linux. Та і вже бачиме те, що на 'Вікнах' люди потрохи сідають на такі речі.

Звернути
 
sekerias profile image
Секеріас Червоне Око

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

Тред Тред
 
freenux profile image
FreeNux

один з членів команди "TitleChanQWERTY" настільки довго не сидів за вікнами, що коли поставив для тестів своїх проєктів, згадував як там що працює)

Куток

Підписуйтеся на наші соціальні мережі:
Telegram
Twitter
Facebook


Тепер у нас також є Youtube канал!