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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Програмним забезпечення (ПЗ) з відкритим кодом називають таке ПЗ, яке:

§ вільно розповсюджується;

§ доступно у вигляді вихідного коду (тексту програм);

§ дозволено модифікувати.

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

Також розрізняють безкоштовне ПЗ, яке також називають вільним (англ. – free) за принципом розповсюдження – вільно, без оплати.

ПЗ з відкритим кодом користується заслуженою популярністю в усьому світі, оскільки воно:

§ гарантує незалежність користувача від виробників (вихідний код залишається у користувача навіть якщо виробник перестає підтримувати свій продукт);

§ дає можливість кожному користувачу особисто переконатись у відсутності програмних закладок (стороннього щодо проголошеної функціональності або шкідливого коду);

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

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

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

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

Існують десятки тисяч програмних пакетів з відкритим кодом; однак значний вплив на розвиток і поширення сучасних технологій мають лише деякі з них. Серед них слід відзначити операційні системи з відкритим кодом. Більшість таких систем походять від операційної системи UNIX. Серед них у першу чергу слід назвати Linux, яка значною мірою визначає шлях розвитку усього відкритого ПЗ, також відкритими є кілька систем з гілки BSD (FreeBSD, OpenBSD), а протягом певного часу до відкритих належала і Solaris від Sun Microsystems (теперішні власники цієї системи не підтримують її відкритість).

Автори цього комп’ютерного практикуму закликають студентів вивчати і широко застосовувати відкриті програмні продукти – як операційні системи, так і прикладні програми.

Комп’ютерний практикум №1. Структура файлової системи UNIX, основні команди, команди роботи з файлами

Мета

Оволодіння практичними навичками роботи в системі UNIX. Знайомство із структурою файлової системи, основними командами роботи з файлами.

Завдання для самостійної підготовки

1. Вивчити:

¨ команди входу в систему, зміни пароля, одержання системної підказки, виводу календаря і зміни дати;

¨ організацію і структуру файлової системи UNIX, обмеження на імена файлів;

¨ типи файлів, каталоги і посилання;

¨ системні каталоги;

¨ створення, видалення, копіювання і перегляд умісту файлів.

2. Ознайомитись з такими командами UNIX:

man, passwd, date, cat, more, wc, who, ls, cd, cal, cp, mv, mkdir, rm, rmdir

Відповідно до завдання підготувати послідовність команд для його виконання.

Довідковий матеріал

Якщо ОС UNIX встановлена на персональному комп’ютері, то на ньому підтримується певна кількість так званих віртуальних терміналів, між якими можна переключатись комбінаціями клавіш Alt+F#, де F# – одна з функціональних клавіш. Користувач може працювати в системі, використовуючи одночасно кілька терміналів. Для здійснення входу в систему, користувач повинен спочатку ввести свій ідентифікатор (login). Як правило, він вводиться у відповідь на запрошення системи такого вигляду:

Login:

 

Якщо цього запрошення не екрані немає (і не діє екранна заставка – screensaver), то це означає, що даний термінал не очікує входу користувача. Три найтиповіші причини:

1. Термінал апаратно заблоковано клавішею “Scroll Lock” (це легко визначити за відповідним світлодіодом на клавіатурі) – розблокуйте термінал.

2. Термінал зайнятий, тобто з ним пов’язана деяка програма – слід вийти з цієї програми і з командної оболонки, для чого потрібен певний досвід (можуть спрацювати клавіша q, комбінації клавіш Ctrl+C, Ctrl+D, але іноді це не допоможе – див. Лабораторну роботу № 5).

3. Термінал використовується виключно для виведення на екран важливих системних подій, при цьому на ньому можна вводити команди і будь-які символи, але реакції на це не буде – слід перейти на іншу консоль комбінацією клавіш Alt+F#, де F# – одна з функціональних клавіш, крім F1.

Після введення ідентифікатора система запитує в користувача пароль:

Password:

Під час введення пароля символи на екрані не відображаються. Якщо ідентифікатор і пароль користувача були введені правильно, система здійснює авторизацію користувача, тобто, надає йому певні повноваження, необхідні для роботи в системі. Як правило, після цього користувач опиняється в середовищі командної оболонки (англ. – shell). При цьому на екрані з’являється так зване запрошення командної оболонки (найчастіше – символ ‘$’ або ‘>’, також можна довільно змінити запрошення). Командна оболонка приймає команди, що вводяться з клавіатури, інтерпретує їх і виконує відповідні дії. Ці дії можуть полягати у запуску певних утиліт із заданими у командному рядку параметрами. Крім того, командна оболонка надає користувачу певний додатковий сервіс, наприклад, дозволяє виконувати редагування команди (курсор можна переміщати вправо чи вліво, додавати або знищувати символи під курсором), в деяких оболонках можна легко відтворити попередні команди (клавіші переміщення курсору вгору та вниз), а також користуватись підказками щодо імен наявних файлів (клавіша Tab). Докладніше про ці та інші сервісні можливості можна дізнатись в довідковій системі man, а також в будь-якій доступній книзі про системи UNIX чи Linux.

