Основи адміністрування в Linux

2



















РЕФЕРАТ



натему: 

”Основи адміністрування в Linux”




Зміс



	Основи адміністрування	3

	Стадії завантаження Linux	3

	Керування режимами роботи Linux	6

	Особливості завантаження системи X Window	9

	Конфігураційний файл XF86Config	10

	Монтування файлових систем	14

	Додання нових користувачів і нових груп	17

	Ущільнення і архівування файлів	20




Основи адміністрування 



Зміст теми: Вивчення основних операцій адміністрування в Linux: керування режимами завантаження ОС, редагування конфігураційних файлів, монтування файлових систем, додавання нових користувачів і груп, архівування та ущільнення файлів. 

Теоретичні відомості

1 Основні задачі системного адміністратора

До основних задач системного адміністратора (суперкористувача) в Linux можна віднести: 

інсталяцію (установку) ОС; 

керування процесом завантаження ОС; 

установку режимів роботи ОС; 

редагування конфігураційних файлів; 

монтування і демонтування файлових систем; 

введення та вилучення користувачів ОС; 

оновлення програмного забезпечення; 

конфігурування ядра ОС; 

забезпечення надійного функціонування ОС; 

конфігурування комп’ютерної мережі. 

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



Стадії завантаження Linux



Після включення живлення комп’ютерів з архітектурою Intel відразу розпочинається самостійний процес перевірки працездатності основних пристроїв, відомий під назвою POST (power-on self test - самотестування при включенні живлення). При відсутності проблем із апаратурою далі вступає в роботу базова система введення-виведення або скорочено BIOS (basic input/output system). Ця програма зчитує параметри настроювання системи із спеціальної системної памяті CMOS. Системний BIOS і системна CMOS-память реалізовані апаратно у вигляді спеціальних мікросхем. 

BIOS визначає, з якого пристрою (вінчестера, дискети, CD-ROM) буде здійснюватись завантаження ОС та перевіряє готовність цього пристрою. Далі BIOC передає керування спеціальній програмі (початковому завантажувачу), яка власне і завантажує в оперативну память основні системні файли ОС. Для завантаження сучасних операційних систем сімейства Linux в ролі початкового завантажувача найчастіше виступає LILO (Linux Loader). 

LILO насправді представляє собою сукупність кількох програм та файлів, основними з яких є такі: 

- інсталятор map-файла (програма із файла /sbin/lilo, в якому вказано місцезнаходження завантажувальних файлів Linux); 

LILO може знаходитись в різних місцях: 

в головному завантажувальному запису (MBR) на вінчестері; 

в суперблоці кореневого розділу Linux на вінчестері; 

в завантажувальному секторі дискети. 

Вибір розташування програми завантаження залежить від кількості ОС на вінчестері. Якщо на вінчестері інстальовано одночасно Windows і Linux, тоді зручно вибрати перший варіант. В цьому випадку можна вибирати ОС перед її завантаженням. Варто не забувати, що будь-яка переустановка Windows може знищити LILO в MBR. 

Для керування процесом завантажування ОС корисно розібратись із конфігураційним файлом /etc/lilo. conf, до якого звертається LILO. Типовий приклад файла /etc/lilo. conf: 

prompt

timeout=300

default=linux

boot=/dev/hda

map=/boot/map

install=/boot/boot. b

message=/boot/message

lba32

other=/dev/hda1

optional

label=windows

image=/boot/vmlinuz-2.4.18-14

label=linux

initrd=/boot/initrd-2.4.18-14. img

read-only

append="root=LABEL=/"

other=/dev/hda1

optional

label=WINDOWS

Параметри із конфігураційного файла /etc/lilo. conf відповідають трьом розділам: загальному розділу, розділу образів Linux та розділу образів інших інстальованих ОС. Пояснення основних параметрів цього файла наведені в табл.6.1. 



Таблиця 6.1 - Основні параметри файла /etc/lilo. conf 

Команда

Опис команди

promt

Виводить на екран меню завантаження

timeout = 300

Часова затримка перед вибором ОС за замовчуванням (в мілісекундах) 

default = linux

Назва ОС, яка завантажується за замовчуванням

Boot=/dev/hda

