You are on page 1of 20

Лабораторна робота № 4

ДОСЛІДЖЕННЯ ВЛАСТИВОСТЕЙ ФАЙЛОВОЇ СТРУКТУРИ LINUX

Мета роботи: На основі відомостей про ієрархічну структуру файлової


системи ОС Linux, отримати практичні навички виконання операцій з файлами,
каталогами, таблицями розділів (MBR і GPT), створення розділів і файлових
систем. Також набути досвіду роботи з командним рядком ОС Linux, вивчити
основні команди (робоча станція, робочий директорій, користувачі, дата,
календар).

Вказівки з підготовки до виконання лабораторної роботи.


Необхідно вивчити принципи і логіку роботи процесу монтування дисків в
Linux. Удосконалювати навички роботи з файловою системою Linux, файлами і
каталогами. Особливу увагу слід приділити процесам роботи в терміналі.
Вивчити вимоги до апаратного забезпечення ОС.
Додаткову інформацію при підготовці до роботи можна отримати в:
1. Горбань Г. В. Операційна система Linux : навчальний посібник / Г. В.
Горбань, І. О. Кандиба. – Миколаїв: Вид-во ЧНУ ім. Петра Могили, 2019.
– 276 с.
2. Операційні системи: Методичні вказівки до комп’ютерного практикуму.
[Електронний ресурс] : навч. посіб. для студ. спец. 113 «Прикладна
математика», 125 «Кібербезпека» / КПІ ім. Ігоря Сікорського ; уклад.: М.
В. Грайворонський, В. В. Демчинський – Електронні текстові дані (1
файл: 1,44 Мбайт). – Київ : КПІ ім. Ігоря Сікорського, 2021. – 74 с
3. http://www.Ubuntu.com
4. https://www.fosslinux.com/107937/tips-and-tricks-for-checking-ubuntu-
system-information.htm
5. https://help.ubuntu.com/stable/ubuntu-help/about-hardware.html.en

Теоретичні відомості.
Структура файлової системи. Файлова система в Linux являє собою
ієрархічну структуру, вершиною якої є каталог /, названий кореневим каталогом
(рисунок 4.1). Для уніфікації місцезнаходження файлів і каталогів в Linux
прийнятий стандарт FHS (Filesystem Hierarchy Standard).
Рисунок 4.1. – Дерево каталогів файлової системи

Об'єкти операційної системи Linux представлені у вигляді абстракції –


файлу. Залежно від структури і призначення файлу виділяють кілька типів:
✓ Звичайний файл (regular file).
✓ Спеціальний файл пристрою (special device file)
✓ Файли взаємодії між процесами
✓ Посилання (link)
Для створення файлу можна використовувати команду touch.
$ touch ім'я файлу
Інформація про файлах міститься в каталогах, що дозволяє зберігати
структурованість файлової системи в цілому. Каталоги поділяються за
допомогою символу слеш «/».
Для створення каталогу можна використовувати команду mkdir.
$ mkdir імя_каталога
Ланцюжок імен каталогів, через які необхідно пройти для доступу до
заданого файлу або каталогу, утворюють шлях.
Шлях від основи дерева файлової системи (кореня), що починається з
символу «/», називається повним або абсолютним. Шлях, початок якого
знаходиться в каталоги відрізняється від кореневого, називається відносним.
Для вказівки в відносному шляху поточного або батьківського каталогу
використовуються символи «.» (Точка) і «..» (дві точки) відповідно.
Після авторизації користувача в системі, його робота як правило
починається з особистого каталогу користувача - домашнього каталогу. Для
вказівки абсолютного шляху файлу, що знаходиться всередині домашнього
каталогу користувача, можна використовувати спеціальний символ «~»
(тильда).
Каталог, в якому користувач знаходиться в даний момент часу
називається поточним або робочим каталогом.
Для переміщення між каталогами файлової системи застосовується
команда cd.
$ Cd путь_к_діректоріі

Операції над файлами. Універсалізація файлових імен. Файл