В кожній системі UNIX є в наявності кілька різних командних оболонок. Не будемо наводити історію їхнього розвитку і причини існування кількох оболонок одночасно (див. відповідну літературу). Просто слід зазначити, що практично в кожній системі можна знайти звичну оболонку, або подібну до неї. Найбільш стандартною, що присутня в усіх системах, є оболонка Bourne (Bourne shell), яка стала основою стандарту POSIX shell. Ця оболонка пропонує мінімальний сервіс для користувача, і для інтерактивної роботи незручна. Її файл – /bin/sh. Існують альтернативні оболонки. Одна з них – Korn shell (/bin/ksh або /usr/bin/ksh), яку рекомендують як основну для роботи користувача в багатьох системах, здебільшого у версіях System V Release 4 (SVR4). Інша – C shell (/bin/csh), вона досить сильно відрізняється синтаксисом багатьох команд, але дуже зручна для користувача і програміста, особливо для тих, хто добре знайомий з мовою програмування С. Як правило, нею користуються адміністратори систем BSD Unix. Також існують, але не у всіх системах є доступними, більш сучасні оболонки: TC shell (/bin/tcsh) – розвиток C shell, і Bourne again shell (/bin/bashабо /usr/bin/bash) – розвиток Bourne shell. “Bourne again shell” зберігає програмну сумісність з sh, але включає в себе всі можливості ksh, ця оболонка використовується як стандартна в Linux.

В подальшому ми будемо використовувати синтаксис оболонки sh (запрошення має вигляд ‘$’), а в деяких випадках порівнювати її з csh (запрошення має вигляд ‘>’).

Командна оболонка, в якій розпочинає роботу користувач після входу в систему, визначається з файлу /etc/passwd. Це один з найголовніших конфігураційних файлів системи, який містить параметри облікових записів користувачів. Кожний рядок файлу відповідає певному користувачу, точніше, обліковому запису користувача, що розрізняється за ідентифікатором login або userid. Користувач в процесі роботи може запустити іншу командну оболонку, просто набравши її ім’я.

Усі команди, які можна ввести у рядку запрошення оболонки, належать до одної з таких категорій:

- вбудовані функції,

- функції, що визначені користувачем,

- зовнішні програми й утиліти.

Вбудовані функції реалізуються фрагментами програмного коду оболонки і виконуються найшвидше. Користувач може визначити свої функції (хоча таку можливість використовують нечасто). Якщо команда не є вбудованою функцією і не визначена як функція користувачем, тоді оболонка буде шукати файл з відповідним ім’ям і намагатись запустити його на виконання. Якщо ім’я файлу задано із шляхом до нього, то система намагається знайти його саме у тому каталозі, який явно задано у команді, але якщо ім’я файлу задано без шляху, то пошук файла здійснюється лише у тих каталогах, які задані системною змінною PATH. Для перегляду значення змінних їх слід набрати зі знаком $ попереду. Зокрема, якщо у цій змінній не задано пошук у поточному каталозі, і поточний каталог не є одним із тих, що задано у цій змінній, то оболонка не побачить виконуваних файлів з поточного каталогу.

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

Команда man форматує і відображає на терміналі сторінки довідкової системи. Відповідно до номерів розділів даються посилання на ту чи іншу сторінку довідника. Якщо є необхідність, можна вказати, в якому розділі треба шукати потрібну сторінку (Приклад 2). Приклади використання (системні запрошення не показані):

Man passwd

Man 7 mdoc

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

Команда who дозволяє визначити, хто ще працює в поточний момент в системі. Команда who am i нагадає вам, який ваш login.

Існують зручні команди визначення поточної дати й часу (date), а також виводу на екран календаря на будь-який місяць будь-якого року (cal).

Для того, щоби переглянути вміст текстового файлу, можна скористатись командою cat < ім’я файлу >, або more < ім’я файлу > (остання команда призначена для виводу інформації на екран посторінково, вона надає можливість “перегортати сторінки” вперед і назад). Існує команда wc < ім’я файлу >(word count – підрахувати слова), яка дозволяє підрахувати кількість рядків (wc -l), слів (wc -w) і символів (wc -c) у файлі. Створити текстовий файл можна командою touch < ім’я файлу >.