Розташування програми заванта-ження LILO (/dev/hda – MBR, або суперблок) 

install=/boot/boot. b

Інсталяція вказаного файла (/boot/boot. b) як нового розташу-вання програми завантажування LILO

label=windows

label=linux

Задання мітки, як імені для вибору однієї із кількох інстальованих ОС

image=/boot/vmlinuz-2.4.18-14

Ім’я ядра Linux



Змінити деякі параметри процесу завантаження ОС можна не тільки безпосереднім редактування файла /etc/lilo. conf, але також і використанням команди lilo. Наприклад, для того, щоб зробити Windows системою, яка завантажується за замовчуванням, достатньо в режимі суперкористувача набрати команду

lilo - D Windows. 

При цьому ім’я ОС в даній команді повинно збігатись з іменем цієї ОС, яке було вказано в файлі /etc/lilo. conf. 



Керування режимами роботи Linux



Як тільки ядро системи завантажиться в оперативну память система Linux вже функціонує. Але ядро не взаємодіє безпосередньо із користувачем. Воно запускає на виконання програму init (правильніше сказати, створюється головний процес init; детальніше про процеси дивись останню лабораторну роботу). Ця програма відповідає за останні стадії завантаження ОС і визначає конкретний режим роботи Linux. З цією метою програма init звертається до спеціального файла /etc/inittab. Типовий приклад цього файла має такий вигляд: 

# Default runlevel. The runlevels used by RHS are: 

# 0 - halt (Do NOT set initdefault to this) 

# 1 - Single user mode

# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 

# 3 - Full multiuser mode

# 4 - unused

# 5 - X11

# 6 - reboot (Do NOT set initdefault to this) 

# 

id: 3: initdefault: 

# System initialization. 

si:: sysinit: /etc/rc. d/rc. sysinit

l0: 0: wait: /etc/rc. d/rc 0

l1: 1: wait: /etc/rc. d/rc 1

l2: 2: wait: /etc/rc. d/rc 2

l3: 3: wait: /etc/rc. d/rc 3

l4: 4: wait: /etc/rc. d/rc 4

l5: 5: wait: /etc/rc. d/rc 5

l6: 6: wait: /etc/rc. d/rc 6

# Things to run in every runlevel. 

ud:: once: /sbin/update

# Trap CTRL-ALT-DELETE

ca:: ctrlaltdel: /sbin/shutdown - t3 - r now

# When our UPS tells us power has failed, assume we have a few minutes

# of power left. Schedule a shutdown for 2 minutes from now. 

# This does, of course, assume you have powerd installed and your

# UPS connected and working correctly. 

pf:: powerfail: /sbin/shutdown - f - h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it. 

pr: 12345: powerokwait: /sbin/shutdown - c "Power Restored; Shutdown Cancelled"

# Run gettys in standard runlevels

1: 2345: respawn: /sbin/mingetty tty1

2: 2345: respawn: /sbin/mingetty tty2

3: 2345: respawn: /sbin/mingetty tty3

4: 2345: respawn: /sbin/mingetty tty4

5: 2345: respawn: /sbin/mingetty tty5

6: 2345: respawn: /sbin/mingetty tty6

# Run xdm in runlevel 5

# xdm is now a separate service

x: 5: respawn: /etc/X11/prefdm –nodaemon

Файл inittab розпочинається із пояснення можливих режимів роботи Linux: 

режим 0 – зупинка; 

режим 1 – для одного користувача; 

режим 2 – текстовий, для багатьох користувачів, без мережі; 

режим 3 – текстовий, для багатьох користувачів, з використанням мережі; 

режим 4 – не використовується; 

режим 5 – графічний режим Х11; 

режим 6 – перезавантаження. 

Режим роботи Linux, який буде використано за замовчуванням, тобто без втручання адміністратора, вказується в рядку id: 3: initdefault: (в даному випадку режим 3). На практиці найчастіше використовуються лише режими 3 та 5, рідше режими 1 та 2, а режими 0 та 6 взагалі забороняється використовувати за замовчуванням. 

Нагадаємо, що рядки, які відмічені знаком #, означають коментарій. Всі інші рядки файла inittab зумовлюють виконання відповідних дій, про які далі і йтиме мова. 