представляє собою послідовність символів певної довжини, яка будучи
частиною шляху, ідентифікує об'єкт в файлової системі.
Довжина імені обмежена 255 символами. Ім'я не може включати в себе
символ з кодом 0 і символ слеш «/». Хоч це і допускається, але використання
спеціальних символів, таких як пропуск, зірочка (*), відсоток (%) тощо, є
небажаним. Для їх використання, перед ними в імені файлу необхідно
поставити символ зворотний слеш «\».
Якщо в імені файлу присутній точка, то частина імені, наступна після неї,
називається розширенням. Точка на початку імені файлу вказує на його
спеціальне призначення, наприклад файл конфігурації. При роботі з
оболонкою можливе застосування символів розширення. Імена, що містять ці
символи, перетворюються оболонкою в список імен. Цей процес називається
універсалізацією файлових імен.
До таких символів відносяться:
✓ Символ «*» відповідає будь-якому рядку, включаючи рядок нульової
довжини.
✓ Символ «?» відповідає рівно одному будь-якому символу.
✓ Квадратні дужки «[]» використовуються для вказівки одного будь-
якого символу з множини. Між дужками вказуються необхідні символи або їх
діапазон (з використанням символу «-» (тире)).
✓ Фігурні дужки «{}» використовуються для вказівки кожного символу
з множини. Між дужками вказуються необхідні символи або їх діапазон (з
використанням конструкції «..» (дві точки)).
Наступні команди є базовими при роботі з файлами і каталогами в ОС
Linux.

Таблиця 4.1. – Приклади базових команд


Команда Опис
cd Зміна поточного робочого каталогу
touch створення файлів
rm Видалення файлів або каталогів
mkdir створення каталогів
rmdir видалення каталогів
cp Копіювання файлів або каталогів
mv Перенесення файлу або каталогу
tree Вивести вміст каталогу у вигляді дерева
ln Створення ярликів посилань на файл або каталог

Стандартні команди в Linux відрізняються від команд DOS і Windows -


зазвичай вони коротші. При роботі з командним рядком як зазвичай
миготливий курсор позначає позицію введення тексту, командний рядок
починається з поточного шляху і імені комп'ютера, за яким слід символ $,% або
#. Останній означає, що команди будуть виконуватися від імені
суперкористувача root. Символ ~ означає шлях до поточної домашньої
директорії користувача.
Більшість команд в Linux, що не вимагають виведення інформації
користувачеві, в разі успішного завершення взагалі нічого не виводять на
екран. Виводяться тільки помилки і попередження в разі порушення
нормального виконання команди. Тобто в Linux діє загальний принцип
"мовчить, значить працює".
У будь-якому терміналі Linux стрілками вгору/вниз на клавіатурі можна
гортати історію команд, яка зберігається між сеансами роботи і розрізняється
для різних користувачів і хостів. Набране частково команда або ім'я файлу, або
каталогу в поточній директорії може бути автоматично дописано клавішею
TAB. Якщо знайдено більше одного варіанту і однозначно продовжити
команду по TAB неможливо, то виводяться всі підходящі варіанти.
При роботі в графічному середовищі зручні емулятори терміналу. Як
правило вони підтримують закладки - кілька терміналів в одному вікні,
підтримують колірні схеми.
Термінал - емулятор консолі. Саме в терміналі ми будемо працювати з
CLI (інтерфейсом командного рядка). Термінал часто також називають
консоллю або шеллом (Shell - оболонка).
Багато користувачів і особливо адміністратори серверів під Linux в роботі
використовують саме консоль, а не графічну оболонку, це пов'язано з тим, що
настройка і конфігурація Linux в основному полягає, в редагуванні текстових
конфігураційних файлів. Навіть для користувача ОС Linux, більшість інструкцій
з налаштування написані з використанням консолі і знати основні команди
життєво необхідно.
Варто звернути увагу на системні каталоги ОС в яких знаходяться файли,
необхідні для управління і супроводу системи, а також стандартні програми.
Їх імена, розташування і зміст майже однакові майже у всіх ОС Linux,
тому ці каталоги називають також стандартними. Втім, на даний момент епітет
"стандартні" відображає швидше благі побажання, ніж дійсність: ієрархія
каталогів однакова тільки для дистрибутивів, пов'язаних єдністю походження,
а історично сформовані відмінності створюють небезпеку несумісності різних
дистрибутивів. Короткий опис основних каталогів зведено в таблицю 4.2.

Таблиця 4.2. – Основні каталоги в Linux