Розглянемо особливості файлової системи UNIX. Вся файлова система поєднується в єдине дерево каталогів, які починаються з кореневого каталогу, що має позначення ‘/’. Всі зовнішні файлові системи (змінні носії інформації, мережеві диски і таке інше) монтуються у визначенні місця єдиного дерева файлової системи (див. Лабораторну роботу №7).

Як і в інших ієрархічних файлових системах, у файловій системі UNIX ім’я файлу повинно бути унікальним лише в межах одного каталогу (на відміну від MS-DOS/Windows, UNIX розрізняє великі і малі літери в назвах файлів). Для однозначної ідентифікації файлу в дереві каталогів слід указувати повний путь до файлу. Якщо путь починається з символу ‘/’ (наприклад, /usr/local/bin/cal), то він відраховується від кореневого каталогу (абсолютний путь), а якщо з іншого символу – то від поточного каталогу, тобто того, в якому користувач знаходиться в поточний момент (відносний путь). Крім того, поточний каталог позначається символом ‘. ’ (крапка), каталог, що знаходиться на один рівень вище, тобто батьківський каталог – символом ‘ .. ’ (дві крапки). Крім того, існує спеціальне позначення для так званого домашнього каталогу користувача, тобто каталогу, з якого він починає свою роботу – ‘~’ (тильда). Домашній каталог для кожного користувача також задається у файлі /etc/passwd, за замовчуванням це /export/home/< login >, або /usr/home/< login >.

Для переходу з каталогу в каталог існує команда cd < новий каталог > (change directory – змінити каталог). Якщо використати цю команду без параметрів, відбудеться перехід в домашній каталог користувача. Наприклад, якщо домашній каталог користувача /export/home/stud1, в поточний момент він знаходиться в каталозі /opt/staroffice8/program, і бажає перейти в каталог /opt/netbeans6, він може скористатись однією з наведених нижче команд:

Cd /opt/netbeans6

Cd../../netbeans6

Щоб потрапити до свого домашнього катологу слід набрати

cd ~

Слід зазначити, що відносні путі слід використовувати з обережністю. Для того, щоби перевірити, в якому каталозі знаходиться користувач, можна скористатись командою pwd.

Перегляд вмісту каталогів здійснюється за допомогою команди ls, а розширений варіант цієї команди ls -l дає також інформацію з таблиці індексних дескрипторів (див. Лабораторну роботу №2). Щоби скопіювати файл, використовується команда cp < файл-джерело > < призначення >. Для перенесення файлу з каталогу в каталог, а також для перейменування файлу, використовується команда mv < файл-джерело > < призначення >. В обох командах в якості параметра < призначення > може задаватись каталог призначення або ім’я файлу призначення. Крім того, число параметрів може бути більше двох. В такому випадку всі параметри, крім останнього, розглядаються як список імен файлів-джерел, а останній параметр може бути лише каталогом призначення. Створити каталог можна командою mkdir, видалити файл – командою rm, видалити каталог – командою rmdir або rm -r.

Крім звичайних файлів існують різні типи спеціальних файлів. З одним із них ми вже познайомились – це каталоги. Ще одним типом спеціальних файлів є так звані посилання (рос. – ссылка, англ. – link). В системі UNIX розрізняють два принципово різних типи посилань, хоча створюються вони однією командою – ln. Перший тип – це так звані жорсткі посилання. Фактично вони є абсолютно рівноправними новими іменами вже існуючого файлу. Після створення такого посилання система не розрізняє, яке ім’я було первинне, а яке було створене як посилання. Спроба видалити такий файл призводить до того, що одне з його імен (те, за яким ми видаляємо файл), знищується, а інші (як і сам файл) залишаються. Тільки після видалення останнього з імен фактично знищується сам файл. Другий тип посилання – символічне посилання, яке створюють командою ln –l. Це спеціальний тип файлу, який містить в собі ім’я того файлу (або каталогу), на який він посилається.

Більшість команд, що застосовуються по відношенню до посилання, діють безпосередньо на файл, на який посилання здійснене. При цьому деякі послідовності команд можуть привести до небажаних наслідків. Наприклад, маємо файл oldfile і бажаємо перейменувати його в newfile. Це можна зробити як командою

Mv oldfile newfile

так і послідовністю команд

Cp oldfile newfile

Rm oldfile

Результати будуть однакові. До речі, в одному командному рядку можна задати декілька команд, розділивши їх знаком ‘;’, ці команди будуть виконуватись послідовно:



Поделиться:


Последнее изменение этой страницы: 2016-08-16; просмотров: 949; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.16.51.3 (0.024 с.)