Після рядка, який визначає режим роботи за замовчуванням, знаходяться рядки s0-s2, що запускають на виконання сценарії системної ініціалізації. 

Для кожного вибраного режиму роботи системи виконується відповідний сценарій. Всі сценарії ініціалізації різних режимів роботи розташовані в каталозі /etc/rc. d. Цей каталог, в свою чергу, містить декілька підкаталогів, по одному для кожного із режимів роботи (rc0. d, …, rc6. d), підкаталог init. d та декілька інших підкаталогів. Імена всіх файлів, які розташовані в підкаталогах /etc/rc. d/rc*. d, (замість символу * використовується число) розпочинаються буквами s або k, що позначають запуск (start) або завершення (kill) процесів. Наступне число в імені вказує на відносний порядок сценарію, далі – ім’я самого файла - це ім’я пов’язаного із ним головного сценарію (який, в свою чергу, знаходиться в підкаталозі /etc/rc. d/init. d). 

Рядки, які відмічені ідентифікаторами pf і pr, зацікавлять вас тільки в тому випадку, якщо робота джерела безперебійного живлення, встановленого на вашому комп’ютері, підтримуються спеціальною програмою powerd. Ця програма видає на екран дисплея відповідні попередження в разі аварійної ситуації із живленням комп’ютера. 

Після рядка

# Run gettys in standard runlevels

відбувається запуск програм getty у віртуальних консолях (віртуальних терміналах) для різних режимів роботи. Віртуальна консоль дозволяє отримати доступ до екранного вмісту відповідної консолі. Вони недоступні для читання рядовими користувачами, тому інші користувачі не можуть підглядати за вашим сеансом. 

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



Особливості завантаження системи X Window



Якщо у файлі inittab за замовчуванням вибрано режим роботи 5, тоді процес завантаження ОС продовжується. Від файла inittab “естафета” в подальшій роботі передається сценарію prefdm із каталогу /etc/X11. 

Існує файл desktop, в якому записано лише одне із трьох ключових слів: GNOME, KDE або Anotherlevel. В залежності від того, яке там записане слово, сценарій prefdm викликає менеджер дисплея: gdm, kdm або xdm, відповідно. 

Основна функція менеджера дисплея - реєстрація користувача в системі і запуск відповідного сценарію Xsession, який визначає наступний сеанс роботи в середовищі X Window. Незважаючи на те, що кожному менеджеру дисплея відповідає свій сценарій Xsession, всі сценарії виконують такі дії: 

перенаправлення виведення повідомлень в спеціальний файл {Home}/. xsession-errors; 

завантаження файлів ресурсів користувачів із файла {Home}/. Xresources; 

запуск сценаріїв користувачів (при їх наявності); 

запуск сценарію Xclients. 

Основне призначення сценарію Xclients із каталога /etc/X11/init – запуск одного із робочих столів (як правило, GNOME або KDE) або менеджера вікон. 

Завершення завантаження робочого стола або менеджера вікон свідчить про завершення завантаження ОС в цілому і готовність її до роботи в графічному режимі. 

Якщо у файлі inittab за замовчуванням вибрано один із текстових режимів роботи, тоді процес init запускає одну із текстових оболонок (як правило, це оболонка bash) і процес завантаження ОС на цьому завершується. Для переходу Linux в графічний режим роботи досить виконати команду startx. Ця команда звертається до сценарію xinitrc із каталога /etc/X11/init, який виконує по суті ту ж послідовність дій, що і сценарії Xsession та Xclients. 



Конфігураційний файл XF86Config



Файл XF86Config - це основний конфігураційний файл системи X Window. Редагуючи цей файл, можна вирішити проблеми із настроюванням дисплея, клавіатури, пристрою “миша” а також і шрифтів. Розглянемо призначення основних розділів цього файла. 

Розділ Module 

Цей розділ служить для завантаження засобів підтримки сервера та візуалізації. Тут вказуються імена модулів, які завантажуються із каталога /usr/X11R6/lib/modules: 

Section "Module"

Load "dbe"

Load "extmod"

Load "fbdevhw"

Load "dri"

Load "glx"

Load "record"

Load "freetype"

Load "type1"

EndSection

Рядки

Load "freetype"

Load "type1"