Каталог Призначення
Основні програми, необхідні для роботи в системі: командні
/ bin
оболонки, файлові утиліти і т.п.
Команди для системного адміністрування, а також програми, що
/ sbin
виконуються вході завантаження
/ boot Файли, необхідні для завантаження системи (образ ядра)
/ home Домашні каталоги користувачів, крім root
/ dev файли пристроїв
Файли налаштувань: стартові сценарії, конфігураційні файли
/ etc
графічної системи і різних додатків
/ lib Системні бібліотеки, необхідні для основних програм, і модулі ядра
/ Lost +
Відновлені після аварійного від'єднання частини файлової системи
found
Каталог Призначення
Сюди зазвичай монтуються знімні носії: компакт-диски, flash-
/ media
накопичувачі
Тимчасові точки монтування жорстких дисків. Використовувати цей
/ mnt каталог необов'язково: подмонтировать файлову систему можна до
будь-якого іншого каталогу
Додаткові пакети програм. Якщо програма, встановлена сюди,
/ opt більше не потрібна, то досить видалити її каталог без звичайної
процедури деінсталяції
Віртуальна файлова система, що дає доступ до інформації ядра
(наприклад, виведіть на екран файл/proc/cpuinfo). Інші файли в цьому
/ proc
каталозі в кожен момент часу містять інформацію про виконуються в
цей момент програмах
Домашній каталог суперкористувача. Домашні каталоги всіх інших
можуть перебувати на окремому розділі, але/root повинен бути в
/ root
кореневій файловій системі, щоб адміністратор завжди міг увійти в
систему для ремонтних робіт
/ tmp Тимчасові файли
Часто мінливі дані: системні журнали і протоколи додатків, замки,
/ var
поштові ящики, черги друку і т.п.
Практично все інше: програми, вихідні коди, документація. Сюди за
/ usr
умовчанням встановлюються нові програми

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

Таблиця 4.3. – Команди консолі


команда опис
halt стрімке і коректне виключення системи.
poweroff коректне виключення системи.
reboot коректне виключення з наступним завантаженням.
adduser створення нового користувача.
команда опис
hostname команда показує особистий номер цього вузла мережі
проявляє даний час, тривалість сеансу, число користувачів і
uptime
завантаженість процесора.
usermod зміна параметрів користувача.
відображає короткий перелік користувача працюють в системі в
users
даний момент
демонструє нинішній особистий номер користувача, що працює
whoami
в цьому терміналі.
посилає звістку іншому користувача, навколишнього в системі,
write маршрутом копіювання рядків з терміналу відправника на
термінал одержувача.
демонструє пронумерований перелік команд, які виконувався в
history
даному і минулому сеансі.
passwd зміна пароля користувача
ps виводить перелік всіх працюючих дій.
проявляє абсолютне час виконання дій для всієї системи і цього
times
користувача.
відображає інформацію про оперативки, підкачки, кеші, вільна
free
пам'ять, суспільна і т.п.
ls вказує всі файли в поточному каталозі в алфавітному порядку.
clear чистить екран терміналу (в разі якщо дане цілком ймовірно).
відображає стан поточної конфігурації мережі або ж налаштовує
ifconfig
мережевий інтерфейс.
відображає вміст зазначеного файлу на екрані і дозволяє
less
комфортно переглянути.
створює якісний пароль, що складається за замовчуванням з 9
mkpasswd
знаків і має як мінімум букви в різному регістрі і числа.

У кожній системі Linux є в наявності кілька різних командних


