Linux Professional Institute Learning Logo.
Перехід до основного вмісту
  • Головна
    • Усі ресурси
    • LPI Навчальні матеріали
    • Стати дописувачем
    • Видавничі партнери
    • Cтати видавничим партнером
    • Про нас
    • FAQ
    • Дописувачі
    • Переклади
    • Контакти
  • LPI.org
3.1 Урок 1
Тема 1: Спільнота Linux та кар'єра у світі вільного програмного забезпечення
1.1 Розвиток Linux і популярні операційні системи
  • 1.1 Урок 1
1.2 Основні застосунки з відкритим кодом
  • 1.2 Урок 1
1.3 Відкрите програмне забезпечення та ліцензування
  • 1.3 Урок 1
1.4 ІКТ навички та робота в Linux
  • 1.4 Урок 1
Тема 2: Як знайти свій шлях у системі Linux
2.1 Основи командного рядку
  • 2.1 Урок 1
  • 2.1 Урок 2
2.2 Використання командного рядку для отримання допомоги
  • 2.2 Урок 1
2.3 Використання папок та перегляд списку файлів
  • 2.3 Урок 1
  • 2.3 Урок 2
2.4 Створення, переміщення та видалення файлів
  • 2.4 Урок 1
Тема 3: Потужність командного рядка
3.1 Архівація файлів через командний рядок
  • 3.1 Урок 1
3.2 Пошук та отримання даних з файлів
  • 3.2 Урок 1
  • 3.2 Урок 2
3.3 Перетворення команд у скрипт
  • 3.3 Урок 1
  • 3.3 Урок 2
Тема 4: Операційна система Linux
4.1 Вибір операційної системи
  • 4.1 Урок 1
4.2 Розуміння апаратного забезпечення комп'ютера
  • 4.2 Урок 1
4.3 Де зберігаються дані
  • 4.3 Урок 1
  • 4.3 Урок 2
4.4 Ваш комп'ютер у мережі
  • 4.4 Урок 1
Тема 5: Безпека та права доступу до файлів
5.1 Основи безпеки та визначення типів користувачів
  • 5.1 Урок 1
5.2 Створення користувачів та груп
  • 5.2 Урок 1
5.3 Керування дозволами та правами власності на файл
  • 5.3 Урок 1
5.4 Спеціальні папки та файли
  • 5.4 Урок 1
How to get certified
  1. Тема 3: Потужність командного рядка
  2. 3.1 Архівація файлів через командний рядок
  3. 3.1 Урок 1

3.1 Урок 1

Сертифікат:

Linux Essentials

Версія:

1.6

Розділ:

3 Потужність командного рядку

Тема:

3.1 Архівація файлів через командний рядок

Урок:

1 з 1

Вступ

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

Стиснення працює шляхом заміни повторюваних шаблонів у даних. Припустимо, у вас є роман. Деякі слова є надзвичайно поширеними, але мають кілька символів, наприклад слово “the”. Ви могли б значно зменшити розмір роману, якщо б замінили ці звичайні багатосимвольні слова та шаблони одним символом. Наприклад, замініть “the” на грецьку літеру, яка не використовується в інших місцях тексту. Алгоритми стиснення даних подібні до цього, але складніші.

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

Інструменти архівування використовуються для об’єднання файлів і каталогів в один файл. Деякі поширені види використання — резервне копіювання, пакетний вихідний код програмного забезпечення та збереження даних.

Архівування і стиснення зазвичай використовуються разом. Деякі інструменти архівування навіть стискають вміст за замовчуванням. Інші можуть стискати вміст за потреби. Щоб стиснути вміст, необхідно використовувати кілька інструментів архівування разом з окремими інструментами стиснення.

Найпоширенішим інструментом для архівування файлів у системах Linux є tar. Більшість дистрибутивів Linux постачаються з версією tar для GNU, тому в цьому уроці ми розглянемо саме його. tar сам по собі керує лише архівуванням файлів, але не стискає їх.