свідчать, що система X Window підтримує векторні шрифти TrueType і Type 1. 

Розділ File 

Цей розділ вказує Х-серверу місцезнаходження бази даних, яка містить палітри кольорів, розташування системних шрифтів та модулів: 

Section "Files"

RgbPath "/usr/X11R6/lib/X11/rgb"

FontPath "unix/: 7100"

FontPath "/usr/X11R6/lib/X11/fonts/local"

FontPath "/usr/X11R6/lib/X11/fonts/misc"

FontPath "/usr/X11R6/lib/X11/fonts/Type1"

FontPath "/usr/X11R6/lib/X11/fonts/TrueType"

EndSection

Рядок

RgbPath"/usr/X11R6/lib/X11/rgb"

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

Розділ InputDevice

Цей розділ показує, які типи клавіатури та “миші’ використовуються: 

Section "InputDevice"

Identifier "Keyboard0"

Driver "keyboard"

Option"XkbRules""xfree86"

Option"XkbModel""pc102"

Option"XkbLayout""ru"

EndSection

Section "InputDevice"

Identifier "Mouse0"

Driver "mouse"

Option "Protocol" "PS/2"

Option "Device" "/dev/psaux"

Option "ZAxisMapping" "4 5"

Option "Emulate3Buttons" "yes"

EndSection

Section "InputDevice"

Identifier"Mouse1"

Driver"mouse"

Option"Device""/dev/input/mice"

Option"Protocol""IMPS/2"

Option"Emulate3Buttons""no"

Option"ZAxisMapping""4 5"

EndSection

Якщо в комп’ютері має використовуватись тип клавіатури розкладкою US (США), тоді необхідно записати: 

Option"XkbModel""us"

А якщо використовується розкладка клавіатури іншої країни, тоді має бути: 

Option"XkbModel""pc102"

Про підтримку російської розкладки клавіатури свідчить рядок: 

Option"XkbLayout""ru"

В даному випадку використовується два типи “миші”:

- із протоколом PS/2 і можливістю емуляції трикнопкової “миші”;

- із протоколом IMPS/2 і без емуляції трикнопкової “миші”. 

Розділ Monitor

Цей розділ містить такі дані: ідентифікатор монітора, назву фірми-виробника, найменування моделі та діапазони частот горизонтальної та вертикальної розгортки: 

Section "Monitor"

Identifier "Monitor0"

VendorName "Monitor Vendor"

ModelName "Monitor Model"

HorizSync 30-61

VertRefresh 50-120

Option "dpms"

EndSection

Розділ Device 

Цей розділ містить відомості про чіпсет відеокарти, драйвер для її підтримки, параметри настроювання частоти тактового генератора та інші важливі опції: 

Section "Device"

Identifier "S3 Savage4"

Driver "savage"

VendorName "S3 Savage4"

BoardName "S3 Savage4"

EndSection

Розділ Screen 

В цьому розділі описуються ідентифікатор екрана, назва відеокарти, тип монітора, параметри передачі кольорів, роздільна здатність екрана: 

Section "Screen"

Identifier "Screen0"

Device "S3 Savage4"

Monitor "Monitor0"

DefaultDepth16

Subsection "Display"

Depth 16

Modes "800x600" "640x480" 

EndSubsection

EndSection

В даному випадку надаються режим глибини кольорів High Color (DefaultDept 16) за замовчуванням та два варіанти роздільної здатності екрана (800600 і 640480). 



Монтування файлових систем 



Linux підтримує багато різних файлових систем. Зрозуміло, що в першу чергу підтримується власна файлова система ext2 (або її покращений варіант - ext3). Інші файлові системи необхідно спочатку підключити (змонтувати). Точніше кажучи, підключаються пристрої, на яких містяться відповідні файлові системи: вінчестери, гнучкі диски, компакт-диски. З однієї сторони, такий підхід, звичайно, дещо незручний, особливо це стосується дискет. Однак, ми маємо можливість в межах однієї операційної системи легко переходити від одної файлової системи до іншої. До речі, у Windows такої можливості немає. 

Власна файлова система ext2 (ext3) монтується до кореневого каталога / ще під час інсталяції Linux. Інші файлові системи із необхідністю монтуються до каталога /mount за допомогою команди mount: 