оболонок. Практично в кожній системі можна знайти звичну оболонку,
або подібну їй. Найбільш стандартною, що присутня в усіх системах, є
оболонка Bourne (Bourne shell), яка стала основою стандарту POSIX
shell. Ця оболонка пропонує мінімальний сервіс для користувача, і для
інтерактивної роботи незручна. Її файл -/bin/shbin/bin/shsh. Існують
альтернативні оболонки. Одна з них - C shell (/bin/shbin/bin/shcsh), вона
досить сильно відрізняється синтаксисом багатьох команд, але дуже
зручна для користувача і програміста, особливо для тих, хто добре
знайомий з мовою програмування С. Як правило, нею користуються
адміністратори систем BSD. У сучасних системах, зокрема в Linux і в
Mac OS X,
Надалі ми будемо використовувати синтаксис оболонки sh
(запрошення виглядає "$"), а в окремих випадках порівнювати її з csh
(запрошення виглядає '>').
Командна оболонка, в якій починає роботу користувач після входу
в систему, визначається з файлу/bin/shetc/bin/shpasswd. Це один з
головних конфігураційних файлів системи, який містить параметри
облікових записів користувачів. Кожен рядок файлу відповідає певному
користувачеві, точніше, облікового запису користувача, різниться за
ідентифікатором login або userid. Користувач в процесі роботи може
запустити іншу командну оболонку, просто набравши її ім'я.
Всі команди, які можна ввести в рядку запрошення оболонки,
належать до однієї з наступних категорій:
✓ вбудовані функції,
✓ функції, визначені користувачем,
✓ зовнішні програми і утиліти.
Вбудовані функції реалізуються фрагментами коду
оболонки і виконуються швидше. Користувач може визначити свої
функції (хоча таку можливість використовують нечасто). Якщо команда
не є вбудованою функцією і не визначена як функція користувачем, тоді
оболонка буде шукати файл з відповідним ім'ям і намагатися запустити
його на виконання. Якщо ім'я файлу задано з шляхом до нього, то
система намагається знайти його саме в цьому каталозі, який явно
задані в команді, але якщо ім'я файлу задано без шляху, то пошук
файлу здійснюється тільки в тих каталогах, які задані системної змінної
PATH. Для перегляду значення змінних їх слід набрати зі знаком $
попереду. Зокрема, якщо у змінній PATH не задано пошук в поточній
теці і поточний каталог не є одним з тих, що явно задано в цієї змінної,
то оболонка не побачить виконуваних файлів з поточного каталогу.
Розглянемо деякі основні команди. Слід зазначити, що немає
штатного кошти, надавав би користувачеві список доступних йому
команд, тому основні команди необхідно пам'ятати.
Команда man форматує та відображає на терміналі сторінки
довідкової системи. Згідно номерів розділів даються посилання на ту чи
іншу сторінку довідника. Якщо є необхідність, можна вказати, в якому
розділі треба шукати потрібну сторінку. Наприклад:
man passwd
man 7 mdoc
Команда passwd, що викликає однойменну утиліту, дозволяє
користувачеві змінювати свій пароль входу в систему. Спочатку
необхідно підтвердити свою автентичність, набравши свій пароль, а
далі можна ввести новий пароль (це здійснюється двічі, щоб уникнути
випадкових помилок).
Команда who дозволяє визначити, хто ще працює в поточний
момент в системі. Команда who am i нагадає вам, як ваш login.
Існують зручні команди визначення поточної дати і часу (date), а
також виведення на екран календаря на будь-який місяць будь-якого
року (cal).
Для того, щоб переглянути вміст текстового файлу, можна
скористатися командою cat <необхідна команда> ім'я файлу>, або more
<необхіднакоманда> ім'я файлу> (остання команда призначена для
виведення інформації на екран посторінково, вона дає можливість
"Linux- подібні", є багатозадачними перегортати сторінки "вперед і
назад). Існує команда wc <необхідна команда> ім'я файлу> (word count
- підрахувати слова), яка дозволяє підрахувати кількість рядків (wc -l),
слів (wc -w) і символів (wc -c ) в файлі. Створити текстовий файл можна
командою touch <необхідна команда> ім'я файлу>.
Розглянемо особливості файлової системи Linux. Вся файлова
система поєднується в єдине дерево каталогів, які починаються з
кореневого каталогу, має позначення '/bin/sh ". Всі зовнішні файлові
системи (знімні носії інформації, мережеві диски тощо) встановлюються
у визначенні єдиного дерева файлової системи.
Як і в інших ієрархічних файлових системах, в файлової системі
Linux назва файлу має бути унікальним тільки в межах одного каталогу
(на відміну від MS-DOS/Windows, Linux розрізняє великі і малі літери в
назвах файлів).
Для однозначної ідентифікації файлу в дереві каталогів слід
вказувати повний шлях до файлу. Якщо шлях починається з символу
'/bin/sh "(наприклад,/bin/shusr/bin/shbin/bin/shcal), то він відраховується
від кореневого каталогу (абсолютний шлях), а з іншого символу - то від
поточного каталогу, то є того, в якому користувач знаходиться в
поточний момент (відносний шлях).
Крім того, поточний каталог позначається символом "." (Точка),
каталог, знаходиться на один рівень вище, тобто батьківський каталог -
символом '..' (дві точки). Крім того, існує спеціальна позначка для так
званого домашнього каталогу користувача, тобто каталог, з якого він
починає свою роботу - "~" (тильда).
Домашній каталог для кожного користувача також задається в
файлі /bin/shetc/bin/shpasswd, за замовчуванням це /bin/shhome/bin/sh
<необхідна команда> login>.
Для переходу з каталогу в каталог існує команда cd <новий
каталог> (change directory - змінити каталог). Якщо використовувати цю
команду без параметрів, відбудеться перехід в домашній каталог
користувача.
Слід зазначити, що відносні шляхи слід використовувати з
обережністю. Для того, щоб перевірити, в якому каталозі знаходиться
користувач, можна скористатися командою pwd.
Перегляд вмісту каталогів здійснюється за допомогою команди ls,
а розширений варіант цієї команди ls -l дає також інформацію з таблиці
індексних дескрипторів. Щоб скопіювати файл, використовується
команда cp <файл-джерело> <призначення>. Для перенесення файлу
з каталогу в каталог, а також для перейменування файлу,
використовується команда mv <файл-джерело> <призначення>. В обох
командах як параметр <призначення> може здаватися каталог
призначення або ім'я файлу призначення. Крім того, число параметрів
може бути більше двох. У такому випадку всі параметри, крім
останнього, розглядаються як список імен файлів-джерел, а останній
параметр може бути тільки каталогу призначення. Створити каталог
можна командою mkdir, видалити файл - командою rm, видалити
каталог - командою rmdir або rm - r.
Крім звичайних файлів існують різні типи спеціальних файлів. З
одним з них ми вже познайомилися - це каталоги. Ще одним типом
спеціальних файлів є так звані зв'язку або посилання (англ. - link).
В системі Linux розрізняють два принципово різних типи посилань,
хоча створюються вони однією командою - ln.
Перший тип - це так звані жорсткі посилання. Фактично вони є
абсолютно рівноправними новими іменами вже існуючого файлу. Після
створення такого посилання система не розрізняє, яке ім'я було
первинно, а що було створено як посилання. Спроба видалити такий
файл призводить до того, що одне з його імен (то, за якими ми
намагаємося видалити), знищується, а інші (як і сам файл)
залишаються. Тільки після видалення останнього з імен фактично
знищується сам файл.
Другий тип посилання - символічна посилання, створюють
командою ln -l. Це спеціальний тип файлу, який містить в собі ім'я того
файлу (або каталогу), на який він посилається. Символічні посилання
дуже широко застосовуються в системах Linux для забезпечення
сумісності програм з різними системами.
Більшість команд, що застосовуються по відношенню до
символічного посилання, діють безпосередньо на файл, на який
посилання здійснено.
Зате деякі команди, наприклад mv і rm, діють не на файл, а на
посилання. При цьому деякі послідовності команд можуть привести до
небажаних наслідків. Наприклад, є файл oldfile і бажаємо
перейменувати його в newfile. Це можна зробити як командою
mv oldfile newfile
так і послідовністю команд
cp oldfile newfile
rm oldfile
Результати будуть однакові. До речі, в одному командному рядку
можна задати кілька команд, розділивши їх знаком ';, ці команди будуть
виконуватися послідовно:
cp oldfile newfile; rm oldfile
Тепер уявімо, що у нас файл targetfile і посилання на нього oldfile.
Команда
mv oldfile newfile
перейменує посилання, тобто тепер newfile буде посилатися на
targetfile.
Команда
cp oldfile newfile
скопіює не посилання, а сам файл targetfile, тобто під ім'ям newfile
буде створений новий файл - копію targetfile. Наступна команда
rm oldfile
знищить старе посилання, не пошкодивши при цьому файл
targetfile.
Тобто замість одного файлу з посиланням на нього у нас
утворилися два ідентичних файлу, які абсолютно не пов'язані між
собою.
Консольні команди:
✓ fdisk <параметри> - Консольна програма для управління дисками