У Linux є багато інструментів стиснення. Деякі поширені інструменти стиснення без втрат – це bzip2, gzip та xz. Ви знайдете всі три у більшості систем. Ви можете зіткнутися зі старою або дуже мінімальною системою, де xz або bzip не встановлено. Якщо ви станете звичайним користувачем Linux, ви, ймовірно, зіткнетеся з файлами, стиснутими всіма трьома інструментами. Усі три використовують різні алгоритми, тому файл, стиснутий одним інструментом, не може бути розпакований іншим. Інструменти стиснення мають різні властивості. Якщо вам потрібен високий коефіцієнт стиснення, стиснення та розпакування файлу займе більше часу. Це пов’язано з тим, що для більш високого стиснення потрібно виконати більше роботи, щоб знайти більш складні шаблони. Усі ці інструменти стискають дані, але не можуть створювати архіви, що містять декілька файлів.

Окремі засоби стиснення зазвичай недоступні в системах Windows. Інструменти архівування та стиснення Windows зазвичай поєднуються разом. Пам’ятайте про це, якщо у вас є системи Linux та Windows, яким потрібно обмінюватися файлами.

Системи Linux також мають інструменти для роботи з файлами .zip, які зазвичай використовуються в системах Windows. Вони називаються zip і unzip. Ці інструменти не встановлюються за замовчуванням у всіх системах, тому, якщо вам потрібно їх використовувати, можливо, доведеться їх встановити. На щастя, вони зазвичай знаходяться в сховищах пакунків дистрибутивів.

Інструменти для стиснення даних

Скільки місця на диску заощаджується при стисканні файлів, залежить від кількох факторів. Характер даних, які ви стискаєте, алгоритм, який використовується для стиснення даних, і рівень стиснення. Не всі алгоритми підтримують різні рівні стиснення.

Почнемо з налаштування деяких тестових файлів для стиснення:

$ mkdir ~/linux_essentials-3.1
$ cd ~/linux_essentials-3.1
$ mkdir compression archiving
$ cd compression
$ cat /etc/* > bigfile 2> /dev/null

Тепер ми створимо три копії цього файлу:

$ cp bigfile bigfile2
$ cp bigfile bigfile3
$ cp bigfile bigfile4
$ ls -lh
total 2.8M
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile2
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile3
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile4

Тепер ми збираємося стиснути файли за допомогою кожного вищезгаданого інструменту стиснення:

$ bzip2 bigfile2
$ gzip bigfile3
$ xz bigfile4
$ ls -lh
total 1.2M
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile
-rw-r--r-- 1 emma emma 170K Jun 23 08:08 bigfile2.bz2
-rw-r--r-- 1 emma emma 179K Jun 23 08:08 bigfile3.gz
-rw-r--r-- 1 emma emma 144K Jun 23 08:08 bigfile4.xz

Порівняйте розміри стиснутих файлів із нестисненим файлом під назвою bigfile. Також зверніть увагу, як інструменти стиснення додали розширення до імен файлів і видалили нестиснені файли.

Використовуйте bunzip2, gunzip або unxz, щоб розпакувати файли:

$ bunzip2 bigfile2.bz2
$ gunzip bigfile3.gz
$ unxz bigfile4.xz
$ ls -lh
total 2.8M
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile2
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile3
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile4

Зверніть увагу ще раз, що тепер вже стиснутий файл видаляється після його розпакування.

Деякі інструменти стиснення підтримують різні рівні стиснення. Більш високий рівень стиснення зазвичай вимагає більше пам’яті та циклів ЦП, але призводить до меншого стиснення файлу. Для нижчого рівня вірно протилежне. Нижче наведено демонстрацію з xz та gzip:

$ cp bigfile bigfile-gz1
$ cp bigfile bigfile-gz9
$ gzip -1 bigfile-gz1
$ gzip -9 bigfile-gz9
$ cp bigfile bigfile-xz1
$ cp bigfile bigfile-xz9
$ xz -1 bigfile bigfile-xz1
$ xz -9 bigfile bigfile-xz9
$ ls -lh bigfile bigfile-* *
total 3.5M
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile
-rw-r--r-- 1 emma emma 205K Jun 23 13:14 bigfile-gz1.gz
-rw-r--r-- 1 emma emma 178K Jun 23 13:14 bigfile-gz9.gz
-rw-r--r-- 1 emma emma 156K Jun 23 08:08 bigfile-xz1.xz
-rw-r--r-- 1 emma emma 143K Jun 23 08:08 bigfile-xz9.xz

Немає необхідності розпаковувати файл щоразу, коли ви його використовуєте. Інструменти стиснення зазвичай мають спеціальні версії звичайних інструментів, які використовуються для читання текстових файлів. Наприклад, gzip має версію cat, grep, diff, less, more та ще декілька. Для gzip інструменти мають префікс z, тоді як префікс bz існує для bzip2, а xz існує для xz. Нижче наведено приклад використання zcat для читання відображення файлу, стиснутого за допомогою gzip:

$ cp /etc/hosts ./
$ gzip hosts
$ zcat hosts.gz
127.0.0.1	localhost

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Інструменти для архівації файлів

Програма tar, мабуть, є інструментом архівування, який найбільш широко використовується в системах Linux. Якщо вам цікаво, чому така назва, як він є, це як абревіатура від “tape archive”. Файли, створені за допомогою tar, часто називають tar balls. Дуже часто програми, що розповсюджуються як вихідний код, знаходяться в tar-архівах.

Версія GNU tar, з якою постачаються дистрибутиви Linux, має багато варіантів. Цей урок охоплює найбільш часто використовувану підмножину.

Почнемо зі створення архіву файлів, які використовуються для стиснення:

$ cd ~/linux_essentials-3.1
$ tar cf archiving/3.1.tar compression

Параметр c вказує tar створити новий архівний файл, а параметр f дозволяє задати ім’я файлу, який потрібно створити. Аргументом, що йде безпосередньо за параметрами, завжди буде ім’я файлу, з яким потрібно працювати. Решта аргументів – це шляхи до будь-яких файлів або каталогів, які ви хочете додати, переглянути або витягти з файлу. У прикладі ми додаємо каталог compression і весь його вміст до архіву.

Щоб переглянути вміст tar-архіву, використовуйте параметр t для tar:

$ tar -tf 3.1.tar
compression/
compression/bigfile-xz1.xz
compression/bigfile-gz9.gz
compression/hosts.gz
compression/bigfile2
compression/bigfile
compression/bigfile-gz1.gz
compression/bigfile-xz9.xz
compression/bigfile3
compression/bigfile4

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

Note

Ви можете використовувати параметр -v, щоб дозволити tar виводити назви файлів, з якими він працює під час створення або розпакування архіву.

Тепер розпакуємо файл:

$ cd ~/linux_essentials-3.1/archiving
$ ls
3.1.tar
$ tar xf 3.1.tar
$ ls
3.1.tar  compression

Припустимо, вам потрібен лише один файл з архіву. Якщо це так, ви можете вказати його після імені файлу архіву. За потреби можна вказати декілька файлів:

$ cd ~/linux_essentials-3.1/archiving
$ rm -rf compression
$ ls
3.1.tar
$ tar xvf 3.1.tar compression/hosts.gz
compression/
compression/bigfile-xz1.xz
compression/bigfile-gz9.gz
compression/hosts.gz
compression/bigfile2
compression/bigfile
compression/bigfile-gz1.gz
compression/bigfile-xz9.xz
compression/bigfile3
compression/bigfile4
$ ls
3.1.tar  compression
$ ls compression
hosts.gz

За винятком абсолютних шляхів (шляхів, що починаються з /), файли tar зберігають весь шлях до файлів під час їх створення. Оскільки файл 3.1.tar був створений з одним каталогом, цей каталог буде створено відносно вашого поточного робочого каталогу під час розпакування. Наступний приклад повинен прояснити це:

$ cd ~/linux_essentials-3.1/archiving
$ rm -rf compression
$ cd ../compression
$ tar cf ../tar/3.1-nodir.tar *
$ cd ../archiving
$ mkdir untar
$ cd untar
$ tar -xf ../3.1-nodir.tar
$ ls
bigfile   bigfile3  bigfile-gz1.gz  bigfile-xz1.xz  hosts.gz
bigfile2  bigfile4  bigfile-gz9.gz  bigfile-xz9.xz
Tip

Якщо ви хочете використовувати абсолютний шлях у файлі tar, ви повинні використовувати параметр P. Майте на увазі, що це може перезаписати важливі файли та призвести до помилок у вашій системі.

Програма tar також може керувати стисненням і декомпресією архівів на льоту. tar робить це, викликаючи один із інструментів стиснення, які розглядалися раніше в цьому розділі. Це так само просто, як додати відповідний параметр до алгоритму стиснення. Найпоширенішими є j, J та z для bzip2, xz та gzip відповідно. Нижче наведено приклади використання вищезгаданих алгоритмів:

$ cd ~/linux_essentials-3.1/compression
$ ls
bigfile   bigfile3  bigfile-gz1.gz  bigfile-xz1.xz  hosts.gz
bigfile2  bigfile4  bigfile-gz9.gz  bigfile-xz9.xz
$ tar -czf gzip.tar.gz bigfile bigfile2 bigfile3
$ tar -cjf bzip2.tar.bz2 bigfile bigfile2 bigfile3
$ tar -cJf xz.tar.xz bigfile bigfile2 bigfile3
$ ls -l | grep tar
-rw-r--r-- 1 emma emma  450202 Jun 27 05:56 bzip2.tar.bz2
-rw-r--r-- 1 emma emma  548656 Jun 27 05:55 gzip.tar.gz
-rw-r--r-- 1 emma emma  147068 Jun 27 05:56 xz.tar.xz

Зверніть увагу, як у прикладі файли .tar мають різні розміри. Це свідчить про те, що вони були успішно стиснуті. Якщо ви створюєте стиснені архіви .tar, ви завжди повинні додавати друге розширення файлу, що позначає використаний вами алгоритм. Це .xz, .bz і .gz для xz, bzip2 і gzip відповідно. Іноді використовуються скорочені розширення, такі як .tgz.

Можна додавати файли до вже існуючих нестиснутих tar-архівів. Для цього використовуйте параметр u. Якщо ви спробуєте виконати додавання до стисненого архіву, ви отримаєте помилку.

$ cd ~/linux_essentials-3.1/compression
$ ls
bigfile   bigfile3  bigfile-gz1.gz  bigfile-xz1.xz  bzip2.tar.bz2  hosts.gz
bigfile2  bigfile4  bigfile-gz9.gz  bigfile-xz9.xz  gzip.tar.gz    xz.tar.xz
$ tar cf plain.tar bigfile bigfile2 bigfile3
$ tar tf plain.tar
bigfile
bigfile2
bigfile3
$ tar uf plain.tar bigfile4
$ tar tf plain.tar
bigfile
bigfile2
bigfile3
bigfile4
$ tar uzf gzip.tar.gz bigfile4
tar: Cannot update compressed archives
Try 'tar --help' or 'tar --usage' for more information.

Керування файлами ZIP

Комп’ютери з операційною системою Windows часто не мають застосунків для обробки tar-архівів або багатьох інструментів стиснення, які зазвичай зустрічаються в системах Linux. Якщо вам потрібно взаємодіяти з системами Windows, ви можете використовувати ZIP-файли. ZIP-файл – це архівний файл, подібний до стисненого файлу tar.

Програми zip та unzip можна використовувати для роботи з файлами ZIP в системах Linux. У наведеному нижче прикладі є все, що вам потрібно для того, щоб розпочати їх використання. Спочатку створюємо набір файлів:

$ cd ~/linux_essentials-3.1
$ mkdir zip
$ cd zip/
$ mkdir dir
$ touch dir/file1 dir/file2

Тепер ми використаємо zip, щоб запакувати ці файли в ZIP-файл:

$ zip -r zipfile.zip dir
  adding: dir/ (stored 0%)
  adding: dir/file1 (stored 0%)
  adding: dir/file2 (stored 0%)
$ rm -rf dir

Нарешті, ми знову розпакуємо ZIP-файл:

$ ls
zipfile.zip
$ unzip zipfile.zip
Archive:  zipfile.zip
   creating: dir/
 extracting: dir/file1
 extracting: dir/file2
$ find
.
./zipfile.zip
./dir
./dir/file1
./dir/file2

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

Вправи до посібника

  1. Відповідно до розширень, які з наведених нижче інструментів були використані для створення цих файлів?

    Ім’я файлу tar gzip bzip2 xz

    archive.tar

    archive.tgz

    archive.tar.xz

  2. Визначте за розширеннями які з цих файлів є архівами, а які стиснутими?

    Ім’я файлу Архівний Стиснутий

    file.tar

    file.tar.bz2

    file.zip

    file.xz

  3. Як би ви додали файл до tar файлу , стисненого за допомогою gzip?

  4. Який параметр tar наказує tar включати символ / до абсолютних шляхів?

  5. Чи підтримує zip різні рівні стиснення?

Дослідницькі вправи

  1. Під час розпакування файлів tar підтримує шаблони в списку файлів?

  2. Як ви можете переконатися, що розпакований файл ідентичний файлу до його стиснення?

  3. Що станеться, якщо ви спробуєте витягти файл з архіву tar, який вже існує у вашій файловій системі?

  4. Як би ви розпакували файл archive.tgz без використання параметра tar z?

Підсумки

Системи Linux мають кілька доступних інструментів стиснення та архівування. Цей урок охопив найпоширеніші з них. Найпоширенішим інструментом архівування є tar. Якщо необхідна взаємодія з системами Windows, zip та unzip можуть створювати та розпаковувати ZIP-файли.

Команда tar має кілька параметрів, які варто запам’ятати. Це x для вилучення, c для створення, t для перегляду вмісту та u для додавання або заміни файлів. Параметр v містить список файлів, які обробляються tar під час створення або розпакування архіву.

Типовий репозиторій дистрибутиву Linux має багато інструментів стиснення. Найпоширенішими є gzip, bzip2 та xz. Алгоритми стиснення часто підтримують різні рівні, які дозволяють оптимізувати швидкість або розмір файлу. Файли можна розпакувати за допомогою gunzip, bunzip2 та unxz.

Інструменти стиснення зазвичай мають програми, які поводяться як звичайні інструменти для текстових файлів, з тією різницею, що вони працюють зі стиснутими файлами. Деякі з них – це zcat, bzcat та xzcat. Інструменти стиснення зазвичай постачаються з програмами з функціональними можливостями grep, more, less, diff та cmp.

Команди, які використовуються у вправах:

bunzip2

Розпаковує стиснутий файл bzip2.

bzcat

Виводить вміст стисненого файлу bzip.

bzip2

Стискає файли за допомогою алгоритму та формату bzip2.

gunzip

Розпаковує стиснений файл gzip.

gzip

Стискає файли за допомогою алгоритму та форматування gzip.

tar

Створює, оновлює, виводить перелік та витягує архіви tar.

unxz

Розпаковує стиснутий файл xz.

unzip

Розпаковує та витягує вміст із файлу ZIP.

xz Стискає файли за допомогою алгоритму та форматування xz.

zcat

Виводить вміст стисненого файлу gzip.

zip

Створює та стискає ZIP-архіви.

Відповіді до вправ посібника

  1. Відповідно до розширень, які з наведених нижче інструментів були використані для створення цих файлів?

    Ім’я файлу tar gzip bzip2 xz

    archive.tar

    X

    archive.tgz

    X

    X

    archive.tar.xz

    X

    X

  2. Визначте за розширеннями які з цих файлів є архівами, а які стиснутими?

    Ім’я файлу Архівний Стиснутий

    file.tar

    X

    file.tar.bz2

    X

    X

    file.zip

    X

    X

    file.xz

    X

  3. Як би ви додали файл до tar файлу , стисненого за допомогою gzip?

    Ви повинні розпакувати файл за допомогою gunzip, додати файл за допомогою tar uf, а потім стиснути його за допомогою gzip

  4. Який параметр tar наказує tar включати символ / до абсолютних шляхів?

    Параметр -P. Зі сторінки посібника:

    -P, --absolute-names
            Don't strip leading slashes from file names when creating  archives
  5. Чи підтримує zip різні рівні стиснення?

    Так. Ви можете використовувати -#, замінюючи # числом від 0-9. Наводимо витяг з man-сторінки:

    -#
    (-0, -1, -2, -3, -4, -5, -6, -7, -8, -9)
            Регулюйте швидкість стиснення за допомогою вказаної цифри #, де -0 означає відсутність стиснення (зберігати всі файли), -1 вказує на найвищу швидкість стиснення (менше стиснення), а -9 вказує на найнижчу швидкість стиснення (оптимальне стиснення, ігнорує список суфіксів ). Рівень стиснення за замовчуванням -6.
    
           Хоча цей параметр все ще працює, планується, що цей параметр керуватиме швидкістю стиснення для всіх методів стиснення. Наразі контролюється лише дефляція.

Відповіді до дослідницьких вправ

  1. Під час розпакування файлів tar підтримує шаблони в списку файлів?

    Так, якщо використовувати параметр --wildcards. --wildcards потрібно розмістити відразу після файлу tar, якщо використовуються параметри в такому стилі. Наприклад:

    $ tar xf tarfile.tar --wildcards dir/file*
    $ tar --wildcards -xf tarfile.tar dir/file*
  2. Як ви можете переконатися, що розпакований файл ідентичний файлу до його стиснення?

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

  3. Що станеться, якщо ви спробуєте витягти файл з архіву tar, який уже існує у вашій файловій системі?

    Файл у вашій файловій системі перезаписується версією, яка є у файлі tar.

  4. Як би ви розпакували файл archive.tgz без використання параметра tar z?

    Спочатку треба розпакувати його за допомогою gunzip.

    $ gunzip archive.tgz
    $ tar xf archive.tar

Linux Professional Institute Inc. Всі права захищені. Відвідайте веб-сайт навчальних матеріалів: https://learning.lpi.org
Ця робота ліцензована відповідно до міжнародної ліцензії Creative Commons Attribution-некомерційна-NoDerivatives 4.0.

Наступний Урок

3.2 Пошук та отримання даних з файлів (3.2 Урок 1)

Прочитайте наступний урок

Linux Professional Institute Inc. Всі права захищені. Відвідайте веб-сайт навчальних матеріалів: https://learning.lpi.org
Ця робота ліцензована відповідно до міжнародної ліцензії Creative Commons Attribution-некомерційна-NoDerivatives 4.0.

LPI є некомерційною організацією.

© 2025 Linux Professional Institute (LPI) - це глобальний стандарт сертифікації та організація підтримки кар'єри для професіоналів з відкритим вихідним кодом. Маючи понад 250 000 власників сертифікатів, це перший і найбільший в світі незалежний від постачальників орган з сертифікації Linux і з відкритим вихідним кодом. LPI має сертифікованих фахівців в більш ніж 180 країнах, здає іспити на декількох мовах і має сотні партнерів по навчанню.

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

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Зв'яжіться з нами
  • Політика конфіденційності та Cookie-файлів

Помітили помилку або хочете допомогти поліпшити цю сторінку? Просимо дайте нам знати.

© 1999–2025 Linux Professional Institute Inc. Всі права захищені.