mount [-t type] [-o options] device mount-point 

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

mount-point – точка монтування; 

type – тип файлової системи (необов’язково); 

options – додаткові опції файлової системи (необов’язково). 

Якщо файлова система знаходиться на дискеті, тоді іменем пристрою буде fd0 або fd1. Якщо ж підключається компакт-диск, то іменем прстрою найчастіше може бути cdrom або cd0. 

Дещо складніше правильно записати ім’я пристрою при монтуванні вінчестерів. Як відомо, на вінчестері є розділи. У Windows такі розділи називаються логічними дисками і їм присвоюються букви латинського алфавіту. В Linux такого поділу на диски немає. Кожний розділ – це самостійний пристрій, що має своє стандартизоване ім’я. Це ім’я формується таким чином: перші дві букви – це hd, що, очевидно, означає hard disk. Наступною йде одна із чотирьох букв латинського алфавіту (a,b,c,d). Буква “a” присвоююється вінчестеру, який підключений як Primary Master, “b” – Primary Slave, “c” – Secondary Master, “d” – Secondary Slave. Таким чином, повна назва вінчестера, який підключений як Primary Master буде hda. Далі нумеруються розділи на вінчестері. Primary-розділів на жорсткому диску може бути всього чотири. Їм відповідають чотири можливих записи в Master Boot Record (MBR), а також номери з 1-го по 4-ий. Тобто, ці розділи маркуються в Linux як пристрої hda1-hda4. А якщо дисків буде більше, то вони будуть розташовані в extended–розділі і нумеруватись за порядком їх розташування, починаючи із hda5. 

Точка монтування – це підкаталог каталога /mount, до якого монтується пристрій із файловою системою. Цей підкаталог має бути створено ще до початку монтування; його назва може бути довільною. 

В команді mount можна вказати конкретний тип підключуваної файлової системи: 

dos – файлова система FAT16 (операційної системи MSDOS); 

vfat – файлова система VFAT (операційної системи Windows 95); 

ntfs – файлова система NTFS (операційної системи Windows NT/2000/XP) 

Можливі значення додаткових опцій команди mount наведені в Табл.6.1. 



Таблиця 6.1 - Додаткові опції команди mount

 Опція

Опис опції

1. - f

2. - v

3. - r

4. - w

5. - a

1. Імітація підключення файлової системи

2. Детальний звіт про процес монтування

3. Монтування із доступом тільки для читання

4. Монтування із доступом для читання і запису

5. Монтуються всі файлові системи, які перераховані у файлі /etc/fstab



Монтування є досить відповідальною системною операцією, тому вона дозволена лише суперкористовачу. 

Наприклад, якщо необхідно до каталогу /mnt/windows підключити розділ С операційної системи Windows 95, тоді необхідно виконати команду mount в такому форматі: 

mount - t vfat /dev/hda5 /mnt/windows. 

А якщо необхідно до каталогу /mnt/floppy підключити дискету, тоді можна виконати команду mount таким чином: 

mount /dev/fd0 /mnt/floppy. 

Інформація про всі змонтовані файлові системи зберігається в системному файлі /etc/fstab. 

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

Якщо потреба у деякій файловій системі відпала, тоді її можна відключити (розмонтувати) за допомогою команди umount, яка має два варіанти: 

umount device,

або

umount mount-point. 

Наприклад, демонтувати дискету можна таким чином: 

umount /dev/fd0,

або

umount /mnt/floppy. 

Монтувати файлові системи можна не тільки в текстовому режимі роботи ОС за допомогою команди mount. 

В графічному режимі дуже зручно виконувати цю операцію, використовуючи панель керування (Control Panel) в робочому столі KDE, або спеціальну програму адміністрування linuxconf в робочому столі GNOME. 



Додання нових користувачів і нових груп



Основним файлом при налагоджені і конфігуруванні облікових записів користувачів є файл /etc/passwd. Це звичайний текстовий файл в форматі ASCII, який містить інформацію про кожного користувача в окремому рядку в таких семи полях, розділених двокрапкою: 

поле 1 – імя користувача; 

поле 2 – пароль користувача (символ Х означає, що пароль у зашифрованому вигляді зберігається у спеціальному файлі /etc/shadow); 