(Працює тільки з MBR).


✓ parted <параметри> - Консольна програма для управління дисками
(Працює як з MBR, так і з GPT).
✓ dd <параметри> - Консольна програма копіювання даних.
✓ mkfs. <тип файлової системи> <розділ диска> - Клас консольних
команд створення файлових систем на розділах.
✓ mount -t <тип файлової системи> <розділ диска> <точка монтування>
- Консольна програма монтування розділів жорсткого диска.
Диск ділиться на розділи. Як саме диск ділиться на розділи, визначається
таблицею розділів. Таблиці розділів бувають двох типів: MBR і GPT.
Структура MBR. Перші 512 байт (перший сектор диска) головного
пристрою зберігання даних займає MBR (Master Boot Record). До складу MBR
входить 446 байт коду завантажувача, чотири записи по 16 байт - це таблиця
розділів, 2 байта сигнатури. Таблиця розділів може складатися з первинних
розділів (до 4) і логічних розділів (до 128).
Структура GPT. GUID Partition Table, GPT - стандарт формату розміщення
таблиць розділів на фізичному жорсткому диску. Він є частиною розширеного
мікропрограмного інтерфейсу (Extensible Firmware Interface, EFI) - стандарту,
запропонованого Intel на зміну BIOS. EFI використовує GPT там, де BIOS
використовує головний завантажувальний запис (Master Boot Record, MBR). У
GPT немає власної програми-завантажувача, замість цього він працює в парі з
EFI. Усередині GPT використовується адресація логічних блоків LBA, яка
абстрагована від фізики пристрої (на відміну від CHS - «Циліндр-Головка-
Сектор»). Кожен логічний блок займає 512 байт. LBA 0 - перші 512 байт диска,
LBA 1 - наступні, і так далі. Негативні значення LBA означають зсув в блоках з
кінця диска. Останній блок має зміщення «-1» (LBA -1).

