Сага про файлах. Засоби роботи з файлами, архівами, пакетами, Linux, Операційні системи, статті

Федорчук А.
www.linuxsaga.newmail.ru

Зміст

Освоївшись із середовищем проживання, за вибором, можна, здавалося б, і приступити до створення контенту. Але …

Що таке контент, про який стільки говорилося (і буде говоритися) в цих сагах? Це, в першу чергу, файли, файли і ще раз файли. Створювані відповідними програмами – генераторами оригінального авторського матеріалу.

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

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

Але спочатку кілька слів про те,

Що потрібно знати про файлову систему Linux

Мається на увазі – що потрібно знати простому, хоча і полагающему себе професійним, користувачеві. І тому особливих подробиць тут не шукайте: їх можна виявити в товстих книгах про Linux або в чудової статті Віктора Хименко “Файли, файли, файли” (Світ ПК,
2000, ##2, 3).

А користувачеві потрібно в першу чергу усвідомити відмінності файлової систему Linux від звичних систем DOS і Windows.

Linux дозволяє працювати з безліччю файлових систем, як локальних, так і мережевих. Однак у нього є і своя, рідна, файлова система, що носить назву ext2fs. Побудована вона гранично просто і логічно: все в ній є файлами – дані, програми, каталоги, пристрою (для прикладу – послідовні або паралельні порти). І тому файли поділяються на типи:

Звичайні файли – це, по-перше, виконані двійкові файли (типу файлів *. exe або *. com, але не прив’язані до якогось розширення), по-друге, ASCII-файли, що містять простий текст (не обов’язково романічна змісту – сюди відноситься і переважна більшість системних конфігураційних файлів); ​​по-третє, файли даних, створені како-небудь програмою (текстовим процесором, графічним редактором або електронною таблицею, наприклад) у власному форматі. Втім, все це користувачеві DOS / Windows зрозуміло.

Каталоги – це теж файли, що містять інформацію про каталогах: рекурсія – широко поширений і улюблений прийом в світі Unix-систем (досить згадати розшифровку абревіатури проекту GNU – GNU’s Not Unix). Каталоги об’єднуються в ієрархічне дерево, що починається, як і належить, з кореня (/ – root, кореневий каталог) і зростаюче увись і вшир; будь накопичувачі, як монтовані при завантаженні (жорсткі диски, скажімо, і їх логічні розділи), так і компоненти в процесі роботи (CD ROM, Zip, дискети) – Не більш ніж гілки дерева каталогів.

Файли пристроїв – поняття для Windows-мігранта незвичне. Це потрібно просто запам’ятати: всі фізичні пристрої, присутні в системи (Порти введення / виводу, накопичувачі різного роду, звукові пристрої та інші), з точки зору ext2fs є файлами. Пристрої ці можуть бути блочними (наприклад, накопичувачі) або символьними (порти введення / виводу), але це – вже подробиці.

Нарешті, посилання (links) – це якийсь аналог “ярликів” в Windows або “Тіней” в OS / 2. Посилання може бути прямою, або жорсткою (hardlink, або, часто, link просто) і символічної (symlink). Перші можуть вказувати на будь-який файл у файловій системи, тоді як другі зобов’язані знаходитися в одному дисковому розділі.

Щоб краще зрозуміти, що таке посилання, давайте спробуємо розібратися, що ж таке з точки зору ext2fs файл (не можу не відзначити, що для себе я остаточно зрозумів це після прочитання згаданої статті Віктора Хименко).

Так от, файл складається ніби з двох частин. Перша – це нумеруватися в шістнадцятковому обчисленні запис – inode (Адекватного перекладу мені виявити не вдалося, іноді перекладається як “вузол”). У ній міститься інформація про розмір файлу, його форматі, права доступу і т.д. Друга частина – це ім’я файлу, пов’язане з inode допомогою прямого посилання.

Які наслідки цього для кінцевого користувача? Перше – ім’я файлу, включаючи і розширення, не грає в Linux такий сакральної ролі, як в DOS / Windows. Якщо в останній змінити розширення у файлі, скажімо, *. psd на будь-яке інше – вважати його Photoshop вже не вдасться. В Linux же в загальному випадку файлу даних будь-якого типу може бути приписано будь-яке розширення (або його може не бути зовсім): на розуміння його породила програмою це ніяк не відіб’ється. Більш того, файл може мати кілька розширень (тобто груп знаків, розділених точками): типовий приклад – архівний компрессированний файл *. tar.gz.

Правда, деякі програми (скажімо, графічні редактори або офісні пакети) все ж вимагають, щоб файл формату TIFF мав розширення *. tif, і т.д. Але це – перекручення генеральної лінії. І викликається тим, що ім’я файлу неявно передається програмі, тобто запускає її команді, в якості одного з аргументів.

Слідство друге – теоретично (та й практично) з одним і тим же inode може бути кілька скільки завгодно посилань, причому – не обов’язково ідентичних. Тобто один і той же фізичний файл як би виступає під різними іменами. Це відіграє важливу роль при використанні бібліотек, шрифтів і в ряді інших випадку.

Слідство третє – видалення файлів в Linux відбувається абсолютно інакше, ніж в DOS / Windows. Де, як відомо, віддалений звичайними засобами файл продовжує фізично існувати до тих пір, поки на його місце не записана нова інформація. На чому і засновані програми відновлення помилково видалених даних, на кшталт прославила Нортона
unerase.

У Linux файл (тобто inode) віддаляється автоматично, коли стає недоступним для системи. Це відбувається тоді, коли видалена остання посилання на нього (а ім’я файлу, видалити засобами командного рядка або файлового менеджера – і є таке посилання) і закрита остання звертається до нього програма.

Тобто: якщо ми видалимо всі файли в усіх каталогах всіх рівнів вкладеності (а кошти командного рядка дають можливість зробити це граючись, і навіть підтвердження не запросять) – ми будемо як і раніше існувати в працюючій системі. І всі відкриті файли даних будуть існувати, можуть бути змінені, записані, перейменовані і т.д. Всі це зникне тільки після перезавантаження системи. Але зате – безповоротно: ніяких unerase, undelete та інших ліберальність в Linux не можливо в принципі.

Правда, така графічна середу, як KDE, має аналог сміттєвої корзини Windows. Але це – просто окремий каталог, куди поміщаються файли, вважаємо непотрібними, щоб очі не муляли. І звідки їх можна навіть не відновити в сенсі DOS, а просто скопіювати назад.

Повертаючись до імені файлу. Оскільки воно в Linux не настільки свято, як в DOS / Windows, і обмежень на нього багато менше. Так, абсолютно заборонені до використання символи – тільки / і \. Правда, деякі інші спеціальні символи, такі, як!, @ і інші з верхнього ряду клавіатури, за винятком _, всякого роду дужки і лапки, також не рекомендуються до використання в іменах файлів, особливо – в початковій позиції, але це, звичайно, вимога оточення командного рядка, а не системи. максимальна

Максимальна довжина імені файлу (включаючи і будь-яку кількість “Розширень”) – 255 знаків. А максимально можлива довжина шляху – 4096, що практично можна вважати нескінченним. На відміну від Windows, де при прагненні програм інсталюватися глибоко в надра директорії Programs Files, обмеження на довжину шляху в 256 знаків стає реальністю.

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

Як правило, після інсталяції системи в кореневому (/, root) каталозі присутні:

Крім того, в дереві можуть бути присутні і деякі інші каталоги, наприклад, / opt – для опціональних компонентів, або / Misc – для всього, що не підпадає під наведені визначення.

Загалом, призначення каталогів і логіка їх організації зрозуміла, якщо затратити деякий час на вивчення їх вмісту. Труднощі, швидше за все, можуть виникнути з каталогом / mount, оскільки ні DOS, ні Windows не мають навіть віддалених аналогів цього поняття.

Коли йшла розмова про інсталяції системи і створення дискових розділів, побіжно згадувалася необхідність задати для них точку монтування. Скажімо, для створеного нами розділу під дані користувача така точка визначалася як / home. Тим самим ми включили цей (або будь-який інший) дисковий розділ в структуру дерева каталогів Linux. Або, іншими словами, змонтували його в файлову систему Linux.

Розділи жорсткого диска з файловою системою ext2fs зазвичай монтуються автоматично, при завантаженні системи. Часто так само надходять і з FAT-розділами. А в Linux Mandrake (і деяких інших дистрибутивах) передбачено автоматичне монтування та для змінних накопичувачів – дискет і CD ROM. Ось під них-то і відведений каталог / mnt.

А взагалі, що і як монтується – описано в конфігураційному файлі / Etc / fstab, в якому в кожному рядку вказується (зліва направо) ім’я пристрою, точка його монтування, тип файлової системи, умови монтування (за замовчуванням, автоматичне, користувачем і т.д.) і параметри резервного копіювання. Файл цей може виглядати приблизно так:

/dev/hda1 /mnt/DOS_hda1 vfat user,exec,conv=auto 0 0
/dev/hda2 / ext2 defaults 1 1
/dev/hda3 swap swap defaults 0 0
/dev/hda4 /home ext2 defaults 1 2
/mnt/floppy /mnt/floppy supermount fs=vfat,dev=/dev/fd0 0 0
none /proc proc defaults 0 0
none /dev/pts devpts mode=0620 0 0
/mnt/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom1 0 0

З чого можна бачити, що в наведеному прикладі всі розділи ex2fs, розділ підкачки і FAT-розділ монтуються за замовчуванням, а для змінних носіїв передбачена опція supermount, тобто монтування при зверненні і файлових – при припиненні його.

Якщо така опція не підтримується, змінні носії потрібно монтувати вручну. Для цього дається команда mount з ім’ям пристрою і точкою монтування в якості аргументів. На приклад, з допомогою

mount /dev/hdc /mnt/cdrom

монтується CD ROM, підключений в якості майстра до другого каналу IDE; вміст його після цього можна буде побачити в каталозі / Mnt / cdrom. А перед витяганням змінного носія (щоб уникнути тяжких наслідків, про які – в розділі техніки безпеки), його слід демонтувати командою umount (звертаю увагу – без букви n, всупереч логіці) з точкою монтування в якості аргументу. Зрозуміло, при цьому звернень до файлів на носії бути не повинно.

Однак для користувача найбільш важливий каталог / usr (крім його домашнього, зрозуміло). Якщо переглянути його уважно, можна виявити в ньому численні повторення. Наприклад, каталоги / Usr/X11R6/bin та / usr/bin/X11 здаються ідентичними за змістом, так ж як / usr/X11R6/lib/X11 та / usr/lib/X11. Виникає природне бажання стерти надлишки для звільнення дискового простору.

Робити цього не потрібно: система не дура, і нічого в ній не відбувається дарма. Оскільки вміст / usr/X11R6/bin та / usr/X11R6/lib/X11 – не більше, ніж символічні посилання на файли з відповідних роздягнувши каталогів / usr / bin та / usr / lib. Чому?

Linux, як говорилося у вступі – Unix-подібна система, тобто повний функціональний аналог Unix. І, теоретично розмірковуючи, будь-яка програма для будь-якої версії Unix повинна працювати і в Linux. У чому часто (Хоча і не завжди) можна переконатися на практиці, якщо скомпілювати цю програму з вихідних текстів. Так от, Unix-системи мають трохи розрізняються структури каталогів. І, відповідно, намагаються шукати необхідні їм компоненти (на кшталт бібліотек, шрифтів і іншого) за різними шляхами. Щоб передбачити це, такі й дублюються у вигляді посилань скрізь, де в цьому може виникнути необхідність.

Втім, навіть якщо бажання стерти ці посилання буде непереборною, виконати його в режимі звичайного користувача не вдасться без додаткових маніпуляцій. А деякі каталоги (наприклад, / Root) не вдається навіть переглянути. Тому що всі файли в Linux (а все, що є в Linux, як говорилося, – це файли) мають ще одне неодмінна властивість (також зафіксоване в inode) – права доступу.

Саме поняття прав доступу викликає найбільші психологічні Складність у Windows-мігранта. Звичайний випадок – тільки що створений особисто або скопійований файл не вдається відкрити, видалити або перемістити, – здатний довести до тихого сказу. Якщо не здогадатися подивитися в властивості файлу або каталогу і з подивом дізнатися, що ви не маєте щодо нього відповідних прав.

А права ці вміють бути двох родів – права приналежності і права дії. Перші визначаються для власника файлу (owner), групи користувачів (group) і всіх інших (other). Відносно ж дії існують права на читання (read), зміна (або запис, write) і виконання (execute).

Власник файлу – це користувач, який створив його або скопіювати. За замовчуванням він зазвичай (хоча й не завжди) отримує на нього всі права. Які мають на увазі можливість переглянути його, модернізувати та записати зміни, а також – виконати; виконання для одиночного файлу – це можливість запуску бінарної програми або скрипта, для каталогу – можливість перейти в цей каталог і переглянути вміст. Єдине, чого не може власник – змінити права приналежності, тобто зробити власником своїх файлів дядю Петю: це – привілей виключно адміністратора.

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

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

Протягом усього попереднього оповідання неодноразово згадувався всемогутній суперкористувач, іменований у народі root (не плутати з каталогом / root, який є просто його домашній каталог), root-оператор, адміністратор і тому подібними титулами, підкреслюють його велич і могутність. Настав час розповісти докладніше, хто це такий.

Суперкористувач – це адміністратор системи, відповідальний за її настройку та підтримку працездатності. Тобто, швидше за все, це знову ж ваша скромна персона. Однак у цій іпостасі ваші права корінним чином відрізняються від ваших прав в ранзі користувача. В Зокрема, як root ви маєте всі права дії для всіх файлів системи. У тому числі – і право, наприклад, заборонити самому собі як користувачеві читати власні файли (своя рука – владика). Оскільки в цій якості ви можете змінити не тільки права дії, але й права приналежності: призначити власником ваших користувальницьких файлів не тільки дядю Петю з сусіднього двору, але і самого ж себе як суперкористувача, заборонивши їх читання всім, крім власника …

Втім, ви завжди в змозі змінити ситуацію на зворотну. Для цього не потрібно навіть завершувати свій користувальницький сеанс і починати новий, від імені суперкористувача. Досить в консолі або вікні терміналу набрати в командному рядку команду su (абревіатура зрозуміла? – Це той же superuser) і ввести пароль адміністратора: на деякий час ви виступите в його якості. Ну а після завершення всіх потрібних дій не забудьте повернутися в звичайний користувальницький режим командою exit …

Так що якщо вам раптом захотілося послухати музику, запустивши власноруч зроблений файл mpeg, а у відповідь ви отримуєте повідомлення, що права такого не маєте (permission denied) – не потрібно поминати рідних творців Linux. А слід уважно переглянути каталог / dev на предмет прав доступу до аудіо, власником яких є суперкористувач: можливо, інші просто не мають прав виконання для відповідних файлів. Виконайте цілюще дійство, описане в попередньому абзаці – і насолоджуйтеся музикою в своє задоволення …

Сподіваюся, що з правами доступу до новостворених файлів все більш- менш ясно. Дещо складніше – з правами на файли скопійовані. Зазвичай ви є власником усіх файлів, розташованих у вашому домашньому каталозі за адресою / home / імя_рек, скорочено позначається в оболонці bash як $ home. І, відповідно, маєте в своєму розпорядженні відносно їх усіма правами. Але бувають і винятки.

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

По-друге, ваші права порушуються при копіюванні файлів з CD ROM. В DOS / Windows, як ви пам’ятаєте, такі файли автоматично отримують атрибут READ ONLY. У Linux же на них за замовчуванням встановлюється заборона на запис для всіх, включаючи і власника.

Ще кумедніше, якщо за допомогою файлового менеджера з CD ROM копіюються цілі каталоги і підкаталоги. В цьому випадку батьківський каталог копіюється на вінчестер, але – без всякого вмісту. Оскільки для нього автоматично встановлюється заборона на запис. Правда, це властиво не всім файловим менеджерам, але – багатьом.

Нарешті, при копіюванні з носія файлової системи FAT (Дискового розділу, змінного вінчестера, дискети або Zip) успадковуються атрибути вихідних файлів: якщо останні були позначені як READ ONLY, цільові файли будуть автоматично закриті для запису, у тому числі – і для їх нового власника.

Так що права доступу – річ в Linux архіважлива (про що я ще буду говорити в розділі про техніку безпеки). Хоча, повторюю, нічого особливо хитрого тут немає – потрібно просто бути уважним.

Тепер, отримавши початкові уявлення про файлову систему Linux, можна звернутися до вивчення засобів маніпулювання нею, тобто файловим менеджерам. Але спочатку – які вони,

Вимоги до файлового менеджеру

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

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

Для файлових менеджерів на платформі Linux (як і Unix взагалі) необхідна умова – ефективне управління правами доступу – зміни власника та групи, дозвіл / заборона на читання / запис / виконання і т.д. І бажано, щоб цю операцію можна було б здійснювати рекурсивно, включаючи підкаталоги будь-якого рівня вкладеності і містяться в них файли.

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

Це – мінімально необхідні функції, без яких застосування файлового менеджера невиправдано, простіше обійтися засобами оболонки командного рядка.

З розкішного хотілося б мати вбудованого ftp-клієнта або можливість підключення зовнішнього. Також бажано наявність програм для перегляду файлів найбільш поширених текстових і графічних форматів. Ну і елементарне редагування текстових файлів вбудованими або підключаються засобами – їх наявність стало традицією з часів командира Нортона.

З точки зору інтерфейсу всі файлові менеджери можна розділити на дві групи – командирського стилю (a la Norton Commander) і Explorer-подібні. Яка краще – однозначно відповісти не можна, визначається суто особистими звичками і уподобаннями. Мені більше подобається перший, хоча знаю чимало людей, у яких вид двох панелей викликає приступ ідіосинкразії. Надзвичайно спритно, однак, управляються з баобабоподобнимі древами Explorer. Так що, ймовірно, мами всякі потрібні, мами всякі важливі. Аби реалізовано було добре.

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

Засоби середовища KDE для роботи з файлами

Як уже говорилося, файловий менеджер, іменований KFM – невід’ємний компонент цієї інтегрованої графічної середовища. Це – досить точне подобу свого прототипу, Windows Explorer. Він може виступати в одновіконному або двухоконной вигляді.

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

З інших інтерфейсних елементів (кожний з яких можна відключити) є меню, інструментальна панель з кнопками (вгору, назад, вперед, додому, перечитати, копіювати, вставити, допомога, відкриття нового вікна), адресна та статусна рядка.

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

Перейменування виконується через контекстне меню (пункт Властивості, де в панелі на закладці Основні просто вписується нове ім’я). Тут ж – управління правами доступу, можливе, однак, тільки для одиничного файлу або каталогу, без рекурсії.

Також через контекстне меню можна переглянути (і при необхідності відредагувати) файл. Для цього в ньому вибирається пункт Відкрити за … і далі – одне з встановлених в системі додатків. Для перегляду і редагування текстових файлів можна визначити зовнішній редактор (Вбудованого редактора немає).

Крім того, для кількох поширених типів файлів в контекстному меню з’являється пункт виклику програми для їх перегляду і редагування. Наприклад, для текстових файлів це буде штатний текстовий редактор Kedit. В цей меню потрапляють і знову встановлені (не входять в дистрибутив) програми KDE.

І взагалі, налаштувань (в пункті меню Налаштування – Налаштувати менеджер файлів) досить багато. Можна визначити гарнітуру шрифту (будь-яку доступну в системі) і його розмір (варіанти – маленький, середній великий). Можна перевизначити колір фону, нормального тексту і гіперпосилання (в якості яких, виступають каталоги і файли). Можна також відключити проходження дерева каталогів (якщо включений його показ) за рухом курсора у вікні вмісту каталогів: це зручно для копіювання з каталогу в каталог методом перетягування: файл або їх група (виділяється стандартним для Windows способом – мишею при натиснутому Control) перетягується з вікна файлів в один з підкаталогів вікна дереві.

З додаткових функцій слід відзначити вбудований браузер, простенький, але майже повнофункціональний і працює чудово швидко. Слід сказати, що браузер викликається за замовчуванням при відкритті каталогу, що містить *. htm (l) файли. Щоб цього не було, слід в головному меню (пункт Вид) відключити опцію Вид HTML. Браузер цей не дуже впевнено поводиться з фреймами і JavaScript, категорично не розуміє каскадних стильових таблиць, не розпізнає некотрие графічні формати (наприклад, *. png, не кажучи вже про *. Djvu). Проте має важливе гідність – дозволяє перемикати кодування російської мови.

З інших додаткових коштів відзначу також архіватор. Правда, працює він іноді трохи дивно: наприклад, благополучно розпаковує файли *. tar.gz, але просто на файли *. tar реагує так, наче й не підозрює про існування цього формату. Потрібно сказати, що і ряд інших архівних форматів (*. bz) також ставлять його в подив.

Крім того, kfm частково дозволяє працювати з архівами розпізнаваних типів, як з каталогами. Запускати виконані файли – не виходить, але можна читати текстові файли. Правда, це можливо тільки при низьких рівнях захисту, які обирають при інсталяції.

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

В цілому kfm – майже повний функціональний аналог Windows Explorer. І любителі останнього не виявлять в ньому нічого незвичного. В Як основний недолік (якщо не вважати таким інтерфейс в принципі) можна відзначити виняткову повільність: під час відкриття великого каталогу можна чималий час спостерігати в статусному рядку задумливу напис Працюю … (По мені – так швидше Дрімаю …).

Повільність ця аж ніяк не обумовлена ​​середовищем KDE, самої по собі не якого немає швидкодією. Оскільки штатний файловий менеджер з прийдешньої другої версії KDE (все сказане вище відносилося до першої версії) – konqueror, – можна поставити поруч з еталонами швидкості.

Як і його предтеча, konqueror – файловий менеджер, поєднаний з браузером. Зовні фамільне схожість між ними проглядається чітко. Але з точки зору функціональності konqueror дуже виріс.

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

Далі, в ньому нарешті з’явилася можливість сортування – за алфавітом (з чутливістю до регістру або без оної), за розміром, у зворотному порядку. Розширилося число форм представлення – у вигляді тексту і іконок різного розміру, у вигляді дерева. З’явилася можливість редагування панелі інструментів. Безпосередньо з вікна konqueror можна запустити як вікно емуляції терміналу, так і мінікомандную рядок. І найголовніше – можна розділити вікно на будь-яку кількість панелей (по горизонталі або по вертикалі) з незалежним переглядом.

Що стосується вбудованого браузера, то він став дуже схожим на справжній. Навчившись розуміти не тільки JavaScript, але і Java (втім, і те, і інше можна відключити). І не втративши при цьому швидкодії. Крім того, він дозволяє експортувати закладки з Netscape. Ну і, що радісно, ​​як і раніше не забув про різні кодуваннях кирилиці.

Крім штатного kfm, до складу KDE, принаймні в деяких поставках (Linux Mandrake RE тому прикладом) входить ще один файловий менеджер, Kruiser. Він також належить до клану Explorer. Однак суттєво (і, на мій погляд, вигідно) відрізняється від нього інтерфейсом.

За замовчуванням Kruiser має два вікна – дерева каталогів (ліворуч) і файлів (праворуч), головне меню і дві інструментальні панелі, одну вгорі та іншу справа.

З верхньої (загальною) панелі доступні звичайні операції, як то: перехід в батьківський каталог, видалення, вирізування, копіювання і вставка, подання вікна файлів (у вигляді іконок, короткого чи довгого списку). Тут же – монтування нового пристрою або видалення існуючого.

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

У головному меню – чотири, не рахуючи help, пункту: File, Edit, View, Tools. Правда, є ще й пункт Windows, але він поки не активізований.

У пункті першому – всього три опції, New (директорія або пристрій), відкриття терміналу і вихід. У пункті Edit – стандартні маніпуляції вирізання, копіювання і вставки, видалення просто і переміщення в кошик (як і KFM, Kruiser підтримує системну кошик KDE), а також виділення.

Через пункт View включаються / вимикаються інструментальні панелі і статусний рядок, здійснюється оновлення списком та налаштування (Options). Тут же – перемикання виду списку файлову, порядку сортування (по імені, розміру, типу та датою), включення / вимикання показу прихованих файлів і попереднього перегляду. Крім того, тут ж – управління видом вікон файлів. У пункті Tools – пошук файлів, монтування / Демонтується пристроїв, перехід до каталогу.

Трохи зупинюся на налаштуваннях. Це – панель із закладками General, Extensions, Details, View, Misc. У першій можна визначити локалізацію MIME-типів та ікон, оболонку за умовчанням для викликається вікна терміналу, що відкривається за замовчуванням директорію (останню або поточну).

Extensions – приписування типам файлів стандартного розширення; адже в Unix, на відміну від DOS / Windows, розширення в загальному випадку з типом файла ніяк не пов’язане і може бути будь-яким.

У закладці Details визначається ширина (в пікселях) для полів відображуваних атрибутів файлів, таких, як розмір, тип файлу, права доступу та іншого.

У закладці View – приписуються маски різних типів архівних файлів (*. tgz, *. tar.gz, *. tar – для tar-архівів, *. zip – для архівів Zip, і т.д., список можна розширювати довільно).

І, нарешті, в закладці Misc визначається, зокрема, що викликається редактор для текстових файлів.

На відміну від KFM, в настройках Kruiser відсутня можливість зміни гарнітури, кегля і накреслення шрифту, кольору його і фону: під всіх цих випадках використовуються системні установки для KDE в цілому.

Крім головного меню, існує також меню контекстне, що викликається традиційної правою клавішею миші. В поле дерева каталогів меню це має опції Explore (виведення вмісту в поле файлів), Expand і Collapse (розгортання і згортання підкаталогів, відповідно), Delete (це – зрозуміло), Refresh (зчитування листа каталогів заново), Properties (через які відбувається управління правами доступу, і для файлів теж).

В поле файлів у контекстному меню присутні пункти Cut, Copy, Delete, Move to Trash. При фокусуванні на каталозі до них додається Explore (розгортання каталогу), при фокусуванні на файлі – Open (якщо цього типу файлу приписано будь додаток), Open with (вибір відкриває програми зі списку) і Edit (відкриття в текстовому процесорі, встановленому в налаштуваннях за замовчуванням).

Слід зауважити, що всі дії по відкриттю каталогів і файлів виконуються, на відміну від KFM, подвійним клацанням (зрозуміло, лівою клавішею).

А взагалі-основним способом маніпуляцій з файлами в Kruiser є маніпулювання маніпулятором (тобто, по простому, перетягування мишею). Таке можливе як між полями дерева каталогів і файлів (в обох напрямках), так і між панелями файлів (якщо їх два). При перетягуванні виникає контекстне меню з трьома пунктами – Copy, Move і Link.

Чого вдається виявити не відразу – так це того, як виконується перейменування файлів. Ця функція доступна одним єдиним чином: потрібно клацнути (у списку файлів) саме на імені, а не на піктограмі файла. Після цього замість існуючого імені можна надрукувати будь-яке інше, подібно тому, як це зроблено в Windows Commander. Потрібно тільки не забути натиснути після цього Enter: якщо просто відвести курсор в іншу позицію, вихідне ім’я файлу (або каталогу, без різниці) відновиться.

Як уже говорилося, управління правами доступу здійснюється через контекстне меню (і тільки так). Однак змінюються вони при цьому тільки для одиничного каталогу або файла, рекурсія не підтримується.

Kruiser не має вбудованого архіватора. Але через контекстне меню (Опція Open with) можна для відкриття архіву викликати будь-який з наявних в системі, в тому числі і той же Archiver, який вбудовується в KFM.

Для ftp-доступу можна використовувати опцію Connect new device (в меню Tools) і з випадаючого меню вибрати пункт Ftp. Після чого прописати ім’я з’єднання, адреса сервера і порт; поля для запису логіна і пароля хоча і присутні, але недоступні.

Хоча Kruiser, як випливає з назви, є додатком KDE, за швидкодії він разюче відрізняється від KFM: зчитування каталогу з багатьма десятками файлів відбувається на порядок швидше, копіювання – швидше як мінімум удвічі.

Та й в цілому він здався мені набагато більш зручним у використанні, ніж kfm. Хоча б завдяки наявності можливості включити дві панелі – властивість, звичне по командирським менеджерам, що були в пріснопам’ятного File Manager з Windows 3.xx, але зникле їх Windows Explorer (мабуть, через горезвісної непотрібності народу; а Explorer народу потрібен?). Тому що настав час звернутися до тих файловим менеджерам, які користуються любов’ю народу (як завжди, не розуміє, що йому потрібно). І являють собою

Клони Norton Commander

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

Маленький відступ: у чому причина любові нашого народу до похідним Norton Commander? Адже ні в одній іншій країні світу (і над усе – в Америці) вони не користуються хоча б порівнянної популярністю. Це залишалося для мене загадкою, поки я не прочитав присвячене Norton Commander дослідження на сайті NeoSoft. В якому доводиться, що Пітер Нортон – не хто інший, як лейтенант Шмідт, щасливо врятувався з лап царизму і іммігрував до Америки, де вступив в американські ВМС під прославили його надалі псевдонімом. Ймовірно, покликаним підкреслити, що він прийшов “з холоду”. Ім’я своє, що характерно, він зберіг, а по батькові у американців не прийняті.

Дослужившись до чину коммандера (Щось середнє між каперангом і контр-адміралом), він вийшов в відставку і подався в софтверну індустрію, де і знайшов своє справжнє покликання. Так що коріння Norton Commander лежать не деінде, а все на тій же Русі споконвічній …

Версія, звичайно, спірна, але має право на існування. І, головне, багато що пояснює, аж до квітів інтерфейсу Norton Commander за замовчуванням (інвертовані кольору Андріївського прапора). Приймати чи не приймати її – залишаю на ваш розсуд.

Однак я відволікся. Перше, що спадає на думку при зверненні до платформі Linux в рамках розглянутої теми – Midnight Commander, відомий аналог Norton Commander. Саме він зберіг найбільша кількість рис свого попередника, хоча функціонально далеко його переріс. Багато говорити про нього я не буду. По-перше, він настільки близький до вихідного Norton, що будь-який працював з останнім без зусиль розбереться з ним. По-друге, він докладно описаний на
сайті Віктора Костроміна. А по-третє, головне, де виникає потреба в файлових менеджерах – це графічні оболонки (в консолі зручніше все ж користуватися засобами командної рядка). Однак дещо про нього сказати необхідно, так як саме MC – одна з програм, що викликають почуття близькості при першому заході в Linux того, хто пам’ятає часи чистого DOS.

І так, MC – це консольний файловий менеджер. Він входить до складу більшості дистрибутивів Linux (за винятком суто американських – вони ж патріоти і почвенники ще чистіше нас). І в ряді з них, як в Linux Mandrake, встановлюється за умовчанням. Викликається просто – набором mc в командному рядку. Після чого виникають дві всім пам’ятні панелі синьо-білого кольору з рядком меню зверху і підказкою по гарячим клавішам – знизу.

Що робити далі – знають усі, застали часи DOS (а хто не знає – Значить, і потреби в цьому не відчуває). Скажу тільки одне: в’їдаються в плоть і кров звичка перейти на інший диск за допомогою клавіш Alt + F1 або Alt + F2 викличе несподіваний ефект. По-перше, як вже говорилося, в Linux немає поняття диска – і дисковий розділ, і другий вінчестер, і дискета – не більше, ніж підкаталоги дерева каталогів. Дістатися до яких можна звичайним для Norton способом переходу з каталогу в каталог. А по-друге, комбінація Alt + функціональна клавіша зарезервована в Linux для переходу в іншу віртуальну консоль. Не знаючи цього, за першим разу натиснувши Alt + F2, можна дуже здивуватися, виявивши чорний екран з пропозицією авторизації …

Втім, це, мабуть, єдина складність при роботі з MC. А тому ми розлучимося з ним, перейшовши до Norton-подібних файлових менеджерам графічного режиму.

Таких досить багато. Це і KCommander, призначений для KDE, і Gentoo, заснований на Gtk і орієнтований на застосування з GNOME. Проте перший з них (який претендує бути функціональним аналогом Windows Commander Християна Гіслера) ще не зовсім доопрацьований, другий ж здався мені недостатньо стійким і не дуже зручним.

А тому я зупинюся на двох файлових менеджерах, не прив’язаних до небудь середовищі або специфічної бібліотеці – XNC і XWin Commander.

XNC (X Northern Commander) – твір нашого співвітчизника, Леоніда Храмова. Він доступний на сайті
www.xnc.dubna.su у вихідних текстах або у вигляді rpm-пакета.

При першому запуску вид XNC досить незвичайний для клона Norton Commander. Крім незвичній забарвлення (світло-сірий фон з різнобарвними, в залежності від типу файлу, буквами, замість звичних двох панелей можна бачити тільки одну, розбиту на три вертикальні колонки: перехід на другу панель (вірніше, в термінології програми, сторінку, page) здійснюється за допомогою закладки.

У верхній частині екрану – рядок анімованого заголовка. Нижче – рядок меню, перемикається з допомогою невеликої стрілки. У положенні за замовчуванням в меню пункти: Left, Commands, Options, Right.

У пункті Left визначається подання лівої панелі (вона ж – верхня сторінка, за замовчуванням): короткий або довгий формат файлів; число колонок (від однієї до чотирьох); порядок сортування (по імені, розширенню, розміру, даті чи без сортування); вихід з програми, перед яким, як і у всіх клонах Norton, від нас запитують підтвердження серйозності цього наміру. Зміст пункту Right – ідентично, за винятком можливості виходу з програми.

У пункті Commands – основні маніпуляції з файлами:

У пункті Options – редагування користувацького меню і прив’язки типів файлів до додатків (обидва здійснюються вручну, під вбудованому текстовому редакторі), а також конфігурування.

Нижче меню – власне сторінка-панель, перемикається, як я вже говорив, за допомогою закладок. Під панеллю – статусна рядок, командний рядок (до якої, як і в Norton, можна помістити маркований курсором файл шляхом комбінації клавіш Control + Enter), рядок гарячих клавіш. Останні в цілому аналогічні таким Norton Commander. Тільки клавіша F1 викликає не допомога за програмою, а man-сторінки (які потрібно вказати вручну), а клавіша F9 встановлює права доступу до файлу.

Остання опція (доступна і через меню) реалізована досить зручно. Правда, з її допомогою не можна змінити права доступу рекурсивно для вмісту каталогу. Але зате цю операцію можна проробити над виділеної групою файлів або каталогів. До речі, виділення здійснюється так само, як і в Norton Commander – “сірим” плюсом, зняття виділення – “сірим” мінусом.

Початкове конфігурування можна виконати з меню – Options – Configuration допомогою панелі з трьома закладками – Main, Prompts, Look / Feel. Воно досить елементарно, дозволяючи включити / відключити показ прихованих файлів, запити на виконання основних дій над файлами (копіювання, переміщення, видалення і т.д.), час пересканування каталогів, вказати параметри, які повинні відображатися в статусному рядку.

Проте основне конфігурування вимагає запуску програми xncsetup. Вона викликає конфігураційну панель з п’ятьма закладками. Перша (Common) дозволяє визначити:

У закладці Color визначаються кольору фону і тексту для файлів різних типів; це можна зробити бігунками або вказати параметри RGB вручну.

У закладці Fonts визначаються основний шрифт і шрифти для різних елементів інтерфейсу, у тому числі – вбудованого редактора IVES. А в закладці Keys можна перевизначити гарячі клавіші і їх комбінації для основних файлових маніпуляцій і навігації по панелям.

Попрацювавши в програмі xncsetup, можна повернути цьому файловому менеджеру первозданний вигляд, ідентичний Norton Commander. На чому і заспокоїтися.

Файловий менеджер XWC (X WinCommander) також написаний нашим співвітчизником, Максимом Барановим (правда, наскільки я зрозумів – колишнім). Знайти його можна на
www.geocities.com/SiliconValley/Mouse/7912/xwc.htmlс. З точки зору інтерфейсу він на перший погляд дуже різниться від Norton Commander, успадкувавши від нього, мабуть, тільки дві вертикально розташовані панелі. Однак функціонально XWC досить близький до нього, що дозволяє включити його в число дітей командира Нортона.

Запустивши XWC, можна, крім згаданих панелей, спостерігати: рядок меню (З пунктами Left, Commands, Bookmarks, Options, Right і Help), випадаюче меню для навігації, інструментальну панель (яка може бути заповнена плоскими або об’ємними кнопками). Шляхи до поточного файлу і статусні рядки – самостійні для кожної панелі. В Загалом, можна спостерігати деяку схожість з Windows Commander; однак, всупереч старій і загальноприйнятої командирської традиції, кнопки-гарячі клавіші відсутні.

Однак якщо натискати на функціональні клавіші, спорідненість з Norton Commander проступає виразно: клавіша F5 здійснює копіювання файлів і каталогів, F6 – переміщення / перейменування, F8 – видалення, F7 створює каталог, F9 дозволяє змінити права доступу, а F10 – це вихід з програми (як зазвичай, із запитом на підтвердження).

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

Спочатку розглянемо дії через меню. Традиційні пункти Left і Right – ідентичні по змісту, визначаючи подання відповідних панелей, а саме:

А ось пункт Commands не цілком традиційний за змістом, яке становлять підпункти:

Зміст пункту Bookmarks – зрозуміло, це створення закладок для швидкого переходу в будь-каталог.

В опціях можна включити або відключити показ таких елементів, як інструментальна панель, статусний рядок, приховані каталоги, дерево каталогів (додається до наявних панелям в якості третьої вікна), двохпанельний подання. Тут же (в підпункті Font) можна вибрати гарнітуру, кегль і накреслення шрифту (єдині для всіх елементів інтерфейсу), визначити його кодування. А в підпункті Customize – можливість інших налаштувань, як то:

Основний же спосіб виконання файлових операцій – з контекстного меню після клацання правою клавішею миші на панелі, файлі або каталозі, або їх виділеній групі (виділення групи здійснюється стандартним для Windows способом, лівою клавішею миші при натиснутому Shift або Control).

Зміст контекстного меню для панелі дублює пункт Left (або, відповідно, Right) з головного меню. Для файлу зміст цього меню складають пункти:

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

На закінчення розповіді про файлових менеджерах скажу про програму, яка не може бути віднесена ні до похідних Windows Explorer, ні до клона Norton Commander –

XFtree

Це – штатний засіб для управління файлами з інтегрованою середовища XFce, описаної в попередній сазі. Він має деревоподібну структуру, що починається за замовчуванням від / $ HOME, яка може розвертатися і згортатися.

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

А також кілька дій з переходу – до закладки, на рівень вище і т.д.

Копіювання та переміщення файлів в меню не передбачено. Перше здійснюється просто перетягуванням виділених елементів (Множинне виділення – як в Windows, мишею при натиснутих Shift або Control), в тому числі і між різними вікнами XFTree (їх можна відкрити скільки завгодно); а ось переміщення я взагалі не знайшов.

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

В цілому XFTree здався мені відповідним стилю середовища XFce (хоча, при наявності встановленої бібліотеці Gtk, може функціонувати і в будь-який інший віконної середовищі). Він справляє враження дуже швидкодіючого, особливо в порівнянні з украй задумливим kfm: розгортання багаторівневих каталогів або пошук від кореневого каталога здійснюється практично миттєво. Однак для повсякденної роботи не дуже зручний: перетягувати файли вздовж гіллястого дерева каталогів не дуже зручно – доводиться відкривати другий примірник програми, немає ніяких інтерактивних налаштувань кольору, шрифтів та іншого (все це встановлюється через конфігурування XFce в цілому), крім неможливості переміщення файлів, немає також вбудованого або підключається архіватора.

Втім, ніяких рекомендацій ні по XFTree, ні по всім іншим файловим менеджерам давати не буду (залишаючи вибір відповідного інструменту цілком на совісті читача). Зокрема, і тому, що сам однозначного вибору не зробив: жоден з бачених мною файлових менеджерів не дотягує до ідеалу, яким, з точки зору функціональності та зручності, вважаю Windows Commander для однойменної платформи.

А тому, можливо, вам здасться, що найкращий вибір все ж – це

Командний рядок як універсальний інструмент управління файлами

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

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

Відразу після завантаження та авторизації ми опиняємося у власному домашньому каталозі, скорочено званому $ HOME. Чого нам хотілося б насамперед? Правильно, переглянути його вміст. Що ми і робимо командою ls. Результат її виконання – щось на кшталт:

Desktop/       cat            list1        song/       wallpapers/
GNUstep/       different.jbd  list2        test/
abelskaya.jbd  galich.jbd     mysite/      test01.txt
allwork/       image1.raw     mysongs.jbd  tmp/
autosave/      kjukebox.log   nsmail/      visbor.jbd

тобто суцільного списку, де файли і каталоги слідують без розбору в порядку кодів ASCII (розрізнити їх можна тільки по знаку / в кінці імені каталогу). Причому, як ми точно знаємо, не всі файли і каталоги: адже, пам’ятається, ми свого часу редагували конфігураційний файл командної оболонки bash, якого в нашому списку не спостерігається. Спробуємо його виловити, давши команду

ls -A

де A (від all) – опція, що пропонує вивести список усіх файлів. Результат – на обличчя, тобто на екрані:

.RealNetworks_RealMediaSDK_60           .mime.types
.RealNetworks_RealPlayer_60             .netscape/
.RealNetworks_RealShared_00             .qcad/
.Xauthority                             .sane/
.Xdefaults                              .vimrc
.Xdefaults.old                          .xap/

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

Ну а отримати повну інформацію про файлах і каталогах можна, давши команду

ls -l

результатом чого буде список на зразок цього:

drwxr-xr-x   5 alv      alv          4096 Jan 26 04:01 Desktop/
drwxr-xr-x   5 alv      alv          4096 Jan 15 05:20 GNUstep/
-rw-r--r--   1 alv      alv          2687 Jan 17 20:26 abelskaya.jbd
drwx------  10 alv      alv          4096 Jan 24 12:22 allwork/
drwxr-xr-x   2 alv      alv          4096 Jan 18 17:22 autosave/

де знак у першій зліва позиції позначає тип файлу: – звичайний файл, d – каталог (який за великим рахунком теж файл), а відсутній в прикладі знак | – символічна посилання (не плутати з оператором каналу).

Наступна група знаків у першій колонці – це права доступу (Про які говорилося в першому розділі і буде докладніше сказано трохи нижче). Друга колонка – це кількість посилань, пов’язаних з файлом, третя і четверта – ім’я власника і назва його групи. У п’ятій колонці – розмір файлу в байтах, в шостий і сьомий – дата і час створення файлу. Нарешті, восьма колонка – це ім’я файлу.

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

Копіювання здійснюється командою cp з двома обов’язковими аргументами: перший – ім’я файлу-джерела, і другий – приймач (Каталог або пристрій, який, правда, теж каталог). Замість імені (Або мен) файлу можна вказати шаблон. Наприклад, командою

cp $HOME/* mnt/floppy

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

cp -R /mnt/cdrom $HOME

скопіює в домашній каталог весь вміст CD ROM із збереженням структури його каталогів. Звичайно, якщо воно туди поміститься, по-перше, і якщо CD ROM попередньо вставлений в привід і, при отстутствии опції supermount, змонтована командою mount, по-друге.

Дещо раніше я скаржився, що при використанні файлових менеджерів при цьому зазвичай виникають складнощі, пов’язані з спадкуванням новостворюваних каталогами атрибутів каталогів вихідних. Так от, з командою cp нічого подібного не станеться: атрибут READ ONLY каталогів з CD ROM буде благополучно проігноровано. Зайвий аргумент на користь командного рядка при файлових операціях …

Переміщення і перейменування виконуються однією і тією ж командою – mv (Від move) з іменами джерела і приймача в якості аргументів. При переміщенні в якості джерела може бути зазначено будь-яку кількість файлів або шаблони їхніх імен, а з параметром-R переміщення буде виконано рекурсивно. Ну а перейменовувати файли, природно, доведеться по одному, із зазначенням старого імені в якості першого аргументу і нового – в якості другого.

Настільки ж часто виникає необхідність згрупувати якісь файли в одному каталозі. Для чого останній потрібно створити. Що робиться командою mkdir (від make directory) з бажаним ім’ям каталогу в Як аргумент. Нагадаю, що результатом команди

mkdir newdir

буде поява підкаталогу в поточному каталозі, при

mkdir ../newdir

він з’явиться рівнем вище, а при

mkdir /newdir

так просто в кореневому. Якщо потрібно створити каталог по якомусь конкретною адресою, його слід прописати повністю, наприклад

mkdir /home/myname/work/newdir

із зазначенням абсолютного шляху, або

mkdir work/newdir

щодо поточного каталогу myname. Все це відноситься і до будь-яких іншим файловим операціям.

І нарешті, хоча всі створені нами файли являють собою нетлінні цінності, іноді їх все ж таки доводиться видаляти. Робиться це командою rm (від remove), у тому числі при використанні її з параметром-R – рекурсивно. Потрібно тільки запам’ятати, що конструкція начебто

rm -R /

здатна благополучно видалити з вашого диска всі (ВСІ) файли і каталоги, включаючи і розділ FATxx, якщо він змонтований. Правда, для цього будуть потрібні права суперкористувача. Від імені користувача звичайного ви можете видалити тільки всі свої власні файли.

Тим не менш, для видалення непотрібних каталогів краще вдатися до команді rmdir (від remove directory) – вона здатна видалити тільки порожній каталог.

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

У світі DOS / Windows архівація та компресія настільки ж нероздільні, як Ленін і Партія. Мені, наприклад, не відомі приклади архіваторів для цієї платформи, які не були б одночасно і компресорами. Але в системах Unix-Linux це поняття різні.

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

Так от, Linux розпорядженні двома інструментами командного рядка – командами tar і gzip, типовими представниками клану архіваторів і компресорів, відповідно.

Формат команди tar наступний:

tar n archivefile file1 file2...

де n – літера для необхідної опції: зверніть увагу, що дефіс перед опцією не ставиться. Хоча для отримання інформації про команду все одно використовується конструкція tar – help. З якої і можна дізнатися про численні опціях цієї команди. Серед них – створення нового архіву та запису його у файл (c і f, відповідно, це – різні поняття!), додати до нього файлів (r), перегляд складу архіву (t), оновлення і видалення файлів з архіву, ну і звичайно, вилучення їх. Численні опції дозволяють зберегти не тільки шляхи архівованих файлів, але і всю інформацію про права доступу до них. Те є – створити саме резервну копію, ідентичну вихідного набору файлів, що, в разі пошкодження останніх, дозволяє їх адекватне відновлення.

Ну а gzip – це саме і тільки чистий компресор. Формат команди – gzip file, де file – ім’я файлу, що підлягає стисненню. Слід пам’ятати, що файл цей зникає, заміщаючи своїм стислим варіантом – файлом file.gz. Gzip може використовуватися разом з gunzip – програмою, забезпечує розгортання стисненого файлу. Втім, обидві ці програми, при використанні відповідної опції, виконують зворотну вихідної операцію (пряма операція виконується кожної з них без всяких опцій).

Команди tar і gzip зазвичай використовуються в парі – першої створюється архів, другий він стискається для економії місця. В результаті утворюється файл виду *. tar.gz. Давня традиція спільного застосування цих програм призвела до того, що вони стали не тільки взаємодоповнюючими, а й взаимозаменяющими: засобами будь-якої з них можна як створити архів з наступним його стисненням, так і розгорнути компрессированний архів з повним відновленням файлів в їх початкової позиції.

У підсумку більшість програм для Linux, які можна виявити в Інтернеті, поширюються саме в форматі *. Tar.gz, а деякі – і виключно в ньому.

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

Засоби управління пакетами і установки програм

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

Як поширюються Linux-програми? Існує дві основні форми – у вигляді вихідних текстів і компільованих бінарних пакетів. При цьому більшість програм, які розповсюджуються за ліцензією GNU і аналогічним, можна знайти в обох варіантах, хоча ряд програм доступний тільки в исходниках. Останнє характерно або для ранніх версій, які перебувають в процесі розробки, або – для вузькоспеціалізованих додатків.

Повинен сказати, що при виборі з двох равнофункціональних (по опису) програм я завжди віддаю перевагу тій, яка має відкомпільований варіант. Не тому, що компіляція з исходников – таке вже складна справа. Просто мені видається (можливо, необгрунтовано) – якщо автор не полінувався зібрати бінарний пакет, значить, принаймні він сам не кожен день знаходить помилки в своїй програмі … Хоча, наскільки я розумію, поширення тільки в вигляді исходников може бути принциповою і позицією розробника.

Існує чотири формату бінарних пакетів (по крайней мере, про інші мені невідомо, якщо хто знає – підкажіть) – rpm, deb, tgz і slp. Як говорилося у вступі, це один з характерних ознак основних ліній дистрибутивів Linux. При цьому широко поширені тільки два перші, що представляють лінії Red Hat і Debian, відповідно: навіть в Suse Linux, першооснова якого – дистрибутив Slackware з форматом tgz, використовується формат rpm. Формат ж slp застосовується, наскільки мені відомо, тільки в одному дистрибутиві – Stampede, який поки не дійшов до стадії релізу.

Для вихідних текстів звичайний формат – згаданий вище архів tar.gz. Хоча в складі дистрибутивів исходники представлені в форматі використовуваних в ньому пакетів (rpm – в клона Red Hat, deb – в похідних Debian).

Існує велика кількість засобів для роботи з пакетами. Власне, майже кожен поважаючий себе дистрибутив має власну програму такого роду. Наявність її – один з показників зрілості і самостійності системи. Однак ми мовчазно припускаємо, що використовуваний нами дистрибутив – це Mandrake RE, використовує, як і всякий нащадок Red Hat, його формат пакетів. І тому насамперед зупинимося на засобах управління пакетами rpm.

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

Як уже говорилося в розділі про kfm, kpackage автоматично викликається з цього файлового менеджера при натисканні на rpm-файлі. Має звичайно, як неважко здогадатися, вид *. rpm. Хоча і не обов’язково – через описаних вище особливостей файлової системи Linux розширення імені файлу не пов’язано жорстко з його типом.

Зрозуміло, kpackage можна і просто відкрити, набравши відповідну команду у вікні терміналу, в рядку мінітермінала або вибравши з стартового меню (де вона знаходиться в пункті Корисне – More, прошу вибачення за мовну мішанину, але в русифікованому KDE саме так).

Після цього виникає вікно з двома панелями, в лівій з яких – дерево встановлених rpm-пакетів, розбитих на групи (Base, Development, X11 і т.д.), права ж, що має дві закладки (Властивості і Список файлів) поки порожня. Якщо ми клацнемо на конкретному пакеті з дерева, то в лівій панелі буде трохи перемикачів і екранних кнопок, а в правій з’явиться інформація про пакет, що включає:

Зрозуміло, можна відкрити (через Файл – Відкрити, Відкрити недавнє або Відкрити URK) і невстановлений пакет, що знаходиться на дистрибутивному CD ROM, якому-небудь іншому стаціонарному або змінному носії, а також в мережі, локальної або глобальної (сиріч в Інтернеті). В цьому випадку до списку властивостей файлу може додатися ще одне – незадоволені залежності, де буде вказано, який ще пакет (або пакети) необхідно встановити для нормального функціонування даного.

Сенс закладки Список файлів зрозумілий, відповідаючи своїй назві. Перед установкою пакета непогано ознайомитися з ним уважно. Щоб знати потім, де шукати виконані файли, де – документацію, і т.д. Втім, що встановлюються компоненти пакетів rpm в переважній більшості потрапляють в підкаталоги каталога / usr: здійснимих модулі – в / usr / bin, документація – в / usr / doc, бібліотеки – в / usr / lib і т.д.

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

Проте раніше не зле звернути увагу на перемикачі:

Сенс їх стає зрозумілим після знайомства з опціями програми rpm (Про яку трохи нижче). За замовчуванням включені опції Оновити, Замінити пакети і Перевіряти залежності; в більшості випадків встановлення нових пакетів все це можна залишити без змін. Проте оновлення вже встановленого пакета вимагає включення опції замінити файли.

У деяких випадках необхідно і відключити перевірку залежності. Оскільки зустрічається ситуація (в основному це характерно для системних бібліотек), коли два пакети знаходяться під взаємозалежності: спроба встановити пакет А призводить до повідомлення про необхідності пакета Б, і навпаки. Щоб вийти з цього кола, і відключається перевірка залежностей. При цьому обидва пакети встановлюються благополучно, не дивлячись на повідомлення про незадоволених залежностях …

Загалом, на мій погляд, пакет kpackage інтуїтивно зрозумілий і простий у використанні. Чого я не сказав би про пакет rpmdrake. Після його запуску (з робочого стола, з мінітермінала або будь-яким іншим способом) виникає вікно, подібне з таким kpackage: та ж панель з деревом каталогів зліва і порожня панель – справа; остання при клацанні на імені rpm-пакета заповнюється описом його властивостей і списком вхідних файлів. Внизу правій панелі – кнопка Установка.

Складнощі, на мій погляд, починаються при спробі відкрити невстановлений пакет. У пункті меню Файл, через який резонно було б виконати цю дію, ви виявите тільки Вихід. Добре, звичайно, що не Виходу немає (кажуть, коли в лондонському метро цю вивіску замінили на Вихід з протилежного боку, кількість самогубств скоротилося на статистично значущу величину), але бентежить.

Так от, можливість відкриття невстановленого пакета виявляється в пункті Настройка. Для чого потрібно ні багато, ні мало, змінити джерело установки: за замовчуванням це дистрибутивний CD ROM. Але можна вибрати local, http та ftp, якщо вам потрібно відкрити пакет з локального диска, http-або ftp-сервера, відповідно.

Якщо ж потрібно використовувати будь-змінний носій (від дискети до знімного вінчестера), необхідно додати нове джерело інсталяції: вибрати через меню Настройка – Додати джерело інсталяції – Local, після чого в панелі, що з’явилася ввести ім’я джерела (наприклад, local_n) і відповідний йому каталог (Наприклад, / mnt / floppy для дискети).

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

 rpm - [список опцій] імена пакетів rpm

Імен пакетів може бути вказано скільки завгодно. Основних же опцій – три: інсталяція (i), деінсталяція (u – від uninstall) і запит (q – від querry). Ну а список додаткових опцій (таких, як примусова інсталяція, оновлення пакета, перевірка залежностей і т.д.) можна отримати, запустивши rpm без опцій і аргументів.

Крім цього, за допомогою команди rpm можна створити власний пакет (Вдавшись до опції-b, від build). Інша його перевага – просте поводження з взаємозалежними пакетами: для їх нормальної установки зазвичай досить просто привести їх одним списком в якості аргументів. Якщо це не допомагає – можна скористатися додатковою опцією f (від force).

Слід пам’ятати, що будь-які маніпуляції з rpm-пакетами в будь програмі вимагають прав суперкористувача. При цьому rpmdrake і, іноді, kpackage (при низьких рівнях захисту) самі запитують пароль адміністратора і при правильному його введенні автоматично переходять в цей режим, повертаючись у звичайний користувальницький при виході з програми. Для роботи ж з командою rpm потрібно подбати про це самому, за допомогою команд su і exit.

Однак, як я вже говорив, формат пакетів не вичерпується rpm. І, можливо, потрібна вам програма поширюється в складі якого-небудь іншого дистрибутива. В цьому випадку можна вдатися до команди alien, дозволяє конвертувати пакети з одного формату в іншій. Вона поширюється з дистрибутивом Debian і його похідними, але може бути отримана з Інтернету (наприклад, з http://kitenet.net/programs/alien/ або будь-якого великого файлового архіву). Використовувати її дуже просто як аргумент вказується ім’я пакета, що підлягає конвертації, а опції визначають, в який формат він повинен бути конвертований. За замовчуванням, без вказівки опцій, відбувається конвертація у формат deb, але програма може також працювати з пакетами rpm, slp і tgz.

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

Нічого принципово складного в цьому немає. Архів з вихідними текстами розпаковується у відповідний каталог (зазвичай для цього використовуються каталоги / usr / local / src або $ HOME / src). Після чого в ньому з’являється відповідний імені програми підкаталог. В правильно оформленої для поширення програмі каталог цей повинен містити файли на кшталт README, INSTALL, Makefile, configure. Перші два містять (або не містять, в залежності від ліні розробника) опис програми та процесу її установки.

Файл Makefile описує процес побудови програми і вказує місцезнаходження необхідних для цього компонентів, зокрема, системних бібліотек. Зазвичай він орієнтований на якусь усереднену конфігурацію, яка може не відповідати (і, як правило, не відповідає) вашим реаліям.

Для приведення файлу Makefile у відповідність з останніми використовується команда. / configure (саме так, зі зрозумілих причин вона обов’язково запускається з поточного каталогу).

Після цього настає черга команди make. Вона входить до складу будь-якого дистрибутива і я не чув, щоб вона не встановлювалася по замовчуванням. Для використання її звичайно потрібні права суперкористувача (куплені командою su із зазначенням адміністративного пароля): більшість компільованих програм по замовчуванням встановлюються в каталог / usr / local.

І так, запускаємо програму make. Вона виробляє збірку вихідних текстів у т.зв. об’єктні модулі (щось проде оверлеїв в DOS-програмах). Процес цей може зайняти досить тривалий час, він супроводжується всякого роду повідомленнями (слід сподіватися, що не про помилках – в цьому випадку процес припиняється).

По завершенні його, тобто поверненню запрошення командного рядка, зібрану програму потрібно встановити, тобто записати здійснимих модулі, бібліотеки, документацію та інше туди, де їм належить бути надалі (як уже говорилося, зазвичай у відповідні підкаталоги / Usr / local). Для цього дається команда make install, яка і здійснює цей процес.

Нарешті, завершальний крок, необов’язковий, але вкрай бажаний – це звільнення каталогу з исходниками від продуктів життєдіяльності команди make, тобто об’єктних модулів. Робиться це командою make clean. На чому процес установки можна вважати закінченим і командою exit повернутися в звичайний режим користувача.

Таким чином, ми розглянули більшість файлових маніпуляцій під Linux. Забувши лише про одне – що не весь світ працює в цій системі. Звичайно, користувачі Windows можуть дозволити собі просто не знати про існування інших систем. Користувачі ж Linux повинні пам’ятати про примусової силі реальності. Реальність же така, що без Windows обійтися навряд чи вдасться. Хоча б для обміну даними зі своїми консервативними колегами. І тому слід розглянути питання

Про взаємодію Linux та Windows

Взаємодія це має два аспекти – на рівні даних і на рівні програм.

Взаємодія на рівні даних = це просто можливість прочитати з Linux диск (або дисковий розділ) з Windows (будь-якої версії). Що праці не становить. Для цього потрібно тільки при його (Linux) інсталяції встановити підтримку відповідних файлових систем – FAT, VFAT, FAT32 або NTFS (правда, підтримка останньої – обмежена). Ну а далі – Можливі варіанти.

Можна при необхідності явно монтувати дисковий розділ з Windows командою

 mount dev / had # / точка монтування

де # – номер розділу (який буде обов’язково першим при будь-якому Windows, крім NT і 2000).

Ще Windows-розділ може монтуватися автоматично при завантаженні. Найпростіше зробити це на етапі розбиття диска на розділи, попередньому інсталяції. Для цього достатньо (після створення Linux-розділів) вказати точку монтування для існуючого раніше Windows-розділу (hda1), наприклад, / mnt / win.

Поступивши таким чином, можна надалі без проблем зчитувати і записувати дані в Windows-розділі, не виходячи за межі Linux. Правда, настільки ж легко їх і знищити знаменитою командою rm з параметром-R. Причому безповоротно: утиліти DOS-Windows типу UNDELETE або UNERASE в цьому випадку не допоможуть.

А тому краще все ж для обміну даними використовувати спеціальний розділ диска під FAT16 або FAT32. Якщо такого розділу не було передбачено перед установкою Windows, його можна створити за інсталяції Linux, скориставшись її програмою fdisk – вона дозволяє створювати розділи для будь-яких підтримуваних Linux файлових систем. І потім визначити для неї точку монтування.

Правда, ні DOS, ні Windows не зрозуміють, що розділ, створений fdisk для Linux – їх рідний FAT16 або FAT32. Але тепер нічого не заважає запустити вже FDISK для DOS / Windows – і перетворити цей розділ у остаточний FATхх. Правда, шляхом знищення (FDISK для DOS-Windows визначить його як non-DOS partition) і створення на його місці нового. Головне, точка монтування для нього в дереві каталогів Linux вже буде існувати.

Втім, якщо автоматичне монтування FATxx-розділу при інсталяції Linux визначено не було, нічого страшного – цю процедуру можна проробити в будь момент. Шляхом редагування файлу / etc / fstab, відповідального за монтування файлових систем. Для доступу до Windows-розділу достатньо вписати в нього строчку начебто

/dev/hda1	/mnt/win	auto	defaults	0 0

Тепер можна не тільки зчитувати дані Windows-програм, але і записувати результати роботи в Linux для доступу до них з Windows. Правда, це вірно тільки відносно Windows 3.1/95/98. Для Windows NT або 2000, якщо користуватися їх рідний NTFS, можливий тільки режим читання. І тип файлової системи у файлі fstab слід вказувати явно – ntfs (замість
auto).

Крім того, при копіюванні з Linux-розділу в FATxx розділ існує ще кілька особливостей. Так, якщо дані копіюються в розділ з FAT16, всі імена файлів будуть приведені до DOS-стандарту 8.3. І примусово переведені у верхній регістр. А в разі розділу FAT32 відбувається ще забавніше: імена Linux-файлів, випадково збігаються з форматом DOS (8.3), будуть перетворені в верхній регістр, незалежно від того, в якому регістрі вони були набрані в оригіналі. Тоді як імена файлів, що містять більше восьми знаків в імені – збережуть споконвічне відмінність регістрів. Про причини цього явища можна прочитати в цитованій раніше статті Віктора Хименко.

Крім цього, існує пакет mtools, спеціально призначений для роботи з файловою системою DOS. Він був створений для роботи з дискетами, відформатовані в цій операційній системі. Звичайно, з Linux можна змонтувати дискету в DOS-форматі і командою cp (або через будь файловий менеджер) записати на неї файли. Проте в ряді випадків це призводить до помилок. Правда, я з проблемами зчитування записаних таким чином дискет в DOS / Windows не стикався. Але от записати на неї часом вже нічого не вдається, і всякого роду DiskDoctor’амі вона не лікується.

Основу пакета mtools становить серія команд гібридного вигляду і синтаксису. Так, команди cp і copy (Linux і DOS, відповідно) підміняються командою mcopy, використовуваної, для прикладу, таким чином –

mcopy $HOME/file a:file

де file – ім’я копируемого файлу, причому обов’язково в стандарті DOS (Тобто 8.3). Працює ця команда з поодинокими файлами. Крім того, існують команди mread (для копіювання файлів DOS в Linux) і mwrite (для копіювання файлів Linux в DOS). Вони дозволяють оперувати групами файлів (але, наскільки я зрозумів, не підкаталогами).

У пакеті mtools є й інші засоби роботи з файлами, аналогічні такому DOS. Але докладно я на них зупинятися не буду: все ж застосування цього пакета, при засиллі Windows 9x з її довгими іменами, досить обмежена.

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

Насамперед, з’явилася з’явилася програма Explore2fs Джона Ньюбайджіна (John Newbigin,
uranus.it.swin.edu.au/~jn/linux). Це zip-архів розміром трохи більше 300 кілобайт, доступний, зокрема, на Linux.Freeware.ru (http://linux.freeware.ru). Програма безкоштовна (На умовах GPL), позиціонується як експериментальна версія, проте – майже працездатна.

Програма Explore2fs не вимагає інсталяції. Після розпакування архіву в ній виявляється здійснимий модуль, dll-файл, ReadMe, умови копіювання та список змін. Запуск програми призводить до появи вікна, подібного Windows Explorer. У лівій його частині – виявлений Linux-розділ (з префіксом за замовчуванням – hd, але, ймовірно, можна встановити і sd – за відсутністю SCSI-диска перевірити не зміг), що розгортається в дерево каталогів; в правій частині – список файлів поточного каталогу, що настроюється так само, як в Windows Explorer (у вигляді іконок, короткого чи довгого списку).

А далі – все просто. Вибирається потрібний файл або каталог, клацання правої клавіші миші – і можна переглянути його властивості, або відразу експортувати в Windows-розділ. Для чого вказується шлях. Все. Файл або каталог (включаючи підкаталоги будь-якого ступеня вкладеності) скопійований і доступний під Windows. Зрозуміло, ті ж дії можна виконати і через меню.

Програма не може похвалитися ні рекордним швидкодією, ні надмірної стабільністю. Крім того, якщо у вас є кілька розділів ext2fs, можна тільки переглядати їх вміст, але скопіювати будь-що в Windows-розділ не вдається.

З ext2fs розділом можна працювати тільки в режимі читання. Правда, в меню File присутні такі пункти, як New Folder, Rename, Delete, Save as, але працюють вони тільки в межах Windows-розділу. Правда, їх присутність (в неактивізованому вигляді) і в контекстному меню показує, що автор припускає в майбутніх версіях ввести і режим запису в Linux-розділи з Windows. Поживемо – побачимо.

В існуючій версії налаштування (пункт меню View – Options) мінімальні. Можна, як говорилося, змінити префікс дискового розділу, задати програму для перегляду текстових файлів, визначити доступ до файлів за паролем (для користувачів та групи), і ще кілька дрібниць. Однак і це краще, ніж нічого.

Крім того, нещодавно з’явився пакет ltools, призначений для роботи з файлами Linux з DOS / Windows. Як можна зрозуміти з назви, він задуманий як інструмент, паралельний mtools, і забезпечує виконання тих же функцій. Це серія утиліт командного рядки, за допомогою яких можна, наприклад, копіювати файли з розділу ext2fs в розділ FATxx, причому і в тому випадку, якщо перший – не єдиний в системі, на відміну від Explore2fs.

Другий аспект розглянутого питання – взаємодія на рівні програм. Необхідність у цьому може виникнути навіть у тому випадку, якщо ви не використовуєте жодної програми під DOS / Windows. Наприклад, при оновленні BIOS системної плати: всі відомі мені виробники випускають утиліти такого призначення тільки під чистий DOS (хоча, кажуть, на сучасних “мам” є кошти перепрошивки BIOS без завантаження будь-якої операційки взагалі, але мені таких поки бачити не пощастило).

Так що якщо з’явилася нагальна потреба змінити BIOS (Наприклад, при установці нового великого вінчестера в систему, BIOS якої таких не підтримує), DOS або Windows винищені як клас при установці (не дарма ж спалювали кораблі, мости та інші транспортні засоби!), і під рукою випадково не завалялося хоч який DOS-машини … Ось тоді-то без запуску DOS-програми (хоча б однією-єдиною) з під Linux не обійтися.

Для цього існує програма dosemu. Запускається вона простою і зрозумілою командою – dos. Правда, для цього необхідно мати права суперкористувача. Цією командою створюється щось на зразок віртуальної машини, емулює реальний режим процесорів ix86. Чимось нагадує DOS-сесію в Windows або, скоріше, OS / 2. Після запуску програми (це можна зробити і з вікна терміналу) ви бачите чорний екран з серією повідомлень, що завершуються чимось на кшталт:

Welcome to FreeDOS (http://www.freedos.org)!

При цьому пропадає можливість гортання екрана за допомогою Shift + PageUp, PageDown, а у вікні терміналу – також і можливість скролінгу. Зате з’являється знайоме до болю запрошення командного рядка DOS

C:\>

в якій природному наміром буде ввести dir / p. Відповіддю на що буде список проде цього:

   BOOT     BIN        512  12-07-99  10:59a
   COMMAND  COM      41568  12-07-99  10:59a
   COPYING           18316   5-04-99  11:43a
   INSTALL  BAT        743   5-04-99  11:43a
   IPL      SYS      54928  12-07-99  10:59a
   KERNEL   EXE      68112  12-07-99  10:59a
   KERNEL   SYS      72169   5-04-99  11:43a
   SYS      COM      12344   5-04-99  11:43a
   VIM-5    3    DIR      12-07-99  11:02a
   BIN           DIR      12-07-99  11:02a
   DOC           DIR      12-07-99  11:02a
   HELP          DIR      12-07-99  11:02a
   EMACS         DIR      12-07-99  11:02a
   DOSEMU        DIR      12-07-99  11:02a
   AUTOEXEC BAT         99  12-07-99  11:02a
   CONFIG   SYS         94  12-07-99  11:02a
   EXITEMU  COM        292  12-07-99  11:02a
          17 file(s)       269177 bytes
                          7122944 bytes free                           

в якому можна бачити рідні та близькі AUTOEXEC.BAT, CONFIG.SYS і інші принади. А перейшовши в каталог BIN (командою C: \> cd c: \ bin) можна виявити основні виконані файли DOS:

 
   .             DIR      12-07-99  11:02a
   ..            DIR      12-07-99  11:02a
   ASSIGN   COM      13867  12-07-99  11:02a
   ATTRIB   EXE       8609  12-07-99  11:02a
   BWBASIC  EXE     169774  12-07-99  11:02a
   C_LOCK   COM       3834  12-07-99  11:02a
   CAL      COM        900  12-07-99  11:02a
   CHKDSK   EXE      23510  12-07-99  11:02a
   CHOICE   EXE      12510  12-07-99  11:02a
   CLS      EXE       9026  12-07-99  11:02a
   COMMAND  COM      72192  12-07-99  11:02a
   COMP     COM       1285  12-07-99  11:02a
   COMPINFO EXE     113520  12-07-99  11:02a
   MCA      DAT      24080  12-07-99  11:02a
   PCI      DAT      47824  12-07-99  11:02a
   COPY     EXE      14219  12-07-99  11:02a
   CTMOUSE  COM       8836  12-07-99  11:02a
   CTMOUSEP COM       7443  12-07-99  11:02a
   PROTOCOL COM        365  12-07-99  11:02a
Strike a key when ready . . .                                          

і так далі. Якими і можна скористатися звичайним для DOS чином.

Зрозуміло, можливості dosemu не вичерпуються запуском штатних команд DOS. Зокрема, не складе труднощів запустити саморозпаковується, у вигляді якого зазвичай поширюються поновлення BIOS. Непогано, звичайно, потурбуватися завантажувальної дискетою DOS. Однак якщо її не виявиться під рукою – не біда: командою SYS.COM можна створити якусь її подобу. Не знаю, наскільки функціональна завантажена з неї система – не перевіряв, – але запустити перепрограмматор BIOS і успішно провести процедуру його поновлення вона цілком здатна.

А взагалі, кажуть, dosemu справляється запуском і потужних прикладних програм, на кшталт WordPerfect, правда, не знаю яких версій: цікаво було б подивитися, як вона поведеться при запуску графічної оболонки старших його версій, або, скажімо, Quattro Pro для DOS, яка теж мала свою оригінальну (і вельми приємну) графічну оболонку. Але всього цього я не перевіряв, як непотріб, і тому з темою емуляції DOS закінчую. Скажу тільки, що, задовольнивши почуття ностальгії по DOS (а я, дивлячись на сучасні програми для Windows, його частенько відчуваю, чесне слово), з програми можна вийти командою EXITEMU.

Переходячи до теми запуску під Linux додатків Windows. Тут я теж не можу похвалитися багатим досвідом: ні з одним з емуляторів Windows (а їх розвелося досить багато – wine, bosch та інші) я до сих пір справи не мав. Скажу лише кілька слів про віртуальних машинах.

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

Програма vmware (поточна версія – 2.01) розроблена не тільки для Linux, але і для Windows NT/2000. Будучи встановлена ​​належним чином (А під Linux вона поширюється у вигляді бінарного rpm-пакета, але без вихідних текстів). система ця дозволяє запускати з під батьківського операційної системи (наприклад, Linux) майже будь-яку іншу з широко поширених.

Офіційно в якості гостьових систем підтримуються Windows 95 і 98, Windows NT і 2000. Однак, за наявними відомостями (частково перевіреним особистим досвідом) можна запустити будь-який інший варіант Linux, і FreeBSD з її похідними, і BeOS, і деякі комерційні Unix-системи. У всякому разі, під Linux це єдина можливість отримати доступ кор всьому спектру Windows-додатків, хоча – і з дуже відчутною втратою продуктивності.

Установка і настройка vmware, а також організація обміну даними між віртуальною гостьовий системою (скажімо, Windows 9x) і реальної батьківської (тим же Linux) – заняття не те щоб надзвичайно складне, але вимагає уваги і не завжди тривіальне. Особливо, як не дивно, з точки зору Windows-мігранта. Детальні описи цього процесу можна знайти в статтях А.Еріжокова (на
www.linuxrsp.ru) і В.Костроміна
(linux-ve.chat.ru/). Тому я на ньому зупинятися не буду.

Скажу тільки, що в ряді випадків, звичайно, vmware може виявитися незамінним. Наприклад, при тестуванні web-сайту, що розробляється і керованого під Linux, з точки зору його функціонування під Windows на стороні клієнта. Або, навпаки, якщо вся потреба в Windows-програмах зводиться до розкладання пасьянсів для заспокоєння нервів, як це має місце у мене.

В іншому випадку – тобто якщо необхідність просто в використанні деяких (і, тим більше, багатьох) Windows-додатків, деякий зручність від їх використання під віртуальною машиною (немає необхідності в перезавантаження системи при переході від Linux-к Windows-програм) не окупають втрати продуктивності (по крайней мірі на конфігураціях аж до P-III/733 і 128 Мбайт оперативної пам’яті). У цьому випадку простіше завести окремий розділ для Windows і його додатків.

Нагадаю, що перший варіант, як і другий, не позбавляє від необхідності придбання легальної копії Windows (або мук совісті від використання краденої). Якщо ж врахувати вартість самої vmware (Під три сотні уев, хоча можна користуватися і пробної версією, перереєстрований раз на місяць – це, начебто, цілком легально) … Мимоволі задумаєшся, а чи не простіше завести другу машину, реальну, і з’єднати її з першої мережею – щоб обійтися однією консоллю?

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

Засоби запису на CD

Звичайно, є також і інші пристрої, призначені для цієї мети: і стриммерів, і магнітооптика і … так, мабуть, і все. Не тільки дискети, але і всякого роду Zip як резервні носії при нинішніх обсягах даних розглядатися не можуть. А друкарські DVD – дороги і мають проблеми з їх читанням.

Загалом, тільки CD-R/RW близькі до того, щоб стати стандартним пристроєм персонального комп’ютера (до чого я не втомлююся закликати вже близько двох років). І кошти їх записи – неодмінний атрибут системи, претендує на масове використання.

Сподіваюся помилитися, але в Linux поки ці кошти далекі від досконалості, як з точки зору функціональності, так і зручності. Головне з них – це пара утиліт mkisofs і cdrecord. Перша створює т.зв. образ диска, друга забезпечує його запис на CD. Крім того, є ще mkhybrid (для створення образів) і cdrdao (для записи), але, наскільки я можу судити, вони застосовуються рідше.

Правда, якщо звернутися до будь-якої колекції програм для Linux, можна виявити десятка два програм, призначених для запису CD-R/RW. Однак це просто оболонки (т.зв. front-end applications), об’єднуючі в єдиному інтерфейсі перераховані утиліти командного рядка.

Ознайомитися, хоча б у першому наближенні, з усіма цими програмами на практиці – завдання непосильне, враховуючи час їх кількість і час запису одного диска. Тому я розповім лише про дві програми, з якими (чисто випадково) мені довелось попрацювати.

Можливо, що перед записом CD доведеться зробити деякі попередні дії. Чому? Безпосередньо Linux підтримує записуючі / перезаписуючий пристрою тільки з інтерфейсом SCSI. Причина цього мені не відома, ймовірно, так вже склалось історично.

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

Треба сказати, що, наприклад, Linux Mandrake (можливо, і інші дистрибутиви) за умовчанням встановлюється так, що CD-R/RW пристрій, якщо воно є в наявності, визначається як емулює SCSI. В інших же дистрибутивах для здійснення цього, швидше все, доведеться перекомпілювати ядро. Яким чином – досить докладно описано в CD-Writing HOWTO, наявному, зокрема, і в російською перекладі.

Однак припустимо, що цей попередній етап благополучно минув. Беремося за прикладної софт для запису CD-R/RW. В комплект Linux Mandrake входить (крім утиліт командного рядка mkisofs і cdrecord) дві такі програми – Gnome Toaster і X-CD-Roast. Першу я випробувати не ризикнув через настороженого ставлення до Gnome-додатків взагалі. Але – подивився. Задуму вона добре, чимось нагадує WinOnCD: файли і каталоги просто перетягуються з древа в область записи, тулиться кнопка Record – і, начебто, все. Однак, повторюю, на практиці я її не використовував …

X-CD-Roast – програма досить примітивна, хоча і не складна в зверненні. Відрізняється настирливим пропозицією погодитися з якимось написаним вкрай дрібними буквами ліцензійною угодою; його нібито можна відключити, але – це тільки здається: час від часу воно з’являється знову.

Робота з програмою X-CD-Roast можлива виключно в режимі адміністратора; спроба запустити її від імені користувача (командою xcdroast) призводить до повідомлення про відсутність такого файлу. Після запуску програми виникає барвиста заставка з літерами “X-CD-Roast” на тлі полум’я (це до того, що дані не горять?) в центрі і серією кнопок ліворуч: SCSI / IDEinfo, Setup, Copy Data-CD, Copy Audio-CD,
Master CD, Exit.

Натиснувши першу з кнопок, можна переконатися, що записуючий SCSI-пристрій у нас є (або благополучно емулюється), інакше все подальше втрачає сенс. Вказується також читаюче CD-пристрій, у відповідність зі своїм інтерфейсом. Якщо є тільки один привід, як, наприклад, у мене, він буде фігурувати в обох іпостасях. Це створює ряд незручностей, в Зокрема, не дозволяє копіювати безпосередньо аудіодиски.

За допомогою кнопки Setup, зрозуміло, відбудеться налаштування програми. Тобто зазначаються:

Натискання на кнопки Copy Data-CD або Copy Audio-CD, при остутсвіі читає приводу, призводить до миттєвого вильоту програми, тому ознайомитися з їх вмістом мені не вдалося. Ну а кнопка Master CD дає доступ до того, що нам потрібно – збереження наших даних на століття.

Тут в першу чергу потрібно вибрати файли та каталоги, які передбачається записати. Робиться це дуже кучерявим способом: спочатку вказується каталог, де розташовуються всі потрібні файли (і не тільки вони), а потім в поле Exclude path по одному вказуються ті підкаталоги, які записувати не потрібно.

Визначаючи джерела для запису, можна (і потрібно!) Контролювати процес через Preview CD-Contents і підрахунок обсягу образу: при перевищенні максимально можливого обсягу CD ніяких повідомлень не слід, можна, захопившись, спокійно створити образ розміром гігабайти два-три.

Потім визначається файлова система майбутнього диска. Програмою X-CD-Roast підтримуються наступні з них:

Втім, всі необхідні опції файлової системи (Joliet extensions, підтримка символічних посилань та інше) можна вказати вручну, зазначивши відповідні перемикачі; після чого зберегти цю замовну систему як використовувану за замовчуванням. Записаний таким чином диск під Linux буде читатися, а от як під Windows …

Визначившись з джерелами і файлової системою, можна вказати всякого роду позначки і ідентифікатори диска, а потім, перевіривши для страховки кінцевий обсяг, перейти до створення образу. Якою пишеться у вказаний раніше розділ диска у вигляді файлу *. raw. А потім дається команда для запису – і процес, індіціруемие у вигляді прогресуючої панелі, пішов. Потрібно зауважити, що під Linux при запису з фізичного образу він займає трохи більше часу, ніж під Windows, навіть з віртуального образу: на моєму пристрої середні часи записи повного диска становили 22 і 18 хвилин відповідно. Однак, як ніби, в першому випадку він більш стійкий: випадкові руху миші або включення забутого скрінсейвера не приводять до переповнення буферу. Втім, перевіряти це – не рекомендую, щоб уникнути.

Робота з перезаписуваними дисками в X-CD-Roast по штату не передбачена. Відповідно, немає режиму стирання CD-RW. Однак записувати на носії CD-RW він у стані, як і на звичайні CD-R. А ось на що мені не вдалося виявити навіть натяків – це на режим мультисесійними записів.

Загалом, X-CD-Roast – знаряддя придатне до вживання. До його переваг можна віднести гнучкість налаштування файлової системи, а також стійкість – при всіх моїх експериментах, як і “у справі”, мені не вдалося “запороти” жодного диска. Однак відсутність коштів мультисесійними та роботи з CD-RW змусило мене продовжити пошуки, в результаті чого методом наукового тику я виловив програму під ім’ям KonCD.

З точки зору інтерфейсу вона гранично проста, пропонуючи при запуску на вибір копіювання CD або аудіодиска, створення майстер-диска, якийсь Tools і установку параметрів. Тим Проте, KonCD володіє деякими корисними особливостями. Так, він дозволяє писати з уже готового iso-образу (тих же основних типів – для Unix Rock Ridge, Win9x/NT, DOS, проте замовний опції не передбачено). Є можливість створення завантажувальних CD (при наявність способу завантаження, природно).

Крім того, KonCD пізнає перезаписуючий пристрої і пропонує (Через вишепоіменованний Tools) різні варіанти очистки дисків CD-RW (повна, швидка і т.д.). Є можливість мультисесійними записів. І взагалі, ніби все, що може знадобитися надалі. Та й у використанні істотно простіше, ніж X-CD-Roast, по Принаймні, мені здалося так.

Недолік у KonCD один, але – істотний: оскільки він нині представлений у вигляді досить ранній бета-версії, стійкістю не блищить. Вилітаючи часом під час запису. Носій CD-R при цьому, природно, гине. Більш того, навіть диск CD-RW реанімувати не вдається, навіть повним стиранням, ні під Linux, ні під Windows.

Ось на цьому-то, нарешті, я і закінчу тривала розмова про файлах і все, що з ними пов’язано. Попереду – серія оповідань про те, якими чином ці самі файли створюються. Тобто – про горезвісний створенні контенту.

Схожі статті:


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

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*