поле 3 – ідентифікатор користувача (User ID - UID); 

поле 4 – ідентифікатор групи (Group ID - GID); 

поле 5 – коментар; 

поле 6 – робочий каталог користувача; 

поле 7 – використана оболонка за замовчуванням; 

Приклад 1. 

user1: X: 501: 500: OpenLinux User: /home/user: /bin/bash

Облікові записи нових корстувачів, крім паролів, можуть бути подані шляхом безпосереднього редагування файла /etc/passwd, проте дещо зручніше використати спеціальну утиліту useradd. 

Загальний формат цієї утиліти містить багато різноманітних опцій, але на практиці достатньо використовувати тільки основні з них: 

useradd [-g group] [-d home_dir] [-s shell] [-p password] name,

де 

group – ідентифікатор групи; 

home_dir – робочий каталог користувача; 

shell – імя текстової оболонки, яка використовується за замовчуванням; 

password – пароль користувача; 

name – ідентифікатор користувача. 

Приклад 2. 

Для того, щоб в файлі /etc/passwd зявився новий запис про користувача user, який збігається з наведеним записом в прикладі 1, необхідно викорстати утиліту useradd з такими опціями: 

useradd - g 500 - d /home/user1 - s /bin/bash - p lab331 user1

Вилучити обліковий запис про користувача можна за допомогою утиліти userdel. Ця утиліта також має декілька опцій. В мінімальному варіанті для видалення облікового запису про користувача user1 досить записати в командному рядку: 

userdel user1

Якщо потрібно вилучити і робочий каталог цього користувача, тоді треба вказати опцію r: 

userdel - r /home/user1

Для створення нового облікового запису групи користувачів, використовується утиліта groupadd, яка має такий формат: 

groupadd - g group name

де group – ідентифікатор групи; 

name – ідентифікатор користувача; 

Приклад 3. 

Для створення нової групи 502 і включення в неї користувача user2 необхідно записати в командному рядку: 

groupadd - g 502 user2

Один користувач може входити до складу кількох груп. Рекомендується створювати спочатку нову групу, а лише потім додавати до неї нових користувачів командою useradd. 

Приклад 4. 

Добавимо в нову групу 502 ще одного користувача user3: 

useradd - d /home/user3 - p lab331 - g 502 user3

Облікові записи про групи зберігаються в конфігураційному файлі /etc/group. Кожний рядок цього файла містить інформацію про одну групу у вигляді таких чотирьох полів, які розділено двокрапкою: 

поле 1 – імя групи; 

поле 2 – пароль користувача (зазвичай містить символ Х або порожнє місце); 

поле 3 – ідентифікатор групи (GID); 

поле 4 – список користувачів, що належать даній групі. 

Приклад 5. 

Після виконання попередніх команд з прикладів 3 і 4 останній рядок файла /etc/group матиме вигляд: 

users:: 502: user2, user3

Для виведення користувача із будь-якої групи потрібно в файлі /etc/group вказати його імя із списку користувачів даної групи. 

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



Ущільнення і архівування файлів



Ущільнення файлів – це операція над файлами для отримання копій файлів, які займають менший розмір в порівнянні із початковими файлами. 

Всі методи ущільнення даних можна розділити на два класи:

- з втратою інформації;

- без втрати інформації. 

Ущільнення даних з втратою інформації (5-20%) застосовується для аудіо - та відеофайлів. Їх можна ущільнити в 10-15 разів (музика) або в 20-30 разів (фото - та відеоматеріали). Прикладом алгоритмів такого класу можуть служити алгоритми JPEG, MPEG. 

Ущільнення даних без втрати інформації використовується для текстових та програмних файлів. Зрозуміло, що ступінь ущільнення таких файлів набагато менша (1,5-3 рази), однак є гарантія повного збереження початкової інформації. Такі методи базуються на вилученні природної надлишковості даних. До найбільш відомих алгоритмів такого класу відносяться: 

алгоритм Хафмана (символи, які найчастіше зустрічаються, мають більш короткий код); 

методи RLE (вилучення фрагментів, які повторюються); 

алгоритм Zempel-Ziv (дуже складний, зате більш ефективний). 

В Linux за останнім алгоритмом працює програма gzip. 

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