Рисунок 4.2. - Структура диска

На даний момент найбільш поширеною схемою розбиття дисків є MBR.


Але з розвитком засобів зберігання даних і їх обсягів, можливостей MBR стає
недостатньо. Це пов'язано з неможливістю забезпечувати доступ до розділу
диска ємністю більш ніж 4.2 TB. На сьогоднішній день вже доступні диски
ємністю понад 6 TB, а так само, застосовуються різні технології по об'єднанню
дисків в масиви, такі як RAID і LVM. Таким чином, застосування схеми розбиття
дисків на основі GPT стає все більш актуальним.
Процес завантаження. Процес завантаження комп'ютера є
багатоступеневим процесом, і починається він з ініціалізації системних
пристроїв набором мікропрограм, званих BIOS (Basic Input/Output System), які
виконуються при старті системи. Після того, як BIOS успішно перевірить
системні пристрої, йде процес пошуку завантажника в MBR пристроїв
зберігання (CD/DVD диски, USB диск, HDD, SSD і ін.) Або на першому розділі
пристрою. Після того, як завантажувач отримав управління, він отримує
таблицю розділів і готує до завантаження операційну систему. У сімействі
завантажників GNU/Linux яскравими представниками є GRUB і LILO. У них MBR
складається з невеликої частини асемблерного коду. Стандартний
завантажувач Windows/DOS в змозі перевірити тільки активний розділ,
вважати кілька секторів з цього розділу і потім передати управління
операційній системі. Він не в змозі завантажити Linux, так як не наділений
необхідним функціоналом. GRand Unified Bootloader (GRUB) - це стандартний
завантажувач для операційних систем сімейства GNU/Linux, і всім
користувачам рекомендується за замовчуванням встановити його в MBR, для
того щоб мати можливість завантажувати операційну систему з будь-якого
розділу, первинного або логічного.
Приклад роботи з MBR. Існує спеціальний набір команд для роботи з
MBR. Так як він розташований на диску, то може бути збережений і, в разі
необхідності, відновлений.
✓ dd if =/dev/sda of =/path/mbr-backup bs = 512 count = 1 - Для створення

резервної копії MBR


✓ dd if =/path/mbr-backup of =/dev/sda bs = 512 count = 1 - Для
відновлення MBR
✓ dd if =/dev/sda of =/path/mbr-boot-code bs = 446 count = 1 - Для
збереження тільки завантажувального коду
✓ dd if =/dev/sda of =/path/mbr-part-table bs = 1 count = 66 skip = 446 - Для
збереження тільки таблиці розділів
✓ dd if =/path/mbr-backup of =/dev/sda bs = 446 count = 1 - Для
відновлення завантажувального коду з файлу mbr-backup
✓ dd if =/path/mbr-backup of =/dev/sda bs = 1 skip = 446 seek = 466 count
= 66 - Для відновлення тільки таблиці розділів
✓ dd if =/dev/zero of =/dev/sda bs = 446 count = 1 - Для очищення MBR,
але при цьому залишити таблицю розділів

ЗАГАЛЬНЕ ЗАВДАННЯ ДЛЯ ВИКОНАННЯ

Етап 1. Вивчення команд інтерпретатора. У терміналі проведить


тренування виконання команд: date; oclock; finger; hwclock; uname.
Тренування полягає в отриманні довідкової інформації за вказаними
командам. Показати приклади виконання команд. Супровід скриншотами,
поміщеними в звіт.
Етап 2. Виконання навігації в файлової структурі. Використовуючи
команди оболонки, створіть в домашньому каталозі користувача дерево
каталогів згідно з наступною схемою.
У домашньому каталозі - cat1, що містить каталоги cat2 і cat3. Каталог
cat1/cat2 містить каталог cat3. Каталог cat1/cat3 містить каталог cat4. Каталог
cat1/cat2 містить каталог cat5. Каталог cat1/cat2/cat3 містить cat6 і cat7.
Каталог cat1/cat8 містить символічне посилання на каталог
cat1/cat2/cat3/cat6. Каталог cat1 містить каталог cat8.
необхідно:
1. Видалити каталоги з дублюючими іменами.
2. Видалити недозволену посилання cat6.
3. Створити каталог dir. У файл dir/date помістити поточну дату.
4. В домашній директорії створити символічне посилання link1 на файл
dir/date.
5. Намалювати граф, відповідний створеної файлової системи.
6. Перейменувати файл dir/date в файл dir/current_date.
7. Cкопіровать файл dir/current_date в домашню директорію.
8. Вивести вміст всіх каталогів, починаючи з самого верхнього для
завдання (використовувати тільки одну команду і один раз).

Етап 3. Підрахуйте кількість рядків у файлі, який розташований в


каталозі/etc, а найменування файлу задано індивідуальним варіантом
(таблиця 4.4). Вивести на екран вміст файлу. Відповідь підтвердити
скріншотом.
Етап 4. Робота з датою і календарем. У терміналі виведете поточну дату.
Побудувати календар на рік, номер якого визначено індивідуальним
варіантом (таблиця 2.4). Відобразити у вигляді скріншоту. Порівняти
індивідуальний календар з календарем 1752 року. Вказати відмінність у
календарях.

Етап 5. Управління дисками. Додайте в віртуальну машину з


операційною системою Linux новий тестовий віртуальний жорсткий диск
(робиться це в настройках віртуальної машини). Запустіть віртуальну машину з
операційною системою Linux. Виконайте наступні дії:
1. Ознайомтеся з командою fdisk і її можливостями з довідкової
документації.
2. Створіть таблицю розділів (3 первинних і 1 логічний) за допомогою
команди fdisk на доданому віртуальному диску (зазвичай це
диск/dev/sdb). Запишіть зміни на диск.
3. Перевірте факт створення розділів використовуючи команду fdisk.
(Так само, створення розділів можна перевірити за допомогою
команди ls/dev/sd *). Підтвердити скріншотом.
4. Відформатуйте створені розділи в файлову систему ext4.
5. Ознайомтеся з командами mount і umount і їх можливостями з
довідкової документації.
6. Змонтуйте створені розділи і створіть там довільні файли.
7. Зробіть резервну копію MBR за допомогою утиліти DD.
8. Зітріть таблицю розділів MBR за допомогою утиліти DD.
9. Відновіть MBR за допомогою утиліти DD.
10. Змонтуйте розділи і перевірте цілісність даних.
11. Отмонтіруйте розділи.
12. Встановіть gdisk <sudo apt-get install gdisk>.
13. Створіть таблицю розділів GPT (5 первинних розділів) за допомогою
gdisk.
14. Відформатуйте створені розділи в файлову систему ext3.
15. Змонтуйте створені розділи і створіть там довільні файли.
16. Зробіть резервну копію GPT за допомогою утиліти DD, попередньо
визначивши необхідну кількість байт для резервної копії.
17. Зітріть GPT за допомогою утиліти DD.
18. Відновіть GPT за допомогою утиліти DD.
19. Змонтуйте розділи і перевірте цілісність даних.
20. Отмонтіруйте розділи.
21. Визначте переваги і недоліки таблиць розділів MBR і GPT.

Етап 6. Виконати додаткове завдання відповідно до даних таблиці 2.4.


Результати виконання відобразити у вигляді скріншотів.

ІНДИВІДУАЛЬНІ ЗАВДАННЯ ДЛЯ ВИКОНАННЯ

Таблиця 4.4. -Індивідуальне завдання


№ Файли для Рік Додаткове завдання
варіанту підрахунку календаря
рядків
1. / Etc/passwd 2031 Скопіювати директорію snap
home/username. Оновити всі snap пакети
в вихідної директорії (snap refresh).
Перевірити відмінність між початкової
директорії і скопійованої директорії
2. / Etc/group 2032 Вивести підкаталог містить один рівень
додаткових підкаталогів для кожного з
класів пристроїв (cd sys/class), які були
зареєстровані в системі (наприклад,
термінали, мережа пристрою, блокові
пристрої, графічні пристрої, звукові
пристрої і т. Д.).
3. / Etc/profile 2033 Вивести підкаталог містить інтерфейси
для перегляду і управління об'єктами і
атрибутами, що відносяться до
мікропрограмному забезпечення.
4. /etc/pam.conf 2034 Вивести вміст директорії, яка
видаляється при кожному
перезавантаженні ПК
№ Файли для Рік Додаткове завдання
варіанту підрахунку календаря
рядків
5. /etc/rsyslog.conf 2035 Знайти директорію, в якій можуть
зберігатися файли, які зберігаються в
директорії /bin
6. / Etc/crontab 2036 Дослідити вміст папки, що містить всі
системні бібліотеки (/lib - System
Libraries).
7. / Etc/modules 2037 Встановити з використанням
суперкористувача месенджер telegram.
встановити директорію в яку
зберігаються призначені для
користувача модулі (~/snap)
8. / Etc/networks 2038 Вивести вміст директорії, в якій
зберігаються додаткові програмні
пакети. Інсталювати програмний модуль
skype всередину цієї директорії.
9. / Etc/protocols 2039 Повернути список дозволів в директорії,
що містить media файли системи
10. / Etc/fstab 2040 Вивести вміст папки, що містить
інформацію про uncomplicated firewall.
11. / Etc/rpc 2041 Вивести назву директорії, в якій є
можливість монтувати файлові системи і
описати навіщо потрібен цей процес.
12. / 2042 З'ясувати, де містяться файли журналів
Etc/environment (log) системи. Виведіть останній з них за
датою створення.
13. / Etc/nanorc 2043 Опишіть процес відновлення після
раптового краш системи. Вкажіть
послідовність відновлення. Наведіть
відповідні файли.
14. / Etc/hosted 2044 Вивести інформацію про месенджери
telegram, в запиті використовуючи назву
модуля, якому він знаходиться (snap info
telegram)
№ Файли для Рік Додаткове завдання
варіанту підрахунку календаря
рядків
15. / Etc/issue 2045 З'ясувати, де містяться скрипти, що
використовують для інтерпретування
призначених для користувача команд -
start/stop в shell.
16. / Etc/legal 2046 Описати випадки збереження модулів в
директорії /usr/local/. Привести
приклади.
17. / Etc/magic 2047 Пояснити призначення директорії, яка
використовується при раптовому crash
системи. Відобразити її вміст. Вказати як
вона використовується.
18. / Etc/shadow 2048 Вивести вміст директорії, що містить
дані, пов'язані з конкретними службами
сервера
19. / Etc/hosts 2049 Яка директорія містить бібліотеки для
/usr/bin and/usr/sbin
20. / Etc/services 2050 Включити в ОС брандмауер з політикою
заборони за замовчуванням.

Контрольні питання.
1. Що таке термінал?
2. Перерахуйте основні системні каталоги.
3. Розкажіть про типи файлів в ОС Linux.
4. Що записано в першому секторі головною завантажувального
запису MBR?
5. Функціональне призначення MBR і GPT?
6. Структура GPT.
7. Яка максимальна кількість первинних розділів можна створити при
використанні таблиці розділів MBR?
8. Яка максимальна кількість первинних розділів можна створити при
використанні таблиці розділів GPT?
9. Як зберегти інформацію про структуру MBR?
10. Як створити 10 розділів c файлової системою ext3 на диску в таблиці
розділів MBR?
11. Як стерти код завантажувача в MBR?
12. Як можна змонтувати розділ диска з файловою системою в режимі
тільки для читання?
13. Як можна здійснити відновлення GPT розділів в разі збоїв?
14. Що таке файл? Що таке каталог?
15. Що таке шлях до файлу? Абсолютний і відносний шлях?
16. Посилання. Типи посилань. Команда створення посилання.
17. Команда зміни поточного каталогу.
18. Створення та видалення файлів і каталогів.
19. Копіювання і переміщення файлів і каталогів.

You might also like