SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA ELEKTROTECHNIKY A INFORMATIKY DISTRIBÚCIA GNU/LINUX PRE FEI(SERVER) Diplomová práca FEI

Size: px
Start display at page:

Download "SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA ELEKTROTECHNIKY A INFORMATIKY DISTRIBÚCIA GNU/LINUX PRE FEI(SERVER) Diplomová práca FEI"

Transcription

1 SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA ELEKTROTECHNIKY A INFORMATIKY DISTRIBÚCIA GNU/LINUX PRE FEI(SERVER) Diplomová práca FEI Bc. Juraj Csánó

2 DISTRIBÚCIA GNU/LINUX PRE FEI(SERVER) Diplomová práca FEI Študijný program: Aplikovaná informatika Študijný odbor: Aplikovaná informatika Školiace pracovisko: ÚRPI FEI STU Školiteľ: Ing. Peter Fodrek, PhD. Konzultant: Ing. Peter Fodrek, PhD. Bratislava 2011 Bc. Juraj Csánó

3

4

5 ANOTÁCIA DIPLOMOVEJ PRÁCE Slovenská technická univerzita v Bratislave FAKULTA ELEKTROTECHNIKY A INFORMATIKY Študijný odbor: aplikovaná informatika Študijný program: aplikovaná informatika Autor: Bc. Juraj Csánó Diplomová práca: Distribúcia GNU/Linux pre FEI(server) Vedúci diplomovej práce: Ing. Peter Fodrek, PhD. Mesiac, rok odovzdania: máj, 2011 Kľúčové slová: linux, gnu, server, lfs, linux from scratch, mail, , smtp, imap, pop3, www, web, apache, php, ftp, dns, dhcp, openldap, openssl, openssh, nfs, cifs, samba, databáza, mysql, postgresql, berkeley, sqlite Cieľom diplomovej práce je naštudovať si projekt Linux from scratch v najnovšej verzii a vytvoriť podľa neho funkčnú distribúciu operačného systému GNU/Linux pre potreby Fakulty Elektrotechniky a Informatiky Slovenskej Technickej Univerzity. Podľa tohto návodu vytvoriť štyri verzie, dve vo verzií 64 bitov a dve vo verzií 32 bitov, kde každá z týchto verzií bude vo verzií RPM a DEB. Následne zistiť požiadavky FEI STU na distribúciu pre server. Z týchto požiadaviek potom vytvoriť inštalovateľné balíčky pre všetky štyri verzie a nakoniec ich distribuovať na serveri distrowatch.com. Výsledkom práce sú štyri plne funkčné verzie operačného systému Linux a vytvorené všetky balíčky pre potreby servera. Významom tejto práce je popísanie vytvárania vlastnej distribúcie a s jej pomocou vytvoriť platformu na postupne úplný prechod FEI STU na platformu GNU/Linux.

6 MASTER THESIS ANNOTACIO Slovak University of Technology in Bratislava FACULTY OF ELECTRICAL ENGINEERIG AND INFORMATION TECHNOLOGY Branch of Study: Applied informatics Study Programme: Applied informatics Author: Bc. Juraj Csánó Master Thesis: GNU/Linux distribution for FEI (server) Supervisor: Ing. Peter Fodrek, PhD. Year, Month: 2011, May Keywords: linux, gnu, server, lfs, linux from scratch, mail, , smtp, imap, pop3, www, web, apache, php, ftp, dns, dhcp, openldap, openssl, openssh, nfs, cifs, samba, database, mysql, postgresql, berkeley, sqlite The aim of this thesis is to study the Linux project from scratch in the latest version and create it under the functional distribution of the operating system GNU / Linux for the needs of the Faculty of Electrical Engineering and Informatics, Slovak Technical University. According to these instructions create four versions, two versions of 64-bit and two 32-bit versions in which each of these versions will be the version RPM and DEB. Subsequently find out requirements of the FEI STU for distribution to the server. From these requirements, then create installable packages for all four versions and finally distribute them to the server distrowatch.com. Result of the work are the four fully functional version of Linux and all necessary packages for the server have been produced. Importance of this work is to describe the creation and with her help create own distribution of the platform to progressively transition FEI STU to platform GNU / Linux.

7 Čestné prehlásenie Prehlasujem, že som diplomovú prácu vypracoval samostatne s využitím uvedenej literatúry.... vlastnoručný podpis V Bratislave, dňa...

8 Poďakovanie Touto cestou sa chcem poďakovať vedúcemu diplomovej práce, pánovi Ing. Petrovi Fodrekovi, PhD. za cenné rady, odbornú pomoc a podnetné pripomienky pri riešení problémov, ktoré sa v diplomovej práci vyskytli.

9 Obsah Úvod Vytvorená distribúcia Distribúcie Linuxu Balíčky typu DEB a RPM Programy pre prácu s balíčkami Práca s DEB a RPM správcami balíčkov Diagram adresárovej štruktúry APT a DPKG Kompilácia a tvorenie vlastných balíčkov Čas trvania kompilácie Chyby a problémy pri kompilácii Adresárová štruktúra Tvorba základného systému Predpríprava Toolchain Popis nástrojov kompilovaných v Toolchain Základný systém Fstab Inštalácia kernelu Inštalácia zavádzača GRUB Konfigurácia základného systému Prihlásenie a užívatelia Terminál Automatické pripájanie pamäťových diskov USB IP adresa sieťových kariet Softvér pre server WWW server PHP interpret pre WWW server FTP server Databázové servery MySQL PostgreSQL Berkeley DB SQLite... 44

10 4.4 Súborové servery NFS SAMBA ové servery POP3 server Qpopper SMTP server Sendmail IMAP server Courier-IMAP DHCP server DNS server OpenLDAP autentifikačný server OpenSSH OpenSSL xinetd Ekonomický systém FlexiBee Distrowatch Záver Použitá literatúra... 60

11 Zoznam príloh 1x Licenčná zmluva 1x CD s diplomovou prácou 1x DVD s distribúciou Linux vo verzií 64 bit DEB, 64 bit RPM, 32 bit DEB, 32 bit RPM, s vytvorenými balíčkami všetkých distribúcií, zdrojovými kódmi a skriptami

12 Zoznam použitých skratiek CIFS DHCP DNS EXT2 EXT3 EXT4 FSTAB FTP GID GRUB HTML chroot IDE ISP LDAP LFS MBR MOTD MPM NFS PHP SSH SSL UID USB UUID Common Internet File System Dynamic Host Configuration Protocol Domain Name Service Second extended file system Third extended file system Fourth extended file system File System Table File Transfer Protocol Group Identifier Grand Unified Bootloader Hypertext Markup Language Change root Integrated Drive Electronics Internet Service Provider Lightweight Directory Access Protocol Linux From Scratch Master Boot Record Message Of The Day Multi-Processing Module Netvork File System Hypertext Preprocessor Secure Shell Secure Sockets Layer User Identifier Universal Serial Bus Universally Unique Identifier

13 Úvod V tejto diplomovej práci je popísaný postup práce pri tvorbe vlastnej distribúcie GNU/Linux (ďalej len Linux) a jej použitie pre potreby servera. Je to prvý pokus postupne pomaly prejsť na systém Linux na Fakulte elektrotechniky a informatiky Slovenskej Technickej Univerzity. Tiež popisuje postup pri vytváraní vlastných balíčkov pre dva najpoužívanejšie formáty DEB vytvorený pre systémy založené na distribúcií Debian a formátu RPM vyvinutého pre potreby inštalovania balíčkov na systémoch založených na Red Hat Linux. Taktiež popisuje programy a spôsoby práce s týmito balíčkami, akými sú ich inštalácia a odstránenie zo systému. Rovnako tak popisuje aj chyby, ktoré sa vyskytli počas tvorby samotného základného systému podľa projektu Linux from scratch, ale aj problémy pri tvorbe jednotlivých balíčkov a spúšťaní jednotlivých služieb, ktoré zabezpečujú. 1

14 1 Vytvorená distribúcia Všetky distribúcie vytvorené v tejto práci obsahujú správcu systému root a jedného testovacieho užívateľa. Ich prihlasovacie údaje sú v tabuľke 1.1. Aplikovanie týchto distribúcií na konkrétny server si vyžaduje v prípade potreby pár úprav. Jedná sa o úpravy nastavenia pevného disku, na ktorom bude tento systém použitý. Tieto zmeny treba vykonať v konfiguračnom súbore fstab nachádzajúci sa v /etc/fstab podľa postupu uvedeného v kapitole Rovnako tak je nutné zmeniť nastavenia pre zavádzač GRUB podľa návodu v popísanom v kapitole V prípade, ak sa tento systém bude nachádzať na pevnom disku, obsahujúcom iný zavádzač ako GRUB prípadne zavádzač pre systém Microsoft Windows je nutné si naštudovať jeho manuál kvôli kompatibilite. V prípade, že z nejakého dôvodu sa použije zavádzač GRUB obsiahnutý v týchto distribúciách, treba si naštudovať spôsob nastavenia pre iné systémy. Samotnú distribúciu stačí rozpakovať na čistú partíciu pevného disku príkazom: tar -jxf <príslušná_distribúcia>.tar.bz2 <adresár_s_pripojeným_čistým_diskom> a zmeniť záznam pre MBR podľa postupu v kapitole Tab. 1.1: Prihlasovacie údaje prihlasovacie údaje správcu systému prihlasovacie meno root prihlasovacie heslo feifei prihlasovacie údaje testovacieho užívateľa prihlasovacie meno test prihlasovacie heslo Všetky distribúcie boli vytvárané na jednom notebooku a pod jedným operačným systémom Linux. Informácie o použitom notebooku a hosťovskom systéme sú v tabuľke 1.2. Tab. 1.2: Informácie o použitom počítači a systéme pri tvorbe distribúcie Model notebooku ASUS M50vc Operačná pamäť 4 GB Sieťová karta Realtek PCIe GBE Operačný systém Debian 5.1 Lenny Architektúra amd64 Jadro systému bpo.5-amd64 aktuálna najnovšia verzia 6.7 verzia použitá pri tvorbe práce 6.7 Všetky skripty použité pri vytváraní celej distribúcie aj inštalačné skripty jednotlivých balíčkov sú priložené na DVD spolu so samotnými vytvorenými balíčkami. 2

15 2 Distribúcie Linuxu Nakoľko existuje veľký počet architektúr procesorov a rôzni užívatelia majú rôzne požiadavky na softvérovú výbavu, vzniklo veľké množstvo rozličných operačných systémov Linux. Z tohto dôvodu bol spočiatku všetok softvér dodávaný výhradne v podobe zdrojových kódov. Týmto sa predišlo problémom s kompatibilitou použitej architektúry počítača. Každý užívateľ si daný softvér skompiloval na svojom počítači pomocou kompilátorov jazyka C pripadne C++. Pred samotným kompilovaním sa na začiatku skontrolovalo, či sú splnené všetky závislosti. Pojmom závislosť sa v terminológii informatiky má na mysli, či je nainštalovaný v danom počítači aj iný softvér, potrebný či už pre skompilovanie alebo pre správny beh daného programu. Aby sa predišlo tejto neustálej kompilácií a zjednodušilo sa tak implementovanie programov do systému, začali sa vytvárať takzvané distribúcie. Keďže každý používateľ Linuxu mal svoje vlastné požiadavky na tento operačný systém, vzniklo veľké množstvo viac či menej odlišných distribúcií, kde niektoré boli odvodené úpravou už existujúcej distribúcie. Napríklad operačný systém Ubuntu, ktorý je v súčasnej dobe najrozšírenejší spomedzi všetkých, je odvodený od operačného systému Debian. Medzi najznámejšie distribúcie patria: Debian Fedora Core FreeBSD Gentoo Knoppix Mandriva OpenSUSE Red Hat Slackware V súčasnosti, za posledné tri mesiace (marec máj 2011), je poradie populárnosti jednotlivých distribúcií podľa DistroWatch.com nasledovné [8]: Tab. 2.1 Štatistika populárnosti za posledné tri mesiace ku dňu Poradie Distribúcia 1 Ubuntu 2 Mint 3 Fedora 4 Debian 5 OpenSUSE 6 Arch 7 PCLinuxOS 8 Slackware 9 Puppy 10 CentOS 11 Mandriva 3

16 Debian 1993 Gibraltar 2000 Knoppix 2000 Ubuntu 2004 PureOS 2006 Kubuntu 2005 Edubuntu 2005 Xubuntu 2006 Obr. 2.1 Vývoj niektorých distribúcií Linuxu založených na systéme Debian Každá z týchto distribúcií ma svoje hlavné verzie. Napríklad distribúcia Debian má v súčasnosti tri hlavné verzie, a to stabilnú (stable) s kódovým označením squeeze, testovaciu (testing) označenú ako wheezy a nestabilnú (unstable) s označením sid. Nestabilná verzia obsahuje najnovší softvér, ktorý je ešte vo vývoji a obsahuje veľké množstvo chýb. Táto verzia, ako napovedá už jej názov, je nestabilná a často padá. Po odladení všetkých závažných a kritických chýb je softvér z tejto verzie presunutý do testovacej verzie. V testovacej verzii sa jednotlivý softvér podrobuje testom, hľadajú sa zvyšné chyby, ktoré ostali neodladené z nestabilnej verzii. Po úplnom odladení je následne tento softvér presunutý do stabilnej verzie. Tento proces sa opakuje pre všetok softvér na rôznych platformách procesora. Operačný systém Debian podporuje širokú škálu platforiem, ktorými sú napríklad: amd64 armel i386 ia64 mips mipsel powerpc sparc s390 Najpoužívanejšie spomedzi uvedených platforiem sú platformy i386, ktorá je určená pre stanice s 32 bitovým procesorom Intel alebo AMD a platforma amd64, ktorá je určená pre 64 bitové procesory Intel a AMD. 4

17 Jednotlivé distribúcie sa dajú kategorizovať podľa použitia na: pre domácnosť a kanceláriu pre riadenie pre server špecializované pre konkrétne účely o prerozdeľovanie disku o záchranný systém o LiveCD Niektoré distribúcie sú voľne šíriteľné a sú publikované pod licenciou GNU GPL, ďalšiu skupinu tvoria platené distribúcie určené pre komerčné použitie a poslednú skupinu tvoria distribúcie, ktoré sú poskytované bezplatne, ale technická podpora je spoplatnená podľa sadzobníka. Výber vhodnej distribúcie závisí predovšetkým od účelu používania, ale aj od technických schopnosti a zručnosti potenciálneho používateľa. Na zjednodušenie používania a orientovania sa v operačnom systéme boli vyvinuté rôzne grafické rozhrania. Medzi najznámejšie patria KDE a grafické rozhranie GNOME. Pri serverovej distribúcii sa z dôvodu šetrenia systémových prostriedkov nepredpokladá použitie žiadneho grafického rozhrania. V tomto prípade úplne postačuje príkazový riadok, pomocou ktorého sa zadávajú príkazy a robí sa konfiguráciu. Aby odpadla nutnosť neustáleho kompilovania zdrojových kódov, začali sa využívať takzvané balíčky (packages). Medzi najrozšírenejšie balíčky patria balíčky typu DEB vyvinuté pôvodne pre distribúcie Debian a baličky formátu RPM, ktorý pôvodne vyvinul Ethan Cohen pre distribúciu Red Hat. Menej rozšíreným je formát balíčkov Slackware vytvorený v roku 1993 Patrikom Volkerdingom pre Linux Slackware. Tieto balíčky v sebe obsahujú už skompilovaný softvér a informácie, aký softvér v akej verzii obsahujú, aké sú závislosti, a ďalšie informácie. 2.1 Balíčky typu DEB a RPM Balíčky typu DEB sú vo svojom podstate len archív formátu AR obsahujúci tri súbory: debian-binary control.tar.gz data.tar Textový súbor debian-binary obsahuje číslo formátu verzie. V súčasnosti sa používa formát typu 2.0. Archív data.tar obsahuje samotný skompilovaný softvér, knižnice, konfiguračné súbory, súbory manuálu a ďalšie súbory. Jeho hierarchická štruktúra je rovnaká ako má byť daný softvér nainštalovaný. Ak sa má program <prog> po nainštalovaní nachádzať v adresári /usr/sbin, tak v tomto archíve má daný program polohu usr/sbin/<prog>. Po nainštalovaní balíka sa do adresára /var/lib/dpkg/info uložia všetky potrebné informácie. Do súboru <názov_balíka>.list sa uloží zoznam nainštalovaných (rozpakovaných) súborov s úplnou cestou. Takisto sa tam uložia inštalačné skripty (napríklad <názov_balíka>.postinst) a súbor <nazov_balíka>.md5sums obsahuje MD5 hash všetkých súborov balíka. Všetky tieto informácie sa využijú pri odinštalovaní balíka, prípadne pri jeho 5

18 preinštalovaní. V archíve control.tar.gz sú spakované súbory inštalačných skriptov, súbor obsahujúci informácie ako verzia balíčku, autor, závislosti a iné metainformácie. Tieto najhlavnejšie súbory sú popísané v tabuľke 1. Informácie o nainštalovaných balíčkoch a ich stav (chybný, nainštalovaný/odinštalovaný, nakonfigurovaný/nenakonfigurovaný) sa nachádzajú v súbore /var/lib/dpkg/status. Tab. 2.2: Hlavné súbory obsiahnuté v archíve control.tar.gz súbor popis control súbor obsahujúci informácie o balíčku, verziu, meno autora, kategóriu, popis a iné meta-informácie postinst inštalačný skript, ktorý sa vykoná po nainštalovaní balíka postrm inštalačný skript, ktorý sa vykoná po odinštalovaní balíka preinst inštalačný skript, ktorý sa vykoná pred nainštalovaním balíka prerm inštalačný skript, ktorý sa vykoná pred odinštalovaním balíka Napríklad, súbor control balíčka databázového servera MySQL obsahuje tieto položky: Package: mysql Priority: extra Section: checkinstall Maintainer: root@l4fei Architecture: amd64 Version: Depends: openssl (>=1.0.0d) Provides: mysql Conflicts: Replaces: Description: MySQL Database Server Veľmi dôležitou položkou je nastavenie závislosti. Pri kompilovaní konfiguračný skript./configure každého balíčka skontroluje, či sa v systéme nachádzajú všetky potrebné závislosti pre kompiláciu aj pre samotnú správnu činnosť daného programu. Pri inštalovaní balíčka, inštalátor nedisponuje takouto možnosťou, preto je nutné mu túto informáciu poskytnúť práve prostredníctvom tejto položky. Pri inštalovaní inštalátor pozrie túto položku a skontroluje svoj zoznam nainštalovaných balíčkov. Ak sa daný potrebný balíček v systéme nachádza, inštalátor bez problémov nainštaluje daný balíček. V opačnom prípade zobrazí chybu o nesplnení závislosti (správca balíčkov DPKG a RPM), prípadne ponúkne možnosť chýbajúce balíčky stiahnuť nainštalovať zo sieťových repozitárov (správca APT a YUM). V tejto položke sa môže nachádzať viac potrebných balíčkov, oddelených čiarkou. Okrem možnosti skontrolovať, či je daná závislosť splnená, môže každá jednotlivá položka obsahovať aj informáciu o verzii, v akej má byť tento balík nainštalovaný. Táto informácia sa nachádza v zátvorke za názvom potrebného balíčka oddelená od neho medzerou a disponuje možnosťami určenia menšej, rovno-menšej, rovnej, rovno-väčšej alebo väčšej ako je uvedená. Zmieňovaný balíček MySQL potrebuje pre svoju činnosť balíček OpenSSL vo verzií minimálne 1.0.0d alebo novší. 6

19 Inštalačné skripty pre inštaláciu (postinst, preinst) sú volané iba pri inštalácií. Pri odinštalácií balíčka sú volané iba skripty určené pre odinštalovanie (postrm, prerm). Všetky inštalačné skripty sú pri svojom spúšťaní volané s parametrami uvedenými v nasledujúcej tabuľke. Tab. 2.3: Zoznam parametrov volaných pri inštalácií/odinštalácií skript parameter volanie skriptu s príslušnym parametrom postinst configure po dokončení inštalácie balíčka - konfigurácia postinst upgrade po dokončení prechodu na novšiu verziu postrm remove po odinštalovaní balíčka postrm purge po odinštalovaní balíčka s parametrom --purge (odstráni všetky súbory vrátane konfiguračných) preinst install pred inštalovaním balíčka preinst upgrade pred prechodom balíčka na novšiu verziu prerm remove pred odinštalovaním balíčka prerm purge pred odinštalovaním balíčka s parametrom purge Tieto skripty sú využívané pri potrebe vykonať nejaké akcie pred/po nainštalovaním balíčku, resp. pri jeho odinštalovaní. v prípade serverových aplikácií môže post-inštalačný skript obsahovať príkazy na vytvorenie užívateľa, pod ktorým bude daná služba spúšťaná, vytvoriť potrebné adresárové štruktúry, zmeniť práva súborom/adresárom a v neposlednom rade vytvoriť bootovací skript a po dokončení celej inštalácie spustiť danú službu. Pre uvedený príklad s MySQL databázovým serverom takýto post-inštalačný (postinst) skript vyzerá nasledovne: #!/bin/sh case "$1" in configure) echo Konfigurujem MySQL Server groupadd -g 40 mysql && useradd -c "MySQL Server" -d /dev/null -g mysql -s /bin/false -u 40 mysql chmod 777 /tmp mysql_install_db --user=mysql && chgrp mysql /srv/mysql{,/test,/mysql} install -m755 -o mysql -g mysql -d /var/run/mysql && mysqld_safe --user=mysql 2>&1 >/dev/null & cat > /tmp/mysql << "EOF" #!/bin/sh # Begin $rc_base/init.d/mysql # Based on sysklogd script from LFS-3.1 and earlier. # Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org #$LastChangedBy: bdubbs $ #$Date: :29: (Mon, 01 Aug 2005) $. /etc/sysconfig/rc. $rc_functions PIDFILE=/srv/mysql/`/bin/hostname`.pid KILLDELAY=20 7

20 case "$1" in start) stop) boot_mesg -n "Starting MySQL daemon..." failure=0 if [ -f "$PIDFILE" ] then if /bin/ps p `cat $PIDFILE` grep mysqld >/dev/null then boot_mesg "mysqld already running!" ${WARNING} echo_warning exit 0 else rm -f "$PIDFILE" if [ -f "$PIDFILE" ] then failure=1 fi fi fi if [ "$failure" = "1" ] then echo "" echo_failure else echo "" /usr/bin/mysqld_safe --user=mysql 2>&1 >/dev/null & evaluate_retval fi ;; boot_mesg -n "Stopping MySQL daemon..." if [ -e "$PIDFILE" ] then echo "" killproc -p ${PIDFILE} /usr/bin/mysqld_safe else boot_mesg "mysqld not running!" ${WARNING} echo_warning if [ -e "$PIDFILE" ] then rm -f $PIDFILE fi fi ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/mysqld ;; 8

21 esac *) echo "Usage: $0 {start stop restart status}" exit 1 ;; # End $rc_base/init.d/mysql EOF install -m 754 /tmp/mysql /etc/rc.d/init.d/ ln -sf /etc/rc.d/init.d/mysql /etc/rc.d/rc0.d/k26mysql ln -sf /etc/rc.d/init.d/mysql /etc/rc.d/rc1.d/k26mysql ln -sf /etc/rc.d/init.d/mysql /etc/rc.d/rc2.d/k26mysql ln -sf /etc/rc.d/init.d/mysql /etc/rc.d/rc3.d/s34mysql ln -sf /etc/rc.d/init.d/mysql /etc/rc.d/rc4.d/s34mysql ln -sf /etc/rc.d/init.d/mysql /etc/rc.d/rc5.d/s34mysql ln -sf /etc/rc.d/init.d/mysql /etc/rc.d/rc6.d/k26mysql rm /tmp/mysql /etc/rc.d/init.d/mysql start ;; esac Tento skript po dokončení inštalácie (rozpakovania) balíčka vypíše na obrazovku text Konfigurujem MySQL Server, vytvorí skupiny mysql s ID skupiny 40, vytvorí užívateľa mysql s ID 40, nastaví jeho domovský adresár a shell a priradí ho do skupiny mysql. Následne zmení práva adresáru /tmp, ktorému povolí všetkým úplný prístup (bez tohto plného prístupu by sa služba nespustila, skončila by pri spúšťaní s chybou, že daný adresár nemá nastavene tieto práva). Následne nainštaluje základnú databázu s tabuľkami obsahujúce nastavenia samotnej MySQL databázy a nastaví práva pre užívateľa, pod ktorým bude táto služba spúšťaná. Potom skupinu vlastníka adresárom /srv/mysql, /srv/mysql/test a /srv/mysql/mysql. V adresári /srv/mysql sa budú vytvárať jednotlivé databázy a adresáre test a mysql obsahujú tabuľky pre testovaciu a konfiguračnú databázu. Ďalej sa vytvorí adresár /var/run/mysql a nastaví sa mu vlastník a skupina na mysql. Následne sa do dočasného súboru /tmp/mysql zapíše bootovací skript, ktorý sa nainštaluje do adresára /etc/rc.d/init.d a vytvoria sa na neho symbolické linky. Tento dočasný súbor sa vymaže a nakoniec sa spustí samotná služba MySQL databázového servera. Pri odinštalovaní DEB balíčka s parametrom --purge sa najskôr zavolá daný skript (prerm, postrm) s parametrom remove a následne sa opätovne daný skript zavolá s parametrom purge. Odinštalačné skripty sú pomerne jednoduché. Vo svojej podstate len vypnú službu pred odinštalovaním, ak vytvárali užívateľa a skupinu tak ich odstránia a vymažú súbory resp. adresáre ktoré vznikli pri inštalácií (konfiguračné súbory, skripty pre zavádzač,...) alebo mohli byť vytvorené ako konfiguračné súbory neskôr. V prípade MySQL databázového servera vyzerá pred-odinštalačný (prerm) skript nasledovne: 9

22 #!/bin/sh case "$1" in remove) /etc/rc.d/init.d/mysql stop echo Odstranujem MySQL Server userdel -f mysql groupdel mysql 2>/dev/null rm -f /etc/rc.d/init.d/mysql rm -f /etc/rc.d/rc0.d/k26mysql rm -f /etc/rc.d/rc1.d/k26mysql rm -f /etc/rc.d/rc2.d/k26mysql rm -f /etc/rc.d/rc3.d/s34mysql rm -f /etc/rc.d/rc4.d/s34mysql rm -f /etc/rc.d/rc5.d/s34mysql rm -f /etc/rc.d/rc6.d/k26mysql esac rm -f /etc/my.cnf rm -rf /srv/mysql rm -rf /var/run/mysql ;; Balíčky typu RPM obsahujú podobné informácie a skripty ako balíčky typu DEB. Podobne tak aj spúšťajú svoje inštalačné skripty. Jediný väčší rozdiel je v parametroch, ktoré sú zadávané pri volaní týchto skriptov. Popis týchto parametrov je v nasledujúcej tabuľke. Tab. 2.4: Zoznam parametrov používaných pri inštalácií, odinštalácií a aktualizácií akcia skript parameter inštalácia pred-inštalačný 1 inštalácia po-inštalačný 1 odinštalácia pred-odinštalačný 0 odinštalácia po-odinštalačný 0 aktualizácia pred-inštalačný 2 aktualizácia po-inštalačný 2 aktualizácia pred-odinštalačný 1 aktualizácia po-odinštalačný 1 Pri aktualizácií na novšiu verziu sa spustia najskôr inštalačné skripty a následne po nich odinštalačné skripty v rovnakom poradí a s parametrami ako je uvedené v tabuľke 4 pri akcií aktualizácia. Každý formát balíčkov má aj svoju vlastnú štruktúru názvov pre balíky. Balíčky DEB majú štruktúru <názov>_<verzia> <release>_<platforma>.deb. Balíčky typu RPM majú názvy v tvare <názov> <verzia> <release>.<platforma>.rpm. Pre skôr zmieňovaný balíček mysql s platformou AMD64 by boli názvy: mysql_ _amd64.deb mysql x86_64.rpm V prípade, keď sa jedná o balíček pre ľubovoľnú platformu, je pri balíčkoch typu DEB platforma ALL a pri balíčkoch typu RPM je platforma NOARCH. 10

23 2.2 Programy pre prácu s balíčkami Balíčky obidvoch typov používajú svoje vlastné programy na inštaláciu resp. odinštaláciu. Balíčky DEB používajú na inštaláciu správcu balíčkov DPKG. Tento správca inštaluje iba balíčky uložené lokálne, prípadne zo súborového servera. Pre automatizované inštalovanie zo sieťového repozitára sa používajú programy ako APT prípadne APTITUDE. Pojem APT v sebe zahŕňa viacero správcovských nástrojov, akými sú apt-get, ktorý inštaluje balíčky zo sieťových repozitárov apt-cache používaný na hľadanie a zobrazovanie informácií o balíčkoch apt-cdrom, ktorý inštaluje balíčky uložené na nosičoch CDROM/DVD Rovnako to je aj pri RPM formáte, kde je správca na inštaláciu lokálnych balíčkov program RPM a program pre inštalovanie balíčkov zo sieťového repozitára YUM. Oba programy používané pre inštaláciu zo sieťového repozitára musia mať adresy repozitárov nastavené v konfiguračných súboroch. Správca APT má nastavenia všetkých repozitárov v jedinom súbore /etc/apt/sources.list a obsahuje jednoduché riadky s adresou repozitára, verziou (squeeze, wheezy, sid) v tvare: deb squeeze main deb squeeze/updates main Na rozdiel od toho, správca YUM má všetky repozitáre v oddelených súboroch s koncovkou.repo uložené v adresári /etc/yum.repos.d. Napríklad štruktúra súboru suse.repo s nastaveným repozitárom na opensuse 11.4 je nasledovná: [base] name=opensuse_11.4 Base type=rpm-md baseurl= gpgcheck=1 gpgkey= enabled=1 Ďalším správcom je napríklad program ZYPPER používaný v distribúciách opensuse. Okrem týchto textovo-orientovaných správcov existujú aj správcovia v grafickom režime, napríklad KPackage, Synaptic Package Manager, YaST a iní. 11

24 2.2.1 Práca s DEB a RPM správcami balíčkov Každý správca balíčkov má veľké množstvo parametrov, s ktorými povoľuje robiť rôzne úkony s balíčkami. Medzi základné patria inštalovanie a odinštalovanie balíčkov, vyhľadávanie balíčkov, vyhľadávanie nových verzií, aktualizovanie na nové verzie, zobrazenie zoznamu nainštalovaných balíčkov a podobne. Základné príkazy práce so správcami balíčkov sú popísané v nasledujúcej tabuľke. Tab. 2.5: Základné príkazy pre prácu s balíčkami akcia DEB RPM inštalovanie dpkg -i <názov>.deb rpm -i <nazov>.rpm apt-get install <balík> yum install <balík> odinštalovanie dpkg -r <názov>.deb rpm -e <nazov>.rpm odinštal. a odstránenie apt-get --purge remove konfig. suborov <balík> - zoznam súborov v balíku dpkg -L <balík> rpm -q --list <balík> zoznam súborov v lokálnom balíčku dokg -c <názov>.deb rpm -qpl <názov>.rpm zobrazenie popisu apt-cache show <balík> rpm -qpi <balík> zobrazenie závislosti apt-cache depends <balík> rpm -qpr <balík> obnoviť zoznam balíkov apt-get update rpm --rebuilddb yum update aktualizácia apt-get upgrade rpm -U <balík> rekonfigurácia dpkg-reconfigure <balík> dpkg --configure -a - reinštalácia apt-get install --reinstall <balík> rpm -U --force <balík> zobrazenie inštalačných skriptov - rpm -q scripts iba stiahnutie balíčkov bez inštalácie apt-get install -d <balík> - stiahnutie zdrojových kódov balíčka apt-get source <balík> Diagram adresárovej štruktúry APT a DPKG Správcovia balíčkov APT a DPKG využívajú pre svoju činnosť viaceré adresáre a jednotlivé súbory v nich. K týmto súborom pristupujú predovšetkým pri inštalácií a odinštalácií balíčkov, ale aj pri načítavaní zoznamov nainštalovaných alebo dostupných balíčkov. Táto adresárová štruktúra je popísaná v nasledovnom diagrame a obsahuje aj informácie, pri akej akcií k jednotlivým súborom pristupuje. 12

25 číta a aktualizuje apt-cdrom /var/lib/dpkg/ available status info/* Informácie o balíčkoch Aktuálny stav každého Zoznamy o súboroch dostupných v repozitári. balíčka, ktorý bol nainštalovaných niekedy nainštalovaný. balíčkom, inštalačné skripty, a iné kontrolné súbory. cdrom.list extented_states číta lists/*_packages /var/lib/apt/ Zoznam CDROM nosičov, ktoré apt-cdrom pridalo do svojich zdrojov. Ukladá dodatočné info, ako napr, či každý balík bol automatický nainštalovaný. Informácie o všetkých.deb balíčkoch dostupných zo všetkých zdrojov. číta dselect číta a zapisuje automaticky číta zoznamy repozitárov číta stavy, aktualizuje aktualizuje apt-get číta číta a aktualizuje pri inštalovaní a odinštal. dpkg generuje pri update sťahuje.deb balíčky maže pri použití parametra clean /etc/apt/ pkgcache.bin archives/*.deb sources.list Zoznam sieťových repozitárov Binárna databáza informácií o dostupných.deb balíčkov. Ukladá všetky informácie o balíčku, vrátane závislosti. Stiahnuté balíčky zo sieťového repozitára. Tie môžu byť znovu použité bez potreby ich opätovného sťahovania. Obr. 2.2: Diagram APT a DPKG adresárovej štruktúry /var/cache/apt/ 13

26 2.3 Kompilácia a tvorenie vlastných balíčkov Pokiaľ máme k dispozícií zdrojový kód určitého programu, môžeme tento program skompilovať a následne nainštalovať, prípadne rovno vytvoriť vlastný balíček. Na skompilovanie a nainštalovanie programu zo zdrojového kódu použijeme príkazy:./configure make make install V tomto prípade sa ako prvý spusti konfiguračný skript, ktorý skontroluje dostupnosť všetkých potrebných programov a hlavičkových súborov v našom systéme. Pokiaľ niečo chýba, konfiguračný skript skončí s chybou a vypíše chybové hlásenie o chýbajúcom komponente. V tomto kroku môžeme tiež upravovať niektoré parametre inštalácie, ako napríklad ktoré komponenty sa majú resp. nemajú nainštalovať, ktorý adresár sa má použiť pre ukladanie konfiguračných súborov, do akého adresára sa majú uložiť dokumenty a podobne. V prípade ak by sme inštalovali napríklad správcu balíčkov DPKG, použili by sa predvolené adresáre a zoznam o nainštalovaných balíčkov by mal umiestnenie namiesto /usr/var/lib/dpkg/status polohu /usr/local/var/lib/dpkg/status. V tomto prípade by nastal problém po nainštalovaní správcu APT. Každý tento správca by mal svoj zoznam nainštalovaných balíčkov a nevedel by o balíčkoch, ktoré nainštaloval ten druhý. Správne inštalovanie správcu DPKG vyzerá nasledovne:./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var make make install Príkaz make skompiluje samotný zdrojový kód na strojový kód. Niektoré programy vyžadujú po skompilovaní (medzi príkazmi make a make install ) spraviť test, či bol daný program skompilovaný bez chýb. V tomto prípade použijeme príkaz make test prípadne make check. Príkazom make install sa nakopírujú skompilované fragmenty programu do systému. Samotná kompilácia programu môže trvať pomerne dlho a môže skončiť s chybou. Pokiaľ chceme vytvoriť balíček, či už typu DEB alebo RPM (prípadne typu Slackware) musíme nainštalovať do nášho systému balíček alebo skompilovať zdrojový kód programu checkinstall. Program checkinstall volá rovnakú metódu ako príkaz make install s tým rozdielom, že skompilovaný program nenakopíruje do systému ale do dočasného adresára, ktorý nakoniec spakuje do balíčka DEB resp. RPM. Následkom tohto použijeme namiesto príkazu make install iba príkaz checkinstall. V niektorých ojedinelých prípadoch (Apache Web Server) sa nepodarí balíček vytvoriť. V tomto prípade musíme použiť aj inštaláciu aj vytvorenie balíčka nasledovne:./configure make make install checkinstall 14

27 Táto metóda tvorby balíčkov je neúčinná, pokiaľ daný program nemá v súbore Makefile, využívaný pri kompilácií a inštalácií, metódu install. Niektoré programy sa môžu inštalovať buď cez nejaký inštalačný skript (napríklad Build.sh) alebo v metóde pre make majú zahrnutú už aj rovno inštaláciu. Tvorba balíčkov tiež skončí s chybou pokiaľ chce napríklad vytvoriť kľúče (táto chyba sa vyskytla pri pokuse vytvoriť balíček OpenSSH). Pokiaľ chceme do balíčka zahrnúť aj inštalačné skripty, tieto musia byť uložené v adresári z ktorého spúšťame príkaz checkinstall a musia mať názvy: postinstall-pak postremove-pak preinstall-pak preremove-pak a musia mať nastavené prístupové práva všetci môžu čítať a spúšťať a nikto nemôže zapisovať, t.j. r-xr-xr-x. Program checkinstall si pri svojom spustení vypýta od užívateľa ako prvú informáciu popis balíčka, ostatné informácie ako sú názov a verzia programu, vlastník, skupina a ostatné program checkinstall načíta sám automaticky a ponúkne užívateľovi možnosť zmeniť ich. V prípade balíčkov typu DEB je možné tieto balíčky rozbaliť do špecifikovaného adresára pomocou dpkg-deb -x <názov>.deb <adresár_pre_rozpakovanie> a je možnosť ďalej upravovať tieto súbory. V prípade, ak má make install nejaké špecifické parametre ako MANDIR (pre DOCDIR je špeciálny parameter --docdir), ktoré checkinstall nepozná. Potom je možné tento balíček rozpakovať a popresúvať adresáre podľa potreby. Pri tomto rozpakovaní sa neextrahujú inštalačné skripty ani súbor control. V adresári, do ktorého sme rozpakovali balíček, treba preto vytvoriť podadresár DEBIAN (všetko veľkými písmenami) a do tohto adresára vložiť súbor control a inštalačné skripty. Pre zjednodušenie vytvárania súboru control, môžeme tento súbor vytvoriť použitím informácií zadaných pri tvorbe balíčka príkazom: dpkg -I <názov>.deb > <adresár_pre_rozpakovanie>/debian/control Pri tomto extrahovaní meta-informácií o balíčku, musíme takto vytvorený súbor control ešte ručne upraviť. Je potrebné z neho vymazať prvé riadky oznamujúce počet inštalovaných súborov tak, aby informácia o názve balíčku (položka Packages) bola na prvom riadku tohto súboru. Tiež je veľmi dôležité vymazať medzery pred týmito položkami. Inštalačné skripty musia mať názov podľa tabuľky 2 uvedenej v kapitole 2.1. Ak tieto inštalačné skripty obsahujú aj spustenie/zastavenie služby, pri balíčkoch typu DEB prejde všetko bez problému a aj výpis na obrazovku je správny, napríklad spúšťanie služby skorej zmieňovaného MySQL servera Starting MySQL daemon... [ OK ] Problém je pri balíčkoch typu RPM, kde sa tento výpis z neznámeho dôvodu zlieva dokopy nasledovne: Sta[ OK ]ysql daemon... 15

28 Pri vytváraní balíčkov typu DEB sú tieto uložené v adresári, z ktorého sme spúšťali checkinstall a po vytvorení sú automaticky nainštalované. Balíčky typu RPM sú po vytvorení uložené buď v adresári správcu /root/rpmbuild/rpms/<platforma>/ alebo v adresári /var/rpmbuild/rpms/<platforma>/. Tieto balíčky po svojom vytvorení nie sú automaticky nainštalované. 2.4 Čas trvania kompilácie Samotná kompilácia programu môže trvať pomerne dlho, závisí od výkonu počítača na ktorom je vykonávaná a od zložitosti samotného programu. Tento čas kompilácie môže trvať niekoľko minút, ale u niektorých programov aj niekoľko hodín. Tento čas kompilácie zdrojových kódov možno urýchliť povolením kompilovania súčasne na viacerých jadrách. Toto môžeme povoliť zadaním parametra j <N> pre make, kde <N> je počet jadier na ktorých môže systém súčasne kompilovať. V prípade ak máme dvojjadrový procesor, bude príkaz na kompilovanie vyzerať make j 2. Toto urýchľovanie sa neodporúča, pretože môže viesť k zbytočným chybám počas kompilácie. V prípade, ak jedna kompilovaná knižnica potrebuje pre svoje skompilovanie mať skompilovanú druhu knižnicu a máme povolené kompilovanie na dvoch jadrách, môže nastať situácia, kedy druhá knižnica je skompilovaná skôr ako tá, ktorú potrebuje pre svoju kompiláciu. V tomto prípade nastane chyba, kompilácia sa nepodarí a je nutné kompiláciu opakovať. Tento jav sa však môže opakovať aj pri opätovnom kompilovaní. V konečnom dôsledku treba túto podporu kompilovania na viacerých jadrách vypnúť. Čas ušetrený súbežným kompilovaním sa veľmi rýchlo stratí práve pri potrebe opätovného kompilovania. Po samotnej kompilácii čas potrebný na inštaláciu, prípadne na vytvorenie balíčka je v porovnaní so samotnou kompiláciou zanedbateľný. Tento krok trvá zvyčajne do päť minút. 2.5 Chyby a problémy pri kompilácii Počas kompilovanie jednotlivých zdrojových kódov sa môže vyskytnúť chyba a program sa neskompiluje. V tomto prípade treba identifikovať chybu, napraviť ju a pokúsiť sa znovu skompilovať program. Niektoré jednoduchšie chyby sa dajú vyriešiť jednoducho a rýchlo, iné zaberú dlhý čas ich identifikovaním a ešte viacej času trvá ich odstránenie. Niektoré chyby sa dajú identifikovať zo záznamov uložených v adresári, z ktorého sme kompilovali program, v súbore config.log. V princípe môžu nastať tieto chyby: 1. Príkaz./configure nenájde požadované potrebné knižnice. Táto chyba sa dá ľahko identifikovať a opraviť nainštalovaním potrebných programov prípadne knižníc. V prípade, že je tento problém väčší, môžeme sa pokúsiť kompilovať bez viazanosti na chýbajúci balík príkazom./configure --without-<chýbajúci_balík> 2. Kompilácia make skončí s chybou. V tomto prípade je identifikácia chyby zložitejšia a jej riešenie si vyžaduje viac času a pokročilejšie skúsenosti. Odborná pomoc pomôže zrýchliť opravu tejto chyby. 3. Kompilácia prejde bez chyby, ale test neprejde správne. V tomto prípade môžu nastať chyby kvôli nenainštalovaným knižniciam, ktoré využíva len test a nie sú nijako potrebné pre správnu činnosť programu, prípadne sú 16

29 nastavené nesprávne práva na súboroch a adresároch. V horšom prípade môže byť daná chyba oveľa komplexnejšia. Chyba mohla nastať aj pri kompilovaní niektorého predchádzajúceho balíku, ktorý aktuálne kompilovaný program vyžaduje. 4. Kompilácia aj test prejdú bez chyby, no program nefunguje. Táto situácia je najhoršia zo všetkých, nakoľko nevieme kde presne treba chybu hľadať. Oprava tejto chyby si vyžaduje veľmi veľa času. Pri tvorbe distribúcie Linuxu pre FEI sa vyskytli všetky štyri typy chýb. Jedným zo závažnejších problémov bolo skompilovať samotný kompilátor GCC. Chyba nakoniec bola v nesprávne skompilovanom úplné prvom balíčku podľa projektu LFS. Objavenie tejto chyby vyžadovalo niekoľkokrát kompilovať všetky balíčky, než bol objavený preklep pri zadávaní parametru. Táto chyba spôsobila pomerne dlhé zdržanie, nakoľko bolo treba stále všetko vymazať a začať od začiatku. Druhá a najzávažnejšia chyba, ktorej odhalenie trvalo bezmála dva mesiace bola chyba štvrtého typu. Všetky balíčky sa skompilovali bez chyby a ani testy nevykázali žiadne chyby. Chyba sa prejavila až po zmene adresárovej štruktúry chroot kedy sa skompilované programy začali používať bez prístupu k hosťovským adresárom. Po tejto zmene nefungoval žiaden skompilovaný program. Chybové hlásenie príkazového riadku pri pokuse spustiť kompilátor gcc bolo v tvare bash: gcc: No such file or directory, čo navodzovalo dojem, že bash hlási chybu nenašlo sa gcc. V skutočnosti chybu hlásil kompilátor gcc, že nenašiel knižnice potrebné pre svoju činnosť. Problém z toho celého bol ten, že všetky potrebné knižnice v systéme boli. Po bezmála dvoch mesiacoch riešenia tejto chyby bola vydaná nová verzia projektu LFS 6.7 vo verzií 6.7-rc1, v ktorej táto chyba bola identifikovaná. Problém nastal v chýbajúcom parametri LD_LIBRARY_PATH=$(pwd)/$(../gcc-4.5.1/config.guess)/libgcc príkazu make pri kompilácií kompilátora gcc pass 2. Tento parameter mal nastaviť používanie správneho adresára s knižnicami. Bez neho skompilovaný kompilátor využíval knižnice z hosťovského systému, ktoré sa mu po zmene adresárovej štruktúry pomocou príkazu chroot stali nedostupné. Nakoľko bola táto chyba v samotnom kompilátore, všetky programy skompilované týmto kompilátorom obsahovali túto chybu. Táto chyba sa však prejavila iba na mnou použitom hosťovskom systéme Debian 5.1 Lenny. Kolegom pracujúcim na zadaní distribúcie Linuxu pre FEI v distribúcii pre desktop a riadenie sa táto chyba, pri použití hosťovského systému Ubuntu, neprejavila. 2.6 Adresárová štruktúra Každý operačný systém používa pre ukladanie svojich dát svoji adresárovú štruktúru. V systémoch Microsoft Windows sú pevné disky zobrazované samostatne podľa písmena, súbory operačného systému majú svoj vyhradený adresár, užívatelia takisto. Podobne je to aj v systémoch Linux. Na rozdiel od systémov Windows, pevné disky sa javia ako jeden s označením hlavného koreňového adresára ako / (root). Ostatné pevné disky sú pripojené do existujúcich adresárov označovaných ako body pripojenia. Zvyčajne sú tieto pevné disky pripojené do podadresárov v adresári /mnt. Vymeniteľné zariadenia, akými 17

30 sú USB kľúče, diskety a nosiče CDROM a DVD sú pripájané do adresára /media, určeného práve pre tieto vymeniteľné zariadenia. Dáta užívateľov sú ukladané v adresári /home/<prihlasovacie_meno>. Správca systému root má svoj domovský adresár mimo adresára /home. Jeho domovským adresárom je /root. Dáta serverových služieb, akými sú napríklad WWW server, FTP server alebo databázový server sú uchovávané v adresári /srv. Význam ostatných adresárov nachádzajúcich sa v koreňovom adresári je v nasledujúcej tabuľke. Tab. 2.6: Popis adresárovej štruktúry adresár význam / koreňový súborový systém /boot súbory zavádzača systému /bin základné spustiteľné súbory používateľských príkazov /dev súbory zariadení /etc systémová konfigurácia /home domovské adresáre používateľov /lib základné zdieľané knižnice a moduly jadra /lib32 /lib64 32 a 64 bitové knižnice /media adresár pre pripájanie odstrániteľných médií /mnt prípojný bod pre dočasne pripojené súborové systémy /opt dodatočné softvérové balíky aplikácií /proc virtuálny súborový systém obsahujúci informácie o jadre a procesoch /root domovský adresár používateľa root /sbin systémové spustiteľné súbory využívané používateľom root na správu systému /srv dáta pre služby poskytované systémom (server) /tmp dočasné súbory /usr zdieľateľné dáta iba na čítanie /var meniace sa dáta 18

31 3 Tvorba základného systému 3.1 Predpríprava Pred začatím samotnej tvorby vlastného operačného systému musia byť splnené určité postupy. Počítač, na ktorom chceme vytvárať distribúciu, musí mať už nainštalovanú niektorú voľne dostupnú distribúciu operačného systému Linux. Tento operačný systém sa nazýva hosťovský. Ako najvýhodnejšie je použiť 64 bitovú distribúciu pre hosťovsky systém. Je to predovšetkým z dôvodu, že v tejto verzií je možné skompilovať ako 64 bitový Linux tak aj 32 bitový. Pri použití 32 bitového hosťovského systému je možné skompilovať iba 32 bitové aplikácie. Nakoľko 64 bitový kompilátor gcc kompiluje ako predvolene 64 bitové aplikácie, pri tvorbe 32 bitovej distribúcii treba nastaviť parameter m32. Následne je nutné skontrolovať, či hosťovský systém obsahuje všetky potrebné nástroje v správnych verziách a či má k týmto nástrojom nainštalované aj knižnice pre jazyk C/C++. Tieto knižnice sú väčšinou označované ako development a ich názov býva spravidla <názov_balíčka> devel alebo <názov_balíčka> dev. Pre správne skompilovanie novo vytváranej distribúcie je potrebné mať nainštalované nasledovné balíčky v týchto verziách: bash-3.2 (alebo novší) binutils-2.17 (verzie vyššie ako nie sú odporúčané) bison-2.3 Bzip Coreutils-6.9 Diffutils Findutils Gawk Gcc (verzie vyššie ako nie sú odporúčané) Glibc (verzie vyššie ako nie sú odporúčané) Grep-2.5.1a Gzip Linux Kernel (kompilovaný kompilátorom gcc alebo novším) M Make-3.81 Patch Perl Sed Tar-1.18 Texinfo-4.9 Po skontrolovaní nainštalovaných všetkých potrebných balíčkov sa môže vytvoriť partícia, na ktorej bude nová distribúcia vytváraná a po dokončení spúšťaná. Pre vytvorenie tejto partície možno použiť programy na prerozdeľovanie disku cfdisk alebo fdisk. Táto partícia musí byť vytvorená vo formáte ext3. Podrobný postup ako postupovať je popísaný v projekte Linux from scratch [1] v kapitole 2 Preparing a New Partition. Po vytvorení tejto partície je nutné pripojiť do 19

32 hosťovského systému do adresára /mnt/lfs. Následne v tomto adresári (fyzicky na novej partícii) treba vytvoriť adresár tools a vytvoriť na neho symbolický link do koreňového adresára /. To je z dôvodu, keď neskôr zmeníme koreňový adresár pomocou chroot aby tento adresár a odkazy ne neho boli dostupné. Tiež je nutné vytvoriť adresár /mnt/lfs/sources, v ktorom budú uložené všetky zdrojové kódy potrebné pre vytvorenie novej distribúcie. Ako ďalší krok nasleduje vytvorenie nového užívateľa nfs, pod ktorým budeme počas práce v hosťovskom systéme pracovať a vytvorenie premennej LFS, ktorá bude obsahovať cestu k vytvorenej partícii, t.j. /mnt/lfs. Tomuto užívateľovi taktiež nastavíme prostredie a profil podľa návodu Linux from scratch [1] podľa kapitol 4.3 a Toolchain Pred tvorbou samotnej distribúcie musíme vytvoriť takzvaný Toolchain, čo predstavuje skupinu nástrojov, pomocou ktorých budeme novú distribúciu vytvárať. Všetky skompilované nástroje sa budú ukladať do adresára /mnt/lfs/tools. Samotné vytváranie týchto nástrojov v sebe zhrňuje postupnosť krokov: rozbalenie archívu so zdrojovým kódom, vytvorenie takzvaného build adresára, v ktorom bude tento kód kompilovaný a vojdenie do tohto adresára, konfiguráciu vytváraného nástroja príkazom../<názov_adresára_so_zdrojovým_kódom>/configure --<parametre> medzi takéto parametre patrí napríklad --prefix=/tools, ktorý nastaví ako cieľový adresár pre nainštalovanie nástroja adresár /tools (tento adresár sa fyzicky nachádza na partícii s novovytváranou distribúciou, nakoľko sa jedná iba o symbolický link na adresár /mnt/lfs/tools, make čo predstavuje samotnú kompiláciu nástroja, vytvorenie ďalších potrebných úkonov, predovšetkým v závislosti od platformy pre ktorú danú distribúciu vytvárame, napríklad ak vytvárame 64 bitovú distribúciu, môžu v tomto kroku nasledovať potrebné nastavenia, alebo vytvorenie adresárov, akým je napríklad adresár lib64, ktorý je len symbolickým linkom na adresár lib, vykonanie samotnej inštalácie príkazom make install nakoniec po nainštalovaní nástroja vykonanie ďalších potrebných úkonov Nakoľko budeme vytvárať 32 aj 64 bitovú verziu, je výhodné všetky tieto kroky písať do skriptov. Taktiež ak nastane problém, môžeme ho odladiť práve tu. Ak nastala chyba, spôsobená nesprávnym skompilovaním niektorého z predchádzajúcich nástrojov, je nutné všetky tieto nástroje vymazať a začať odznova, alebo od nejakého záchytného bodu, o ktorom máme istotu, že je všetko skompilované správne. V tomto prípade môžeme danú chybu opraviť v skripte a následne ich všetky spustiť. Tieto skripty nám uľahčia prácu a čas. Takouto chybou pri vytváraní 64 bitového systému sa stalo prehliadnutie potreby vytvoriť adresár /tools/lib64 ako symbolický link na adresár /tools/lib, ktorého vytvorenie bolo popísané pri kompilovaní úplne prvého nástroja - binutils. Táto chyba sa prejavila až po piatich bezchybne skompilovaných nástrojoch. Medzi 20

33 týmito bezchybne skompilovanými nástrojmi bol samotný kompilátor gcc pass 1. Chyba sa prejavila až pri druhom kroku kompilovania gcc pass 2. V týchto skriptoch je dobré mať ošetrené práve vyskytnutie sa chyby. Ak by to tak nebolo, pri vyskytnutí chyby by skript pokračoval ďalej, čo by malo za následok vytváranie len ďalších chýb. Ak by sme mali skript v tvare:./configure make make install a vyskytla by sa chyba pri kompilovaní príkaz make, príkaz make install by nainštaloval aj takúto neúplnú a zle skompilovanú časť. Ak tento kód upravíme nasledovným spôsobom,./configure && make && make install tak pri skončení jedného z týchto príkazov s chybou sa zvyšné nevykonajú. Tento spôsob je veľmi jednoduchý a efektívny. Iným spôsobom môže byť napríklad kontrola návratovej hodnoty po každom príkaze. Premenná tejto hodnoty má v prostredí bash označenie $?. Takýto skript s oznámením výskytu chyby by mal napríklad pre make tvar v podobe: make res=$? if [ $res!= 0 ]; then echo " binutils: Kompilacia skoncila s chybou: $res" exit $res; fi Pri výskyte chyby počas kompilácie by takto napísaný skript oznámil chybu pri kompilácií a číslo návratovej hodnoty s akou skončil príkaz make a skript by skončil s tiež touto hodnotou. Skončenie skriptu s chybovou hodnotou je výhodné pri spúšťaní všetkých skriptov kompilujúcich a inštalujúcich všetky nástroje, prípadne samotnú distribúciu, pomocou jedného hlavného skriptu. Takýmito spôsobmi môžeme vytvoriť skripty, podľa projektu Linux from scratch [1], pre všetky nástroje a nainštalovať ich v nasledovnom poradí: 1. Binutils pass 1 2. GCC pass 1 3. Linux API Headers 4. Glibc 5. Binutils pass 2 6. GCC pass 2 7. Tcl 8. Expect 9. DejaGNU 10. Ncurses 21

34 11. Bash 12. Bzip2 13. Coreutils 14. Diffutils 15. File 16. Findutils 17. Gawk 18. Gettext 19. Grep 20. Gzip 21. M4 22. Male 23. Patch 24. Perl 25. Sed 26. Tar 27. Texinfo Popis nástrojov kompilovaných v Toolchain Balík Binutils obsahuje linker, asemblér a ďalšie nástroje pre manipuláciu s objektovými súbormi. Tento balík vyžaduje 248 MB diskového priestoru. Balík GCC obsahuje GNU kompilátor pre jazyk C a C++. Vyžaduje 809MB diskového priestoru a pri svojej kompilácií využíva aj balíky MPFR, GMP a MPC. V poradí ďalším balíkom je set hlavičkových súborov jadra systému. Tento balík vyžaduje priestor 466MB a jeho inštalácia je zo všetkých najrýchlejšia, nakoľko sa iba skopírujú hlavičkové súbory, nič sa nekompiluje. Štvrtým v poradí je balík Glibc obsahujúci hlavné knižnice jazyka C. Vyžaduje 371MB voľnej pamäte a jeho nainštalovanie vyžaduje dlhší čas. Trojica balíkov Tcl, Expect a DejaGNU sa inštalujú predovšetkým kvôli podpore spúšťania testovacích súprav pre kompilátor GCC a Binutils. Inštalácia týchto troch balíčkov je nevyhnutná kvôli zisťovaniu, či ostatné dôležité nástroje pracujú správne. Balík Ncurses obsahuje knižnice pre spracovanie znakov terminálu. Balíček Bash obsahuje najpoužívanejší príkazový riadok a programový interpret (shell) Bourne-Again Shell. Bzip2 obsahuje programy pre archiváciu, kompresiu a dekompresiu súborov. Tento archivátor má veľmi dobrý kompresný pomer textov. Balík Coreutils obsahuje nástroje pre zobrazovanie a nastavovanie základných systémových charakteristík. Diffutils obsahuje nástroje pre porovnávanie a zobrazovanie rozdielov medzi súbormi a adresármi. File obsahuje nástroj pre rozpoznávanie typov súborov. Balík Findutils obsahuje sadu programov na rekurzívne vyhľadávanie súborov. Gawk obsahuje program na manipuláciu s textovými súbormi. Balík Grep obsahuje program na vyhľadávanie v súboroch. Balík Gzip, podobne ako Bzip2, obsahuje sadu programov na archiváciu, kompresiu a dekompresiu súborov. Balík M4 obsahuje makro procesor. Balík Make obsahuje program na kompiláciu zdrojových kódov balíčkov. Balík Patch obsahuje program pre modifikáciu rozdielových súborov vytvorených programom Diff a aplikovanie týchto patchov. Tento program sa využíva na opravu chýb zdrojových kódov. Balík Perl obsahuje interpret skriptov jazyka perl. Balík Tar obsahuje archivačný program. Ako posledný 22

35 inštalovaný balík Texinfo, ktorý obsahuje programy pre čítanie, zápis a konvertovanie informačných súborov. Po nainštalovaní všetkých týchto nástrojov sa môže začať vytvárať samotný základný systém. 3.3 Základný systém Po úspešnom a hlavne bezchybnom nainštalovaní všetkých nástrojov Toolchain sa môže začať kompilovať samotný základný systém. Na začiatok je nutné vytvoriť v adresári /mnt/lfs podadresáre virtuálneho jadra systému, a to adresáre dev, proc, sys, a pripojiť do nich samotný virtuálny kernel (jadro). Po tomto pripojení môžeme pomocou chroot zmeniť v termináli koreň adresárovej štruktúry, kedy sa z adresára /mnt/lfs stane koreňový adresár /. V ďalšom kroku vytvoríme celú adresárovú štruktúru nového systému. Následne vytvoríme konfiguračné súbory /etc/passwd obsahujúci zoznam a informácie o všetkých používateľoch a súbor /etc/group obsahujúci informácie o skupinách. Po opätovnom spustení príkazového interpreta bash môžeme začať stavať samotný základný systém kompilovaním potrebných balíčkov. Túto kompiláciu robíme podľa projektu Linux from scratch [1] od kapitoly 6.7. Pri tomto kompilovaní sa nainštalujú balíčky a vytvoria konfiguračné súbory v poradí podľa nasledovnej tabuľky. Tab. 3.1: Balíčky základného systému Poradie Balíček Obsah balíčka 1 Linux API Headers hlavičkové súbory jadra systému 2 Man-pages obsahuje viac ako 1900 manuálov 3 Glibc obsahuje hlavné knižnice jazyka C 4 Zlib knižnice pre kompresiu a dekompresiu 5 Binutils linker, asemblér a iné nástroje 6 GMP obsahuje matematické knižnice 7 MPFG ďalšie matematické funkcie 8 MPC knižnice pre aritmetické operácie s komplexnými číslami 9 GCC kompilátor jazyka C a C++ 10 Sed obsahuje stream editor 11 Pkg-config nástroje pre hľadanie knižníc využívaný konfiguračným skriptom./configure 12 Ncurses knižnice pre spracovanie znakov terminálu 13 Util-linux-ng rôzne nástroje pre manipuláciu so súborovým systémom, konzolami, partíciami a správami 14 E2fsprog nástroje pre manipuláciu s ext2 súborovým 15 Coreutils systémom s podporou ext3 a ex4 systémami nástroje na zobrazovanie a nastavovanie charakteristík systému 16 Iana-Etc nástroje pre sieťové služby a protokoly 17 M4 obsahuje makro procesor 23

36 18 Bison obsahuje parser generátor 19 Procps obsahuje programy pre monitorovanie systému 20 Grep program pre vyhľadávanie v súboroch 21 Readline sada knižníc ponúkajúcich editáciu cez príkazový riadok 22 Bash príkazový interpret Bourne-Again Shell 23 Libtool generické knižnice pre podporu skriptov 24 GDBM GNU databáza používaná pre ukladanie informácií o súboroch v systéme 25 Inetutils programy základných sieťových nástrojov 26 Perl interpret skriptovacieho jazyka perl 27 Autoconf skript pre automatickú konfiguráciu zdrojových kódov 28 Automake program pre generovanie Makefile 29 Bzip2 program pre kompresiu a dekompresiu archívov 30 Diffutils bzip2 program pre porovnávanie a zobrazovanie rozdielov medzi súbormi a adresármi 31 Gawk program pre manipuláciu s textovými súbormi 32 File nástroje pre rozpoznávanie typov súborov 33 Findutils program pre vyhľadávanie súborov 34 Flex nástroj na generovanie programov rozpoznávajúcich vzory v texte 35 Gettext nástroje pre internacionalizáciu a lokalizáciu 36 Groff program pre spracovanie a formátovanie textu 37 Grub zavádzač Grand Unified Bootloader 38 Gzip program pre kompresiu a dekompresiu 39 IPRoute2 základne a rozšírené nástroje siete IPv4 40 Kbd obsahuje mapy a nástroje klávesníc 41 Less zobrazovač textových súborov 42 Make program pre kompiláciu zdrojových kódov 43 Man-DB program pre hľadanie a zobrazovanie manuálov 44 Module-Init-Tools program pre manipuláciu s modulmi jadra 45 Patch program na aplikovanie patchov a ich modifikáciu 46 Psmisc nástroj na zobrazovanie informácií o bežiacich procesoch 47 Shadow program na manipuláciu s heslami v zabezpečenom móde 48 Sysklogd nástroj mapujúci a zaznamenávajúci správ jadra 49 Sysvinit programy pre kontrolu spúšťania, behu a vypínania systému 50 Tar obsahuje archivačný program Tar 51 Texinfo programy pre čítanie, zapisovanie a konverziu informačných dokumentov 52 Udev program pre dynamickú tvorbu bodov zariadení 53 Vim obľúbený textový editor 24

37 Po nainštalovaní všetkých balíčkov je potrebné vytvoriť ešte niekoľko konfiguračných súborov pre konzolu, správu systémových hodín, prednastavených nastavení pre užívateľov a podobne. Ďalším krokom je spraviť systém bootovateľným. Tento krok zahŕňa tri body: vytvorenie tabuľky súborových systémov /etc/fstab vytvorenie jadra systému kernel a nainštalovanie zavádzača GRUB Fstab Fstab (file system table) je umiestnený v /etc/fstab. Nachádzajú sa v ňom informácie, kde sú jednotlivé súborové systémy pripojené, v akom poradí, ktoré musia byť skontrolované a v akom poradí a ktoré majú byť zálohované. Fstab je textový súbor so šiestimi stĺpcami. Tieto stĺpce sú nasledovné (v poradí zľava doprava): súborový systém bod pripojenia typ súborového systému nastavenia zálohovanie kontrola Prvý stĺpec súborový systém určuje, kde sa nachádza inicializačný bod zariadenia. Tento bod sa nachádza v adresári /dev a názov bodu pozostáva zo: spôsobu pripojenia zariadenia poradia zariadenia na zbernici partície Ak je zariadenie pripojené pomocou sériového rozhrania (SCSI, SATA, USB), dostane označenie SD (Serial Device). Ak je zariadenie pripojené pomocou paralelného rozhrania ATA (PATA) dostane označenie HD. Poradie zariadenia na zbernici určuje poradie, v akom sú jednotlivé zariadenia na zbernici pripojené. Toto poradie nie je číslované číslom, ale písmenom od A, kde prvé zariadenie dostane označenie A, druhé zariadenie dostane označenie B atď. Označenie partície určuje, poradie partícií na pevnom disku. Prvá partícia má označenie 1, druhú má označenie 2 a podobne. Označenie samotného disku je bez číselnej hodnoty. Napríklad, ak máme dva pevné disky, pripojené prostredníctvom sériového rozhrania (SCSI, SATA, USB), pričom prvý disk má iba jednu partíciu a druhý má dve partície, budú ich body označené ako: 1. disk bod označujúci zariadenie sda bod označujúci prvú partíciu sda1 2. disk bod označujúci zariadenie sdb bod označujúci prvú partíciu sdb1 bod označujúci druhú partíciu sdb2 25

38 Označenie CDROM/DVD mechaniky je pri použití paralelného rozhrania cdrom a cdrom0, pri použití sériového rozhrania sr a sr0. V starších verziách jadier malo označovanie týchto mechaník rovnaký spôsob ako pevné disky pripojené pomocou paralelného rozhrania. Druhý stĺpec bod pripojenia určuje, kde v hierarchií adresárovej štruktúru má byť daný disk pripojený. Jedna partícia musí byť pripojená ako koreňový adresár. Odporúča sa použiť jednu partíciu pre swap. Táto partícia je v súčasnej dobe obmedzená maximálnou hodnotou 2GB. Jej bod pripojenia je označovaný ako swap. Ostatné partície môžu byť pripojené na ľubovoľné miesto, napríklad partícia s dátami môže byť pripojená do bodu /media/data. Nakoľko disky SCSI určené predovšetkým pre servery, vďaka svojej vysokej spoľahlivosti a rýchlej prístupovej dobe, sú pomerne malej kapacity a v prípade, že je na servery zriadených veľa používateľských kont, kde má každý vyhradený určitý diskový priestor, kapacita tohto pevného disku nemusí byť dostatočná. Preto je na serveroch vhodné pripojiť veľkokapacitné disky SATA ako pole RAID 4 alebo RAID 5, ktoré zabezpečuje aj ochranu dát pri poškodení disku pomocou kontroly parity a pripojiť ho do bodu /home, kde sú ukladané dáta užívateľov. Stĺpec označujúci typ súborového systému označuje formát partície. Ten môže byť v systémoch Linux napríklad ext2, alebo žurnálovací systém ext3 prípadne ext4. Partície operačného systému Microsoft Windows používajú od systému Windows XP formát ntfs. Ďalším typom môžu byť napríklad linuxové sieťové súborové systémy nfs, prípadne sieťové súborové systémy siete Microsoft Windows s označením cifs. Vo štvrtom stĺpci, označovanom ako nastavenia, sú nastavenia spôsob práce so zariadením a iné parametre. Ako predvolená hodnota sa používa označenie defaults. Pri sieťových diskoch s autentifikáciou tu môže byť zadané meno a heslo v tvare buď priameho zápisu username=<meno>,password=<heslo>, alebo tieto informácie sú zapísané v externom súbore /etc/cifspw a v tomto stĺpci sa nachádza iba nastavenie tohto súboru credentials=/etc/cifspw. Ďalšími parametrami v tomto stĺpci môže byť napríklad mód práv prístupu k zariadeniam, nastavenie či má byt zápis na zariadenie synchrónny, iba na čítanie a podobne. Posledné dva stĺpce majú číselnú hodnotu. Piaty stĺpec je nastavenie pre zálohovanie a posledný šiesty je pre kontrolu dát. Pokiaľ je zadaná hodnota 0, znamená to, že archivácia resp. kontrola dát sú vypnuté. Hodnoty väčšie ako 0 označujú poradie, v akom budú tieto funkcie na jednotlivých pevných diskoch alebo partíciách spúšťané. Odporúčané nastavenie pre koreňový adresár pre obe funkcie je 1. Ostatné disky/partície by mali mať číslo väčšie ako 1. Pre príklad s dvoma pevnými diskami, by tieto disky mohli byť pripojené nasledovne: /dev/sda1 / ext3 defaults 1 1 /dev/sda2 swap swap pri=1 0 0 /dev/sdb1 /media/data ext3 defaults

39 Okrem súborových systémov musia byť v fstab zadefinované ďalšie body pripojenia, ako napríklad POSIX zdieľaná pamäť /dev/shm, pseudo-terminál /dev/pts, súborový systém obsahujúci informácie o jadre a procesoch /proc a iné. Tieto body pripojenia a ich parametre sú nasledovné: proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 devpts /dev/pts devpts gid=4,mode= tmpfs /dev/shm tmpfs defaults 0 0 V prípade CDROM/DVD zariadenia, pripojeného na sériovú zbernicu, je nastavenie tohto zariadenia: /dev/sr0 /media/cdrom udf,iso9660 user,noauto 0 0 Pre sieťové súborové systémy typu cifs by toto nastavenie vo fstab konfiguračnom súbore malo tvar: //<adresa_servera>/<zdielaný_adresár> /mnt/<adresár> 0 cifs exec 0 0 Pre konkrétny prípad, kde adresa servera s autentifikáciou je , zdieľaný adresár na serveri má cestu /share1, chceme ho pripojiť do adresára /mnt/share by riadok v fstab vyzeral: // /share1 /mnt/share cifs exec,credentials=/etc/cifspw 0 0 Posledným príkladom konfigurácie je adresárový server nfs. Ak tento server má IP adresu a dáta na ňom sú uložené v adresári /share1 a tieto dáta chceme, podobne ako v predchádzajúcom príklade, pripojiť do lokálneho adresára /mnt/share s rozšírenými nastaveniami o veľkosti blokov pre čítanie a zápis (normálne sú veľkosti 1024) a čas, ktorý bude nfs klient čakať na dokončenie. Táto hodnota je zadávaná v desatinách sekundy a jej predvolená hodnota je 7 (čo odpovedá času 0.7 sekundy). Ako posledný parameter sa odporúča nastaviť povolenie signálu SIGINT (signal interrupt) pre ukončenie spojenia pre prípad, keď server neodpovedá :/share1 /mnt/share nfs rsize=8192,wsize=8192,timeo=14,intr 0 0 Pripojenie USB kľúčov je popísane v časti nastavenia základného systému a je riešené automatickým pripájaním s bodom pripojenia /media/<bod_zariadenia> s pomocou program pre dynamickú tvorbu bodov zariadení Udev a jeho pravidlami. 27

40 3.3.2 Inštalácia kernelu V práci je použitá verzia jadra , ktorá bola zverejnená [3]. Nové jadrá sú vydávané v rozsahu raz za týždeň až raz za mesiac. V prípade neskoršieho použitia je vhodné prekompilovať jadro aktuálnym. Inštalácia kernelu (jadra) pozostáva z troch krokov: konfigurácie kompilácie inštalácie Tieto kroky sú podrobne popísané v projekte Linux from scratch [1] v kapitole 8.3. Samotná konfigurácia pozostáva z výberu ovládačov, ktoré majú byť nainštalované priamo do jadra, prípadne majú byť iba ako modul, ktorý je možno v prípade potreby načítať. Výber týchto ovládačov je veľmi siahodlhý a pozostáva z mnoho vnorených podpoložiek. Tieto ovládače pozostávajú od nastavení a správy procesora, cez manažment napájania, správu blokových diskov, nastavenia zberníc, ovládačov sieťových a grafických kariet až po podporu kryptografických funkcií. Tento výber má jednoduché a intuitívne ovládanie. Vybrané ovládače, ktoré majú byť nainštalované priamo do jadra sú označované [ * ], ovládač, ktorý sa má skompilovať, ale nebude zakomponovaný priamo do jadra, ale ostane iba ako voliteľný modul je označovaný ako [M]. V prípade, že daný ovládač nechceme vôbec zahrnúť do systému ani ako modul, je tento označovaná ako [ ]. Prostredie a niektoré ovládače sú zobrazené v nasledujúcom obrázku. Obr. 3.1: Konfigurácia Kernelu Typ procesora a funkcie 28

41 Z ovládačov zobrazených na obrázku 3.1 patria medzi zaujímavé Allow for memory hot-add, ktorý umožňuje pridávanie pamätí za behu systému bez nutnosti reštartovania alebo vypnutia. Opakom tohto ovládača je jeho podpoložka Allow for memory hotremove, ktorá umožňuje odstraňovanie pamätí za behu systému. Podobnou funkciou disponuje ovládač Support for hot-pluggable CPUs. Tento ovládač umožňuje na špeciálnych matičných doskách pridávanie a odstraňovanie procesorov za behu. Tieto funkcionality umožňujú hardvérovú údržbu či už z dôvodu vynovenia servera, alebo z dôvody výmeny chybných komponentov. Významné sú pre servery, ktorých odstavenie kvôli hardvérovej údržbe by spôsobilo značný problém najmä z hľadiska dostupnosti niektorých služieb. Po vybraní všetkých potrebných a vhodných ovládačov pre jadro systému môžeme tento zoznam zálohovať do súboru.config. Tento môžeme použiť neskôr pri tvorbe 32 bitovej distribúcii a je priložený ako príloha na CDROM nosiči. Pri kompilovaní jadra pre 32 bitový systém na 64 bitovom počítači je nutné použiť "make" s parametrom nastavenia architektúry: make ARCH=i386 menuconfig make ARCH=i386 make ARCH=i386 modules_install V prípade, ak chceme použiť uloženú konfiguráciu (64bit) pri kompilácií 32 bitového systému, je nutné ju editovať a urobiť nasledovné zmeny (hneď na začiatku súbora.config : zakomentovať riadok CONFIG_64BIT odkomentovať a dopisať riadok CONFIG_X86_32=y zakomentovať riadok CONFIG_X86_64 zmeniť parameter pre CONFIG_OUTPUT_FORMAT na "elf32-i386" zmeniť parameter CONFIG_ARCH_DEFCONFIG na "arch/x86/configs/i386_defconfig" Po dokončení konfigurácie jadra systému nasleduje jeho kompilácia príkazom make. Čas tejto kompilácie závisí od počtu a samotných vybraných ovládačov. Po úspešnom skompilovaní nasleduje inštalácia do systému pomocou príkazu make module_install. Konfigurácia modulov ktoré sa majú načítať sa nachádza v adresári /etc/modprobe.d a jednotlivé konfiguračné súbory musia mať príponu.conf Inštalácia zavádzača GRUB Posledný krok pred dokončením základného systému je spraviť tento systém bootovateľným. Ako zavádzač novovytvoreného systému je použitý GRUB. Okrem zavádzača GRUB je dostupný ešte napríklad zavádzač LILO. V našom systéme však použijeme zavádzač GRUB. Z bezpečnostných dôvodov sa odporúča vytvoriť najskôr zálohu už existujúceho zavádzača. Je to pre prípad, že by nastala počas inštalovaní nového stala nejaká nepredvídaná chyba a počítač by zostal nefunkčný. Táto záloha je ISO obraz aktuálneho zavádzača, ktorú treba vypáliť ako bootovateľný CDROM nosič, alebo ako bootovateľný USB pamäťový kľúč, 29

42 prípadne môžeme použiť FLOPPY disketu. Pre vytvorenie tohto obrazu a vytvorenie bootovateľnej FLOPPY diskety použijeme príkazy cd /tmp grub-mkrescue output=grub-img.iso dd if=grub-img.iso of=/dev/fd0 bs=1440 count=1 V ďalšom kroku treba nastaviť konfiguráciu. V tomto kroku ešte nezmeníme hlavný zavádzací záznam MBR, nakoľko tento krok sa v prípade chyby ťažko vracia späť, ale iba otestujeme funkčnosť inštalácie. grub-install --grub-setup=/bin/true /dev/sda a príkazom grub-mkconfig -o /boot/grub/grub.cfg vygenerujeme samotnú konfiguráciu zavádzača, obsahujúcu zoznamy ostatných bootovateľných partícií, nastavenie, ktorá partícia bude predvolená pri štarte počítača a časový interval, po ktorom sa z tejto predvolenej partície začne zavádzať systém. Môže sa stať, že automatická konfigurácia zavádzača nenájde všetky partície, preto treba tento konfiguračný súbor skontrolovať a doplniť. Zvyčajne nenájde partície s operačným systémom Microsoft Windows. Prípadne, môžeme spraviť niektoré iné zmeny. Nastavenie časového intervalu čakania na výber partície, a teda aj príslušného systému, má predvolený čas 5 sekúnd a nastavuje sa riadkom set timeout=5 Nastavenie, ktorá partícia sa má použiť ako predvolená, má číselné označenie nie podľa fyzického poradia partícií, ale podľa poradia nastavení jednotlivých partícii v tomto konfiguračnom súbore. Toto číslovanie začína od indexu 0. V prípade, ak chceme nastaviť ako predvolené zavedenie systému, ktorý je prvý v poradí, použijeme nasledovné nastavenie: set default=0 V nových operačných systémoch je inicializačný bod zariadenia (napríklad /dev/sda1) nahradený univerzálnym jedinečným identifikátorom UUID, ktorý je štandardizovaný neziskovou organizáciou Open Software Foundation. Tento identifikátor generuje program pre dynamickú tvorbu bodov zariadení UDEV. V súčasnosti má päť verzií a ich spôsob identifikácie je popísaný v tabuľke

43 Tab. 3.2 Verzie identifikátora UUID verzia spôsob identifikácie 1 MAC adresa 2 DCE zabezpečenie 3 MD5 hash 4 náhodne generované 32 bitové hexadecimálne číslo 5 SHA-1 hash Vo verzii 4 má toto náhodne generované číslo tvar xxxxxxxx-xxxx-4xxx-yxxxxxxxxxxxxxxx, kde v poradí trináste číslo (4) označuje verziu UUID, sedemnásty znak (y) je jedno zo 8, 9, A, B a ostatné (x) sú náhodné hexadecimálne znaky. Jednotlivé položky zavádzačov potom majú formát: menuentry "<názov>" { insmod ext2 set root='(hd<poradové_číslo_zariadenia>,<číslo_partície>)' search --no-floppy --fs-uuid --set <id_podľa_uuid_verzie> echo <správa_zobrazovaná_pred_začatím_zavádzania_systému> linux /boot/vmlinux-<verzia_jadra> root=/dev/<inicial_bod_zariadenia> ro } Parameter ext2 v nastavení pre insmod pokrýva partície typu ext2, ext3 aj ext4. V niektorých prípadoch, predovšetkým pri starších jadrách, je potrebné za riadok linux /boot/... pridať riadok inicializácie RAM disku initrd /boot/initrd.img-<verzia_jadra> V prípade systémy založenom na LFS, s použitím verzie jadra , ktorý je vytváraný na šiestej partícii v poradí prvého pevného disku s náhodne vygenerovaným číslom zariadenia by táto položka v /boot/grub/grub.cfg mala tvar: menuentry "GNU/Linux, with Linux lfs-6.7 { insmod ext2 set root='(hd0,6)' search --no-floppy --fs-uuid --set efb23e a5f-b730-a5d5527ced4d echo Loading Linux lfs linux /boot/vmlinux lfs-6.7 root=/dev/sda6 ro } Ak chceme do tohto zoznamu zahrnúť systém Microsoft Windows, ktorý je nainštalovaný na prvej partícii prvého pevného disku, bude táto položka vyzerať nasledovne: 31

44 menuentry "Microsoft Windows Server" { insmod ext2 set root='(hd0,0)' search --no-floppy --fs-uuid --set 68AE3F67AE3F2CC6 echo Loading Windows... drivemap -s (hd0) ${root} chainloader +1 } Po dokončení konfigurácie zavádzača môžeme zmeniť hlavný zavádzací záznam MBR. V prípade, ak sa na pevnom disku nachádza zavádzač tretej strany, treba vyhľadať a preštudovať jeho manuál na predchádzanie nečakaným problémom. V prípade, ak tento zavádzač tretej strany je schopný zavádzať systémy Linux, treba ho nastaviť podľa jeho príslušnej dokumentácie. Ak sa na pevnom disku nenachádza žiaden zavádzač, prípadne zavádzač operačného systému Microsoft Windows, môžeme hlavný zavádzací záznam MBR prepísať príkazom: grub-setup '<zariadenie>' kde označenie <zariadenie> nahradíme bootovacím diskom. V prípade ak je tento disk prvý v poradí, použijeme označenie podobné ako pri nastavovaní položky set root=... s tým rozdielom, že po označení disku nezadáme čiarku a partíciu, t.j. zadáme '(hd0)'. Môžeme tiež použiť označenie bodu zariadenia celého pevného disku, napríklad /dev/sda. Po reštarte počítača môžeme po prvýkrát spustiť náš nový systém Linux. 32

45 3.4 Konfigurácia základného systému Prihlásenie a užívatelia Po úspešnom nainštalovaní a nabootovaní systému sa po dokončení fázy bootovania a spúšťania služieb zobrazí uvítacia správa. Táto správa má v mojich distribúciách tvar Vitajte, aktuálna konzola je tty1. Nastavenie tejto správy je obyčajný textový dokument /etc/issue a nastavenia pre prihlásenie sa cez sieť sa nachádza v /etc/issue.net. V tomto textovom súbore môžeme použiť špeciálne metacharaktery, ktoré budú pri zobrazení v konzole nahradené svojím špecifickým údajom. Napríklad zobrazenie aktuálneho terminálu má metacharakter \l. Pred zobrazením tejto uvítacej správy je možné vymazať obrazovku použitím špeciálnych znakov. Tieto znaky môžeme buď napísať ručne, ale odporúča sa použiť príkaz clear > /etc/issue clear > /etc/issue.net Zoznam týchto použiteľných metacharakterov je uvedený v nasledujúcej tabuľke. Tab. 3.3: Zoznam použiteľných metacharakterov pre issue a issue.net metacharakter význam \b zobrazí prenosovú rýchlosť (baudrate) aktuálneho terminálu \d zobrazí aktuálny dátum \s zobrazí systémové meno \l zobrazí meno operačného systému \m zobrazí architektúru počítača \n zobrazí hostname \o zobrazí meno domény \r zobrazí verziu jadra systému (kernelu) \t zobrazí aktuálny čas \u zobrazí počet aktuálne prihlásených užívateľov \U zobrazí počet prihlásených užívateľov v tvare 1 user prípadne <n> users, kde <n> je počet prihlásených \v zobrazí verziu operačného systému ^[[H^[[J vymaže obrazovku Toto nastavenie uvítacej obrazovky sa použije aj po odhlásení používateľa. Preto je odporúčané použiť na začiatok vymazanie obrazovky, aby po odhlásení užívateľa nezostali na obrazovke zvyšky práce, ktorú robil pred týmto odhlásením. Po úspešnom prihlásení sa môže zobraziť správa, ktorá je rovnaká pre všetkých užívateľov, označovaná ako Správa dňa (MOTD). Táto správa je tiež textového charakteru a jej obsah sa ukladá do súboru /etc/motd, ktorý je spravidla symbolicky odkaz na súbor /var/run/motd. Táto správa sa zobrazuje automaticky všetkým užívateľom po každom prihlásení, v čom spočíva jej výhoda proti použitiu u. 33

46 Tieto a ďalšie funkcie, prípadne nastavenia sa zapínajú a nastavujú v konfiguračnom súbore pre prihlásenie /etc/login.defs. V tomto súbore sú nastavenia ako: FAIL_DELAY ktoré určuje čas, ktorý musí užívateľ po zadaní nesprávneho hesla čakať, než môže prihlásenie opakovať FAILLOG_ENAB ktorý povoľuje zaznamenávanie neúspešné prihlásenia LOG_OK_LOGINS nastavuje, či sa majú zaznamenávať úspešné prihlásenia MAIL_CHECK_ENAB nastavuje kontrolu u po úspešnom prihlásení MAIL_DIR umiestnenie adresára, v ktorom sa budú y uchovávať MOTD_FILE určuje polohu súboru pre Správu dňa ISSUE_FILE určuje polohu súboru issue PASS_MIN_LEN určuje minimálnu dĺžku hesla a mnoho ďalších nastavení Ak chceme pridať užívateľa do systému, musíme mať pre neho vytvorenú vhodnú skupinu (napríklad študent, učiteľ,...). V prípade, že takúto skupinu ešte nemáme vytvorenú, môžeme ju vytvoriť pomocou príkazu groupadd <názov_skupiny>. Pre špecifikovanie ID čísla skupiny (GID) treba tento príkaz doplniť o parameter g nasledovne groupadd g <gid> <názov_skupiny>. Keď máme potrebnú skupinu vytvorenú, môžeme do nej pridávať užívateľov príkazom useradd, v ktorom definujeme skupinu, do ktorej má byť tento užívateľ pridaný, a prihlasovacie meno pre tohto užívateľa príkazom useradd -u <gid> <prihlasovacie_meno>. Program si následne od nás vypýta ostatné informácie, ako heslo, celé meno užívateľa, adresu, telefónne číslo a podobne. Jeho domovský adresár vytvorí v adresáru /home a nazve ho podľa prihlasovacieho mena užívateľa. V prípade, ak chceme užívateľa vymazať zo systému, použijeme príkaz userdel <prihlasovacie_meno> a pre zmazanie skupiny groupdel <názov_skupiny>. V prípade, ak bol zo skupiny vymazaný posledný užívateľ, bude táto skupina vymazaná automaticky. Informácie o zozname skupín sú uložené v súbore /etc/group so štruktúrou stĺpcov oddelených dvojbodkou. Jednotlivé stĺpce označujú: 1. názov skupiny 2. všeobecné heslo skupiny 3. ID skupiny (GID) 4. zoznam členov skupiny, jednotlivý členovia sú oddelený čiarkou (táto položka sa častokrát nevyužíva) Informácie o zoznamoch užívateľov sa nachádzajú v textovom súbore /etc/passwd a majú, podobne ako informácie o skupinách, štruktúru stĺpcov oddelených dvojbodkou. Jednotlivé stĺpce obsahujú informácie : 1. používateľské meno (login) 2. heslo 3. ID užívateľa (UID) 4. ID skupiny (GID) 5. celé meno užívateľa, jeho adresu, telefónne číslo a iné informácie oddelené čiarkou 6. domovský adresár 7. predvolený príkazový interpret (shell) 34

47 V oboch prípadoch, zoznam skupín a užívateľov, môže byť v stĺpci pre heslo zadané písmeno x. Toto označuje, že heslá nie sú uchovávané ako čistý text, ale ako ich odtlačok hash. V tomto prípade sú heslá uchovávané v súbore /etc/shadow a okrem odtlačku hesla obsahuje aj ďalšie informácie zadané v štruktúre stĺpcov oddelených dvojbodkou. Tieto stĺpce obsahujú informácie: 1. meno užívateľa (login), ktorému patrí odtlačok hesla 2. odtlačok hesla 3. posledná zmena heslo (datovaná od ) 4. minimálny počet dní, počas ktorých je heslo platné (počas týchto dní užívateľ nemôže zmeniť svoje heslo) 5. maximálny počet dní, koľko je heslo platné (po tomto čase bude vyzvaný na zmenu hesla) 6. počet dní pred vypršaním platnosti hesla, počas ktorých bude o tejto skutočnosti informovaný 7. počet dní od vypršania hesla, po ktorých bude účet zablokovaný 8. dátum vypršania platnosti účtu, po tomto dátume sa už nebude možné prihlásiť Po vytvorení nového užívateľa bude vytvorený jeho domovský adresár, a bude do neho automatický skopírovaný obsah adresára /etc/skel. V tomto adresári môžu byť ľubovoľné dáta, ktoré chceme každý vytvorený užívateľ mal vo svojom profile. Môžu to byť skripty spúšťané po prihlásení/odhlásení, nastavenia profilu, adresárová štruktúra napríklad pre alebo iné potrebné dáta Terminál V systémoch Linux je viacero použiteľných terminálov, medzi ktoré patria terminál linux terminál xterm terminál rxvt špeciálny klientsky terminál putty a mnoho ďalších Tieto terminály s líšia v rôznych nastaveniach. Predvolene je v systémoch Linux použitý terminál linux (mimo grafického prostredia, kde je ako predvolený použitý terminál xterm). Tento terminál po ukončení programov necháva na konzole zobrazené posledné zobrazované dáta (napríklad Vim editor, prehliadač manuálov Man a ďalšie programy). Na rozdiel od neho, terminál rxvt po skončení týchto aplikácií vymaže obrazovku Automatické pripájanie pamäťových diskov USB Ako už bolo skorej spomenuté, v systémoch Linux vytváranie a inicializovanie zariadení obsluhuje program Udev. Tento pri každej zmene (pripojenie/odpojenie zariadenia) generuje systémovú udalosť. Pri generovaní tejto udalosti sa používajú pravidlá na jej spracovanie. Vďaka týmto udalostiam a ich spracovaniu, je možné vytvoriť pravidlo pre automatické pripájanie pamäťových diskov USB. Tieto pravidlá sú ukladané v adresári /etc/udev/rules.d a obsahujú príponu 35

48 súboru.rules. Pre obsluhu samotného pripojenia použijeme program pmount a pumount pre odpájanie. Program pmount používa ako parameter bod pripojenia daného zariadenia a automatický vytvorí v adresári /media adresár s rovnakým názvom a pripojí do neho dané zariadenie. Tento program môže byť použitý aj s parametrom --sync, ktorý zabezpečí synchronizáciu pre zariadenia s partíciou FAT, čo umožní ich hardvérové odpájanie bez nutnosti použiť ako prvé softvérové odpojenie bez toho, aby sa nejaké dáta neuložili alebo stratili. Druhým parametrom je --umask 000, ktorý povolí všetkým užívateľom použiť toto pamäťové zariadenie. Pravidlo pre Udev, nazvané automount.rules potom obsahuje kód ACTION=="add",KERNEL=="sd[b-z]*", RUN+="/usr/bin/pmount --sync --umask 000 %k" ACTION=="remove",KERNEL=="sd[b-z]*", RUN+="/usr/bin/pumount %k" kde ACTION označuje pravidlo buď pre pripojenie (add) alebo odpojenie (remove), KERNEL v tomto prípade obsahuje informáciu o bode pripojenia. Pre automatické pripájanie zaradení s bodom pripojenia od sdb až sdz a všetky jeho partície, je použitý regulárny výraz sd[b-z]*. V prípade, ak sa v systéme nachádza (alebo bude nachádzať) ďalší pevný disk pripojený na sériovú zbernicu, je potrebné toto pravidlo upraviť a posunúť počiatočný rozsah bodov pripojenia. Položka RUN označuje, aká akcia sa má vykonať a s akými parametrami, pri vygenerovaní udalosti programom Udev. Za programom a jeho parametrami nasleduje symbol %k, ktorý bude pri volaní daného programu nahradený bodom pripájaného, prípadne odpájaného zariadenia. Po vytvorení tohto pravidla je potrebné, aby Udev znovu načítal všetky pravidlá. Toto znovu načítanie sa vykoná príkazom udevadm control --reload-rules IP adresa sieťových kariet Adresu IP jednotlivých sieťových adaptérov je možné nastaviť buď manuálne staticky, alebo dynamicky pomocou protokolu DHCP. Pri manuálnom nastavení je na správcovi systému, akú adresu IP priradí jednotlivým sieťovým adaptérom. Obe tieto nastavenia sa ukladajú do adresára /etc/sysconfig/network-devices/ifconfig.<zariadenie> kde <zariadenie> môže byť napríklad klasické ethernetové rozhranie označované ako eth<poradové_číslo>, kde poradové číslo je indexované od 0. V prípade, ak máme v serveri dve sieťové karty, majú tieto označenie eth0 a eth1. Potom nastavenia pre prvú sieťovú kartu (eth0) sa nachádzajú v adresári /etc/sysconfig/network-devices/ifconfig.eth0 Pokiaľ chceme nastaviť IP adresu pre toto zariadenie manuálne, vytvoríme v tomto adresári textový súbor ipv4. Tento súbor musí obsahovať nasledovné nastavenia: 36

49 ONBOOT=yes SERVICE=ipv4-static IP= GATEWAY= PREFIX=24 BROADCAST= V tomto prípade, bude danému sieťovému rozhraniu pri štarte počítača pridaná statická IPv4 adresa /24. Prefix označuje masku, ktorá je zadávaná v krátkom tvare. Táto maska v dlhom tvare má hodnotu Broadcast adresa je a adresa brány Default Gateway je Ak chceme na pridelenie IP adresy použiť klienta DHCP protokolu, musíme nainštalovať priložený balík dhcp, ktorý v sebe obsahuje klienta aj server. Potom v tomto adresári treba vytvoriť textový súbor dhclient a nastaviť ho nasledovne: ONBOOT="yes" SERVICE="dhclient" DHCP_START="-q" DHCP_STOP="-q -r" PRINTIP="yes" PRINTALL="yes" kde posledné dve položky označujú, čo všetko sa má pri zavádzaní systému vypísať. Položka PRINTIP určuje, či sa má vypísať pridelená IP adresa a položka PRINTALL určuje, či sa majú okrem IP adresy pri zavádzaní systému vypísať aj informácie o maske sieti, predvolenej brány a adresy prvého DNS servera. Pri nastavení položky PRINTALL na hodnotu yes, musí byť aj položka PRINTIP nastavená na hodnotu yes. V prípade, ak nie je DHCP server, prideľujúci IP adresy dostupný, bude vybratá náhodná IP adresa zo siete /16. Ak nám stačí iba služba klienta a službu DHCP servera nechceme používať, použijeme priložený skript dhcp_server.sh s parametrom uninstall. Samotné nastavenie DHCP klienta, čo všetko požaduje a potrebuje od DHCP servera pre jednotlivé sieťové rozhrania sa nachádza v konfiguračnom súbore /etc/dhclient.conf a vyzerá nasledovne: interface "eth0"{ prepend domain-name-servers ; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name; require subnet-mask, domain-name-servers; } 37

50 4 Softvér pre server Rozdiel medzi desktopovou a serverovou distribúciou spočíva okrem ovládačov zahrnutých do jadra systému aj v softvérovej výbave. Táto výbava môže zahŕňať servery akými sú WWW, FTP, databázové, súborové, autentifikačné a iné. Nakoľko jednotlivé katedry/ústavy Fakulty Elektrotechniky a Informatiky nedodali svoje požiadavky pre softvérovú výbavu servera, s odôvodnením, že neplánujú prejsť na operačný systém Linux, bola táto výbava vybraná podľa uváženia a konzultácie s vedúci diplomovej práce, pánom Ing. Petrom Fodrekom, PhD. Postupy ako inštalovať jednotlivé servery je popísaný v pokračovaní LFS s názvom Beyond Linux From Scratch [2]. Všetky tieto serveri sú realizované v balíčkoch typu DEB a RPM pre 32 bitové a 64 bitové architektúry a po svojom nainštalovaní spustia príslušné služby. Tieto balíčky sú určené predovšetkým pre použitie v systémoch vytvorených v tejto práci a ich funkčnosť v iných distribúciách môže byť obmedzená alebo žiadna. Je to predovšetkým z dôvodu neúplnej znalosti všetkých potrebných závislosti, či už na balíčkoch ako takých, alebo na potrebných verziách. Počas kompilácie boli tieto potrebné závislosti nainštalované priamo do systému a neboli vytvárane ako balíček. Ďalším faktom je, že niektoré tieto balíčky sú závisle na seba navzájom, a obsahujú súčasti, ktoré nemusia byť obsiahnuté v balíčkoch zo sieťových repozitárov. Väčšina týchto programov je v sieťových repozitároch rozdelená na viacero balíčkov, ktorých názvy obsahujú sufixy bin, common, dev a iné. Okrem tohto rozdelenia na viacero menších balíčkov, balíček potrebný na splnenie závislosti nemusí mať rovnaký názov, aký bol použitý pre nastavenie závislosti. V niektorých prípadoch sa súbory obsiahnuté v balíčkoch vytváraných v tejto práci už môžu v iných distribúciách nachádzať, z dôvodu, že sú obsiahnuté v iných balíčkoch nainštalovaných zo sieťových repozitároch. V tomto prípade potom pri inštalácií vytvorených balíčkov inštalačný program (správca balíčkov) oznámi chybu, že súbor sa už v systéme v danom adresári nachádza a zobrazí názov balíčku, ktorý tento súbor nainštaloval. Potom napríklad balíček s PHP interpretom vytvoreným v tejto práci, ktorý je závislí na balíčku httpd webového servera Apache, nemá kandidáta na nainštalovanie na iných distribúciách. Webový server Apache resp. httpd je v sieťových repozitároch poskytovaný vo viacero rôznych mutácií, akými sú napríklad: apache2-mpm-event apache2-mpm-itk apache2-mpm-prefork apache2-mpm-worker mini-httpd micro-httpd dhttpd thttpd lighttpd Okrem týchto rozdielov, neboli balíčky vytvorené v tejto práci testované so žiadnymi balíčkami zo sieťových repozitároch či už vo verzií DEB alebo RPM. 38

51 Jediný nevytváraný balíček je ekonomický a účtovnícky systém FlexiBee. Tento je poskytovaný zdarma, už ako vytvorený balíček, vo verzií Štart a je použiteľný na všetkých platformách. Balíček bol vybraný z dôvodu ako jeden z mála voľne poskytovaných pre operačné systémy Linux, obzvlášť s voľbou inštalácie na server. Pri tejto voľbe nevyžaduje nainštalované grafické rozhranie. 4.1 WWW server Pre služby WWW servera bol vybraný http server Apache. Tento server je veľmi populárny pre svoju jednoduchosť a spoľahlivosť. Je výsledkom spoločného vývoja s pokusom o dosiahnutie najlepšieho voľne dostupného WWW servera. Jeho vývoj je súčasťou Apache Software Foundation a je riadený skupinou dobrovoľníkov z celého sveta. Na jeho vývoji sa podieľali stovky užívateľov, ktorý prispeli čí už nápadmi, zdrojovým kódom alebo tvorbou jeho dokumentácie. Jeho cieľom nie je byť najrýchlejší webový server, ale vysokovýkonný a stabilný. Namiesto implementácie jednoduchej architektúry, Apache vytvára rôzne varianty multiprocesových modulov (MPM), ktoré mu umožňujú beh v procesnom alebo v hybridnom (procesy a vlákna) režime. Tab. 4.1 Informačná tabuľka Apache domovská stránka aktuálna stabilná verzia (vydaná ) použitá verzia závislosti - hlavný konfiguračný súbor /etc/apache/httpd.conf adresár služby /srv/www port služby 80 Po skompilovaní zdrojového kódu sa pomocou checkinstall nedal priamo vytvoriť balíček. Pred vytváraním musel byť skompilovaný zdrojový kód najskôr nainštalovaný a až následne potom prebehlo jeho úspešne vytvorenie ako balíček. Po nainštalovaní sa spustí jeho služba a server je pripravený na používanie. Server automaticky zobrazuje stránku index.html nachádzajúcu sa v adresároch. Odskúšanie jeho funkčnosti môžeme pomocou ľubovoľného internetového prehliadača. Po zadaní príslušnej adresy servera by sa mala zobraziť stránka s nápisom It works!. Táto stránka je uložená v adresári služby v /srv/www/htdocs. Samotný server Apache podporuje len stránky formátu HTML. Pre rozšírenie jeho podpory o PHP skripty musíme nainštalovať PHP interpreta. Obr. 4.1 Stránka zobrazovaná po nainštalovaní webového servera Apache 39

52 4.1.1 PHP interpret pre WWW server PHP interpret umožňuje spúšťanie PHP skriptov určených predovšetkým na dynamickú tvorbu webových stránok. Tento skriptovací jazyk sa vykonáva na strane servera a klientskemu prehliadačov pošle vygenerovaný HTML kód. Podporuje tiež prácu s inými servermi, napríklad s databázovými servermi alebo tiež poskytuje podporu ovej komunikácie [4]. Tab. 4.2 Informačná tabuľka PHP interpreta domovská stránka aktuálna stabilná verzia použitá verzia závislosti httpd hlavný konfiguračný súbor /usr/lib/php/php.ini Po nainštalovaní interpreta upraví po-inštalačný skript zmeny v hlavnom konfiguračnom súbore webového servera Apache. Prvou dôležitou zmenou je zavedenie modulu pre PHP interpreta. Druhá zmena zaistí automatické spúšťanie skriptu index.php. V prípade, ak sa v adresári nenájde skript index.php server Apache sa ako druhý v poradí pokúsi načítať index.html. Pri odinštalovaní PHP interpreta pred-odinštalačný skript vráti tieto zmeny späť. <IfModule dir_module> DirectoryIndex index.php DirectoryIndex index.html </IfModule> Okrem týchto zmien obsahuje konfiguračný súbor samotného PHP interpreta jednu zmenu voči jeho predvoleným nastaveniam. Táto zmena sa týka povolenie krátkych otváracích značiek. Za normálnych okolností, je otváracia značka PHP skriptu <?php ako je uvedené v nasledujúcom príklade: <?php echo Hello World ;?> V prípade, ak chceme použiť nejaký opensource projekt, napríklad pre webové rozhranie ového servera (Squirellmail), nemusí mať tento vždy plnú otváraciu značku. Po zmene nastavenia short_open_tag na hodnotu On môžu PHP skripty začínať skráteným tvarom ako je uvedené v nasledujúcom príklade: <??> echo Hello World ; 40

53 4.2 FTP server Pre potreby FTP servera bol použitý ProFTPd server. Tento server umožňuje vytvárať ako anonymné, tak aj autorizované relácie. Zahŕňa v sebe, pomocou modulov, tiež aj podporu zabezpečených spojení SSL/TLS ale aj podporu autentifikácie pomocou modulov pre RADIUS, LDAP a SQL. Dňa bol napadnutý hlavný server ProFTPd a hackeri umiestnili do zdrojového kódu zadné dvierka [5][6]. Odporúča sa nepoužívať verzie zdrojových kódov stiahnuté medzi a Z tohto dôvodu bol v diplomovej práci vytvorený FTP server zo staršej verzie. Tab. 4.3 Informačná tabuľka ProFTPd servera domovská stránka aktuálna stabilná verzia použitá verzia závislosti - hlavný konfiguračný súbor /etc/proftpd.conf adresár služby /srv/ftp port služby 21 Vytváranie tohto balíčku je veľmi jednoduché a nevyžaduje žiadne špeciálne nastavenia. Taktiež sa pri jeho kompilácií nevyskytli žiadne problémy a kompilácia a aj tvorba balíčku prebehli pomerne rýchlo. Jedinou zvláštnosťou je veľmi dlhá odozva pri prvom prístupe k tejto službe. Načítavanie, hoc aj prázdneho, adresára trvá približne dve minúty. Po tomto prvom načítaní je jeho opätovne načítanie neskôr už rýchle a to aj v prípade, ak sa obsah adresára zmenil. 4.3 Databázové servery Databáza je organizovaný zber dát pre rôzne účely, obvykle v digitálnej forme. Dáta sú zvyčajne organizované tak, aby sa model čo najviac podobal realite. Databáza umožňuje prácu nad týmito dátami, ako napríklad vkladať a uchovávať hodnoty, vyberať ich, mazať, hľadať podľa rôznych kritérií a podobne MySQL Medzi najrozšírenejší, voľne šíriteľný databázový systém patrí bezpochyby MySQL. MySQL je relačný databázový systém, spúšťaný ako server, poskytujúci súčasný prístup viacerých užívateľov k veľkému množstvu rôznych databáz. 41

54 V súčasnosti sú vyvíjané súbežne dve série týchto serverov. Prvá séria je vo verzií 5.1 a druhá vo verzií 5.5. Aktuálne stabilné verzie týchto dvoch sérií sú a V tejto práci bol použitý databázový server zo série 5.1. Tab. 4.4 Informačná tabuľka MySQL servera domovská stránka aktuálna stabilná verzia série použitá verzia závislosti openssl (>=1.0.0d) hlavný konfiguračný súbor /etc/my.cnf adresár služby /srv/mysql port služby 3306 Pri kompilovaní a vytváraní tohto balíčka sa vyskytlo pár problémov. Tieto sa však podarilo odstrániť nainštalovaním potrebných závislosti, ktoré neboli v inštalačnej dokumentácií spomenuté. Po nainštalovaní tohto balíčka sa spustí služba pre tento databázový server. Občas sa však vyskytne problém, že síce hlásenie spúšťania služby oznámi bezproblémové spustenie v tvare Starting MySQL daemon... [ OK ] ale služba je nedostupná a po zadaní príkazu mysql zobrazí hlásenie, že sa nepodarilo pripojiť k danej službe. Kontrolu stavu služby môžeme vykonať príkazom /etc/rc.d/init.d/mysql status Tento príkaz nám buď oznámi, že služba nie je spustená, alebo že služba pracuje a zobrazí čísla jej procesov. Ak táto služba nie je zapnutá, môžeme sa ju pokúsiť opätovne zapnúť manuálne príkazom: /etc/rc.d/init.d/mysql start no vo väčšine prípadoch sa opäť táto služba nespustí. V tomto prípade si zapnutie tejto služby vyžaduje reštart. Dôvod, prečo sa občas táto služba po nainštalovaní nespustí je neznámi. 42

55 4.3.2 PostgreSQL PostgreSQL je pokročilý objektovo-relačný databázový systém, odvodený z databázového systému Berkeley. Jeho vývoj nie je kontrolovaný žiadnou spoločnosťou, ale širokou komunitou vývojárov a spoločnosťami zaoberajúcimi sa vývojom. Inštalovanie tohto databázového servera je veľmi jednoduché a rýchle a nevyžaduje si žiadne špeciálne úpravy. Celé jeho kompilovanie a tvorba balíčku sa dá vykonať tromi príkazmi:./configure --prefix=/usr --docdir=/usr/share/doc/postgresql enable-thread-safety make checkinstall Tento databázový server je tiež veľmi populárny a mnoho programov využíva práve jeho. Napríklad samotný správca balíčkov RPM ho využíva na ukladanie informácií o inštalovaných balíčkoch. Tab. 4.5 Informačná tabuľka PostgreSQL domovská stránka aktuálna stabilná verzia použitá verzia závislosti Berkeley DB Berkeley DB nie je relačnou databázou, ale je to knižnica, ktorá poskytuje vysokovýkonnú databázu založenú na hodnotách kľúč/hodnota. Táto knižnica je napísaná v jazyku C s rozhraniami pre programovacie/skriptovacie jazyky C++, PHP, Java, Perl, Python, Ruby a mnoho ďalších. Hodnoty kľúč/hodnota ukladá ako bytové pole a podporuje, aby jednému kľúču prislúchalo viacero dát. Taktiež podporuje tisíce paralelných vlákien pre manipuláciu s dátami do veľkosti až 256 terabajtov. O jej vývoj sa v súčasnosti stará spoločnosť Oracle Corporation. Tab. 4.6 Informačná tabuľka Berkeley DB domovská stránka aktuálna verzia použitá verzia závislosti - Inštalácia do systémov založených na projekte Linux from scratch [1] je zložitejšia, a vyžaduje si úpravu riadiaceho súboru pre kompiláciu Makefile. Z tohto dôvodu bola použitá staršia verzia. Vo verzií RPM sa už Berkeley DB nachádza, nakoľko ho tento správca balíčkov využíva na ukladanie informácií o nainštalovaných balíčkoch. 43

56 4.3.4 SQLite SQLite je systém správy relačnej databázy obsiahnutý v pomernej malej knižnici jazyka C a implementuje väčšinu štandardov SQL. Na rozdiel od iných databáz, SQLite nie je samostatný proces, ktorý je prístupný z klientskej aplikácie. Čítanie databázy zaručuje viacerým procesom naraz, no pre zápis je povolený len jeden proces. V dnešnej dobe je veľmi populárny pri tvorbe klientskych aplikácií, akými sú webové prehliadače a komunikačné programy, ktoré pomocou neho uchovávajú históriu, nastavenia a iné dáta. Tab. 4.7: Informačná tabuľka SQLite domovská stránka aktuálna stabilná verzia použitá verzia závislosti Súborové servery Súborové servery umožňujú zdieľanie súborov a adresárov v lokálnej sieti. Pre klientske počítač s operačným systémom Linux je vytvorený protokol NFS a operačné systémy Microsoft Windows používajú vo svojich sieťach SAMBA. Nakoľko v dnešnej dobe je najrozšírenejším operačným systémom práve Microsoft Windows, je v tejto práci vytvorený balíček aj pre zdieľanie pre tieto operačné systémy. Tieto súborové systémy môžu spolupracovať s autentifikačným serverom OpenLDAP a môžu sa využiť napríklad na pripojenie sieťových diskov, pripojenie domovského adresára ako lokálny profil a podobne NFS NFS je protokol sieťového súborového systému, umožňujúci prístup k súborom prostredníctvom lokálnej siete. Tento protokol vyvinula spoločnosť Sun Microsystems v roku 1984 ako otvorený štandard, umožňujúci jeho implementáciu hocikomu. Pre správnu činnosť musí byť pri kompilovaní jadra systému (kernelu) vybraná aj voľba pre Network File Systems a v ňom povolená podpora protokolu NFS. Okrem toho je tento balík závislý na balíku portmap-6.0, ktorý je taktiež vytvorený v tejto práci a je priložený na nosiči CDROM. Tab. 4.8: Informačná tabuľka NFS domovská stránka použitá verzia závislosti portmap hlavný konfiguračný súbor /etc/sysconfig/nfs-server konfigurácia zdieľaných adresárov /etc/exports 44

57 Protokol NFS je obsiahnutý v balíčku nfs-utils, ktorý v sebe zahŕňa nie len server, ale aj klienta. Nastavenie zložiek, ktoré majú byť zdieľané na lokálnej sieti sa nachádza v konfiguračnom súbore /etc/exports. Ak chceme zdieľať napríklad adresár /srv/ftp na sieti /16, bude tento súbor obsahovať riadok: /srv/ftp < / >(rw,sync,subtree_check,no_root_squash) Po úprave toho zoznamu zdieľaných adresárov treba reštartovať službu použitím príkazu /etc/rc.d/init.d/nfs-server restart Počas tohto reštartu by sa na terminály malo zobraziť aj hlásenie o úspešnom načítaní exports. Pre kontrolu, že všetko správne prebehlo môžeme použiť program rpcinfo, ktorý je obsiahnutý v balíčku portmap, na ktorom je balíček nfs-utils závislý. Pred samotným použitím tohto programu je nutné spustiť službu portmap. Celá táto kontrola potom bude vyzerať /etc/rc.d/init.d/portmap start rpcinfo -p Na strane klienta sa tieto zdieľané adresáre nastavia priamo do súboru fstab podľa popisu v kapitole Pre daný príklad, ak má NFS server IP adresu napríklad a tento zdieľaný adresár chceme pripojiť do adresára /mnt/share len na čítanie, by toto nastavenie pre fstab bolo nasledovné: :/srv/ftp /mnt/share nfs ro,rsize=8192,wsize=8192,timeo=14,intr 0 0 Po dokončení tohto nastavenia musí klient znovu načítať konfiguračný súbor fstab, čím sa mu tento zdieľaný adresár pripojí, pomocou príkazu mount a SAMBA Samba je voľná implementácia sieťového protokolu SMB/CIFS poskytujúceho zdieľanie adresárov a tlačiarni v sieťach Microsoft Windows. Samba môže byť použitá na rôznych UNIX systémoch, ale aj na systéme Mac OS X spoločnosti Apple. Tab. 4.9: Informačná tabuľka Samba servera domovská stránka aktuálna verzia (vydaná ) použitá verzia závislosti stunnel hlavný konfiguračný súbor /etc/samba/smb.conf adresár konfigurácie s openldap /etc/openldap/schema 45

58 Samba server bol kompilovaný s podporou autentifikácie OpenLDAP. Preto pri autentifikovaní užívateľov je nutné zadávať údaje podľa OpenLDAP servera. V konfiguračnom súbore /etc/samba/smb.conf sa na začiatku nachádzajú globálne nastavenia, ako je názov domény, znakové sady a podobne. Každé nastavenie zdieľaných adresárov, prípadne tlačiarní, je oddelené názvom, pod akým sa bude tento adresár (tlačiareň) zdieľať. V prípade ak chceme zdieľať adresár /srv/ftp len na čítanie s možnosťou prechádzať jeho jednotlivé adresáre pod názvom ftp, bude celý konfiguračný súbor vyzerať nasledovne: [global] workgroup = L4FEI dos charset = cp850 unix charset = ISO [homes] comment = Home Directories browseable = no writable = yes Obr. 4.2: Samba server v sieti Microsoft Windows Network 46

59 4.5 ové servery Pre služby elektronickej pošty boli vytvorené jednotlivé balíky v závislosti od služby, ktorú poskytujú. Pre server doručenej pošty s použitím protokolu POP3 bol použitý program Qpopper, server odchádzajúcej pošty používa služby programu Sendmail a pre imap server bol vybraný program Courier-Imap. Pre posielanie ov v rámci servera nie je nutné, aby boli spustené tieto služby. Tieto služby sú potrebné len pri posielaní/prijímaní elektronickej pošty mimo servera. Pre čítanie pošty slúži príkaz mail, ktorý po zadaní zobrazí v tabuľke zoznam prijatých ov so stavom o prečítaní, poradovým číslom správy, s menom odosielateľa, predmetom správy a časom doručenia. Po zadaní čísla správy je táto správa zobrazená na konzole ako čistý text. Rovnako tak aj pre odosielanie ovej správy. Pre náhľad, ktorá služba je aktívna resp. počúva na príslušnom porte, treba zadať príkaz: netstat -anp --tcp POP3 server Qpopper Qpopper je jeden z najstarších a najpoužívanejších serverov prichádzajúcej pošty používajúci protokol POP3. Jeho inštalácia je jednoduchá a nenáročná. Tab. 4.10: Informačná tabuľka Qpopper POP3 servera domovská stránka aktuálna verzia použitá verzia závislosti - adresár služby /var/mail port služby 110 Každý prichádzajúci , či už zo siete alebo poslaný v rámci servera, sa ukladá do adresára /var/mail, kde vytvorí súbor podľa prihlasovacieho mena (login) príjemcu, t.j. ak je adresovaný užívateľovi test, tak sa vytvorí súbor /var/mail/test, ktorý obsahuje jeho všetky y. Po nainštalovaní balíka qpopper je automatický spustená služba POP3. Odskúšanie tejto služby môžeme urobiť pomocou cez sieť pomocou príkazu telnet. V prípade, že tento server má IP adresu by tento príkaz bol telnet Ak služba POP3 funguje správne, malo by sa zobraziť hlásenie +OK Qpopper. V prípade, že si chceme pozrieť , musíme sa do tejto služby prihlásiť. Príkazy na prihlásenie sa prostredníctvom POP3 protokolu sú 47

60 user <login> pass <heslo> Po úspešnom prihlásení sa zobrazí správa s celkovým počtom ov a celkovou veľkosťou týchto správ. Po zadaní príkazu list sa zobrazia čísla a veľkosti jednotlivých správ. Pre pozretie konkrétneho u zadáme príkaz retr <číslo_ u>. Na odhlásenie zo služby slúži príkaz quit. Postupnosť týchto príkazov ako aj zobrazenie prijatého u s číslom dva je vidieť na obrázku 4.3. Obr. 4.3: Pozretie u cez telnet V prípade, ak máme klienta s grafickým rozhraním, môžeme pre príjem a čítanie použiť niektorého z voľne dostupných klientov, prípadne predinštalovaného klienta nachádzajúceho sa v systéme. Pre príjem ových správ prostredníctvom klienta, stačí v ňom vyplniť základné údaje, ako použitý protokol (POP3), adresu servera, prihlasovacie meno a heslo. Po vyplnení týchto údajom a prihlásení sa, sa tieto ové správy stiahnu do počítača a zo servera sa vymažú (automatické mazanie ov zo servera je možné nastaviť v každom ovom klientovi). Správa, ktorú sme zobrazili pomocou programu telnet, prihlásením sa do služby POP3, by v klientovi vyzerala ako na obrázku

61 Obr. 4.4: Správy v ovom klientovi SMTP server Sendmail Programom pre odosielanie ov bol zvolený Sendmail. Tento univerzálny program na posielanie ov v sieti podporuje mnoho druhov metód pre posielanie a doručovanie elektronickej pošty, predovšetkým prostredníctvom SMTP protokolu. Tab. 4.11: Informačná tabuľka Sendmail domovská stránka aktuálna verzia použitá verzia závislosti - port služby 25 Program Sendmail nie je vytvorený ako balíček, ale je inštalovaný priamo do systému. Namiesto toho je vytvorený skript sendmail.sh, pomocou ktorého je možné spúšťať ako službu pre prihlásenie sa zo siete. Spúšťanie tejto služby trvá pomerne dlho (približne dve minúty), nakoľko nie je nastavená doména prvej úrovne. V systémových záznamoch je toto hlásenie ako unqualified hostname unknown; sleeping for retry 49

62 Taktiež pri odosielaní správy prostredníctvom ového klienta sa správa neodošle, ale zobrazí sa hlásenie o chybe Toto hlásenie je kvôli chýbajúcemu MX (Mail exchange) záznamu v DNS serveri. Obr. 4.5: Chyba pri odosielaní u prostredníctvom klienta V prípade, ak sa prihlásime na službu SMTP prostredníctvom programu telnet a odošleme správu, tak táto bude odoslaná bez problémov. Postupnosť príkazov pre odoslanie u cez telnet je nasledovná: telnet <adresa_servera> 25 HELO <hostname> MAIL FROM: <login>@<hostname>.<doména> RCPT TO: < ová_adresa_príjemcu> DATA <text>. QUIT Zadaním bodky na nový prázdny riadok označí koniec textu správy a správa sa odošle príjemcovi. 50

63 4.5.3 IMAP server Courier-IMAP Courier poskytuje mnoho ových služieb akými sú napríklad ESMTP, IMAP, POP3, SMAP, službu webmail a mailing list. Najviac známou a zo všetkých jeho služieb najrozšírenejšou je práve IMAP. Autentifikáciu užívateľov zabezpečuje služba Courier-Authlib, ktorá umožňuje autentifikáciu pomocou autentifikačného servera OpenLDAP, alebo autentifikačnými databázami MySQL, PostgreSQL, alebo Berkeley [7]. Výnimkou voči ostatným balíčkom je, že Courier-IMAP nesmie byť kompilovaný užívateľom root. Tab. 4.12: Informačná tabuľka Courier-Authlib a Courier-IMAP Courier-Authlib domovská stránka aktuálna verzia použitá verzia závislosti - Courier-IMAP domovská stránka aktuálna verzia použitá verzia závislosti courier-authlib port služby 143 adresár ukladanie ov ~/Maildir Courier-Authlib zabezpečuje službu autentifikácie užívateľov, bez nej sa síce služba Courier-IMAP spustí, ale všetky pokusy o prihlásenie označí ako neautorizované. V adresári /etc/authlib sú skripty pre prihlasovanie, aj cez OpenLDAP. Systém je prednastavený bez použitia OpenLDAP (treba odstrániť príponu.dist). Služba Courier-IMAP používa pri svojej práci adresár Maildir, ktorý sa musí nachádzať v domovskom adresári užívateľa. Z tohto dôvodu je výhodné vytvoriť tento adresár v /etc/skel, odkiaľ sa kopírujú všetky položky pri vytvorení nových užívateľov. V prípade, ak sa tento adresár v domovskom priečinku užívateľa nenachádza, užívateľa neprihlási a vráti chybu Fatal error: No such file or directory, ako je možné vidieť na nasledujúcom obrázku. Obr. 4.6: Chyba pri prihlasovaní na IMAP server 51

kucharka exportu pro 9FFFIMU

kucharka exportu pro 9FFFIMU požiadavky na export kodek : Xvid 1.2.1 stable (MPEG-4 ASP) // výnimočne MPEG-2 bitrate : max. 10 Mbps pixely : štvorcové (Square pixels) rozlíšenie : 1920x1080, 768x432 pre 16:9 // výnimočne 1440x1080,

More information

Copyright 2016 by Martin Krug. All rights reserved.

Copyright 2016 by Martin Krug. All rights reserved. MS Managed Service Copyright 2016 by Martin Krug. All rights reserved. Reproduction, or translation of materials without the author's written permission is prohibited. No content may be reproduced without

More information

Registrácia účtu Hik-Connect

Registrácia účtu Hik-Connect Registrácia účtu Hik-Connect Tento návod popisuje postup registrácie účtu služby Hik-Connect prostredníctvom mobilnej aplikácie a webového rozhrania na stránke www.hik-connect.comg contents in this document

More information

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu Inštalačná príručka Obsah 1 Predpoklady pre inštaláciu D.Signer... 3 1.1 Inštalácia.NET Framework... 3 1.1.1 Windows 8, 8.1... 4 1.1.2

More information

Databázové systémy. SQL Window functions

Databázové systémy. SQL Window functions Databázové systémy SQL Window functions Scores Tabuľka s bodmi pre jednotlivých študentov id, name, score Chceme ku každému doplniť rozdiel voči priemeru 2 Demo data SELECT * FROM scores ORDER BY score

More information

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca Obsah balenia TL-WR743ND Rýchly inštalačný sprievodca PoE injektor Napájací adaptér CD Ethernet kábel Systémové požiadavky

More information

Aplikačný dizajn manuál

Aplikačný dizajn manuál Aplikačný dizajn manuál Úvod Aplikačný dizajn manuál je súbor pravidiel vizuálnej komunikácie. Dodržiavaním jednotných štandardov, aplikácií loga, písma a farieb pri prezentácii sa vytvára jednotný dizajn,

More information

Databázy (1) Prednáška 11. Alexander Šimko

Databázy (1) Prednáška 11. Alexander Šimko Databázy (1) Prednáška 11 Alexander Šimko simko@fmph.uniba.sk Contents I Aktualizovanie štruktúry databázy Section 1 Aktualizovanie štruktúry databázy Aktualizácia štruktúry databázy Štruktúra databázy

More information

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Spájanie tabuliek Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Úvod pri normalizácii rozdeľujeme databázu na viacero tabuliek prepojených cudzími kľúčmi SQL umožňuje tabuľky opäť spojiť

More information

Riešenia a technológie pre jednotnú správu používateľov

Riešenia a technológie pre jednotnú správu používateľov Riešenia a technológie pre jednotnú správu používateľov Radovan Semančík Agenda Úvod: Identity Crisis Technológie správy používateľov Postup nasadenia Záver Súčasný stav IT Security Nekonzistentné bezpečnostné

More information

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator Anycast Ľubor Jurena CEO jurena@skhosting.eu Michal Kolárik System Administrator kolarik@skhosting.eu O nás Registrátor Webhosting Serverové riešenia Správa infraštruktúry Všetko sa dá :-) Index Čo je

More information

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP Recipient Configuration Štefan Pataky MCP, MCTS, MCITP Agenda Mailbox Mail Contact Distribution Groups Disconnected Mailbox Mailbox (vytvorenie nového účtu) Exchange Management Console New User Exchange

More information

Manuál k programu FileZilla

Manuál k programu FileZilla Manuál k programu FileZilla EXO TECHNOLOGIES spol. s.r.o. Garbiarska 3 Stará Ľubovňa 064 01 IČO: 36 485 161 IČ DPH: SK2020004503 support@exohosting.sk www.exohosting.sk 1 Úvod EXO HOSTING tím pre Vás pripravil

More information

1 Komplexný príklad využitia OOP

1 Komplexný príklad využitia OOP 1 Komplexný príklad využitia OOP Najčastejším využitím webových aplikácií je komunikácia s databázovým systémom. Komplexný príklad je preto orientovaný práve do tejto oblasti. Od verzie PHP 5 je jeho domovskou

More information

Linux Essentials Objectives Topics:

Linux Essentials Objectives Topics: Linux Essentials Linux Essentials is a professional development certificate program that covers basic knowledge for those working and studying Open Source and various distributions of Linux. Exam Objectives

More information

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit.

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit. Fiber 5 Mbit ** 5 Mbit / Mbit 5,90 Fiber 50 Mbit * 50 Mbit / 8 Mbit 9,90 Fiber 80 Mbit * 80 Mbit / Mbit 5,90 Mini Mbit* Mbit / Mbit 9,90 Klasik 2 Mbit* 2 Mbit / 2 Mbit Standard 8 Mbit* 8 Mbit / 3Mbit Expert

More information

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG *nix Crash Course Presented by: Virginia Tech Linux / Unix Users Group VTLUUG Ubuntu LiveCD No information on your hard-drive will be modified. Gives you a working Linux system without having to install

More information

OLYMP na MS SQL OBSAH 1 AKO POSTUPOVAŤ. 2 INŠTALÁCIA Microsoft SQL Servera 2008 R2 3 PREVOD DATABÁZY OLYMPU NA SQL

OLYMP na MS SQL OBSAH 1 AKO POSTUPOVAŤ. 2 INŠTALÁCIA Microsoft SQL Servera 2008 R2 3 PREVOD DATABÁZY OLYMPU NA SQL OLYMP na MS SQL OBSAH 1 AKO POSTUPOVAŤ 1.1 Základné informácie k inštalácii Microsoft SQL servera 2008 R2, cesta k inštalačnému programu, možné obmedzenia, licencia programu Olymp 1.2 Aké sú hardvérové

More information

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára REPORT DESIGNER úprava formulárov v Money S4 / Money S5 Informačný systém Money S4/S5 umožňuje upraviť tlačové zostavy tak, aby plne vyhovovali potrebám používateľa. Na úpravu tlačových zostáv slúži doplnkový

More information

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Jazyk SQL Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Jazyk SQL - Structured Query Language SQL je počítačový jazyk určený na komunikáciu s relačným SRBD neprocedurálny (deklaratívny) jazyk

More information

Introduction. What is Linux? What is the difference between a client and a server?

Introduction. What is Linux? What is the difference between a client and a server? Linux Kung Fu Introduction What is Linux? What is the difference between a client and a server? What is Linux? Linux generally refers to a group of Unix-like free and open-source operating system distributions

More information

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2.

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2. 1. ELASTIX inštalácia 2 2. Elastix konfigurácia 8 2.1 Nastavenie užívateľských kont 9 2.2 Pridanie nových užívateľských kont 10 2.3 InstantMessaging and presence 12 2.4 TLS 12 2.5 Conference 12 3. Záver

More information

Working with Ubuntu Linux. Track 2 Workshop June 2010 Pago Pago, American Samoa

Working with Ubuntu Linux. Track 2 Workshop June 2010 Pago Pago, American Samoa Working with Ubuntu Linux Track 2 Workshop June 2010 Pago Pago, American Samoa Assumptions You are comfortable with the following: Core Linux concepts - Shells - Permissions - Graphical user interface

More information

client X11 Linux workstation

client X11 Linux workstation LPIC1 LPIC Linux: System Administrator LPIC 1 LPI command line LPIC-1 Linux LPIC-1 client X11 Linux workstation Unix GNU Linux Fundamentals Unix and its Design Principles FSF and GNU GPL - General Public

More information

Tool installation for PMC-MC-X2/X4 with P2020 series processor

Tool installation for PMC-MC-X2/X4 with P2020 series processor DYNAMIC ENGINEERING 150 DuBois, Suite C Santa Cruz, CA 95060 (831) 457-8891 Fax (831) 457-4793 http://www.dyneng.com sales@dyneng.com Est. 1988 Tool installation for PMC-MC-X2/X4 with P2020 series processor

More information

Obsah. SOA REST REST princípy REST výhody prest. Otázky

Obsah. SOA REST REST princípy REST výhody prest. Otázky REST Peter Rybár Obsah SOA REST REST princípy REST výhody prest Otázky SOA implementácie WEB (1990) CORBA (1991) XML-RPC (1998) WS-* (1998) SOAP RPC/literal SOAP Document/literal (2001) REST (2000) SOA

More information

Spôsoby zistenia ID KEP

Spôsoby zistenia ID KEP Spôsoby zistenia ID KEP ID KEP (kvalifikovaný elektronický podpis) je možné zistiť pomocou napr. ovládacieho panela, prostredíctvom prehliadača Internet Expolrer, Google Chrome alebo Mozilla Firefox. Popstup

More information

Správa používateľov Zabezpečenie prístupu

Správa používateľov Zabezpečenie prístupu Správa používateľov Zabezpečenie prístupu k počítaču Proces zavádzania operačného systému Spôsob prihlasovania Vytváranie a mazanie používateľov Zmenu informácií Nastavovanie skupín používateľov Nastavovanie

More information

Manage Directories and Files in Linux. Objectives. Understand the Filesystem Hierarchy Standard (FHS)

Manage Directories and Files in Linux. Objectives. Understand the Filesystem Hierarchy Standard (FHS) Manage Directories and Files in Linux Objectives Understand the Filesystem Hierarchy Standard (FHS) Identify File Types in the Linux System Change Directories and List Directory Contents Create and View

More information

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 851(01(Bra@slava Titl.: Ján(Hrčka Bohrova(11 851(01(Bra@slava V(Bra@slave(21.11.2013 Vec:(Odpoveď(na(informácie(ohľadom(mandátnej(zmluvy(na(základe(Zákona(č.(211/2000(Zb.

More information

Linux Kung Fu. Stephen James UBNetDef, Spring 2017

Linux Kung Fu. Stephen James UBNetDef, Spring 2017 Linux Kung Fu Stephen James UBNetDef, Spring 2017 Introduction What is Linux? What is the difference between a client and a server? What is Linux? Linux generally refers to a group of Unix-like free and

More information

ECOLKO - Inštalácia aplikácie na nový počítač (OS MS Windows 7 Professional alebo novší)

ECOLKO - Inštalácia aplikácie na nový počítač (OS MS Windows 7 Professional alebo novší) ECOLKO - Inštalácia aplikácie na nový počítač (OS MS Windows 7 Professional alebo novší) Aplikácia ecolko Elektronické COLné KOnanie (softvér spoločnosti dflex Nitra s.r.o.) pracuje na princípe SERVER

More information

Exam LFCS/Course 55187B Linux System Administration

Exam LFCS/Course 55187B Linux System Administration Exam LFCS/Course 55187B Linux System Administration About this course This four-day instructor-led course is designed to provide students with the necessary skills and abilities to work as a professional

More information

Navigating the Guix Subsystems

Navigating the Guix Subsystems Navigating the Guix Subsystems Ludovic Courtès GNU Hackers Meeting, Rennes, August 2016 The Emacs of distros When large numbers of nontechnical workers are using a programmable editor, they will be tempted

More information

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions Lanka Education and Research Network Linux Architecture, Linux File System, Linux Basic Commands 28 th November 2016 Dilum Samarasinhe () Overview History of Linux Linux Architecture Linux File System

More information

Prerequisites: General computing knowledge and experience. No prior knowledge with Linux is required. Supported Distributions:

Prerequisites: General computing knowledge and experience. No prior knowledge with Linux is required. Supported Distributions: This course prepares students to take the 101 exam of the LPI level 1 certification. The Linux Professional Institute (LPI) is the go to certification body for vendor independent Linux certifications.

More information

VYLEPŠOVANIE KONCEPTU TRIEDY

VYLEPŠOVANIE KONCEPTU TRIEDY VYLEPŠOVANIE KONCEPTU TRIEDY Typy tried class - definuje premenné a metódy (funkcie). Ak nie je špecifikovaná inak, viditeľnosť členov je private. struct - definuje premenné a metódy (funkcie). Ak nie

More information

7.3 Install on Linux and Initial Configurations

7.3 Install on Linux and Initial Configurations 7.3 Install on Linux and Initial Configurations This section describes how to install SoftEther VPN Server to a Linux operating system. This assumes that in the Linux operating system, no extra application

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia dec.16 nov.16 okt.16 sep.16 aug.16 júl.16 jún.16 máj.16 apr.16 mar.16 feb.16 jan.16 Internetová populácia SR 12+ 3 728 988 3 718 495 3 718 802 3 711 581 3 700

More information

Zend Server Cluster Manager 5.6 Installation Guide

Zend Server Cluster Manager 5.6 Installation Guide Zend Server Cluster Manager 5.6 Installation Guide By Zend Technologies www.zend.com Abstract This is the Installation Guide for Zend Server Version 5.6. The information in this document is subject to

More information

Poznámky k vydaniu Debian GNU/Linux 5.0 (lenny), Alpha. Dokumentačný projekt Debianu (http://www.debian.org/doc/)

Poznámky k vydaniu Debian GNU/Linux 5.0 (lenny), Alpha. Dokumentačný projekt Debianu (http://www.debian.org/doc/) Poznámky k vydaniu Debian GNU/Linux 5.0 (lenny), Alpha Dokumentačný projekt Debianu (http://www.debian.org/doc/) 11. novembra 2010 Poznámky k vydaniu Debian GNU/Linux 5.0 (lenny), Alpha Published 2009-02-14

More information

- linux. Voľba distribúcie. w w w. n e s s. c o m. 2 w w w. n e s s. c o m

- linux. Voľba distribúcie.  w w w. n e s s. c o m. 2 w w w. n e s s. c o m Časť V. - Ako na Linuxový server Časť VII. Administrácia systému - linux Tomas.Hoger@snt.sk Martin.Letko@snt.sk Voľba distribúcie 2 1 Linux vs. Distribúcia Čo je Linux? Jadro operačného systému Implementácia

More information

Integration of UNICORE Components into Linux Systems

Integration of UNICORE Components into Linux Systems Mitglied der Helmholtz-Gemeinschaft Integration of UNICORE Components into Linux Systems 15.12.2009 Rebecca Breu UNICORE Installation as of Now tgz or graphical installer all files installed into one directory

More information

Návod na odstránenie certifikátov so zrušenou platnosťou

Návod na odstránenie certifikátov so zrušenou platnosťou Návod na odstránenie certifikátov so zrušenou platnosťou Dátum zverejnenia: 7. 11. 2017 Verzia: 1 Dátum aktualizácie: Popis: Tento dokument je určený používateľom, ktorí elektronicky podpisujú dokumenty

More information

At course completion. Overview. Audience profile. Course Outline. : 55187B: Linux System Administration. Course Outline :: 55187B::

At course completion. Overview. Audience profile. Course Outline. : 55187B: Linux System Administration. Course Outline :: 55187B:: Module Title Duration : 55187B: Linux System Administration : 4 days Overview This four-day instructor-led course is designed to provide students with the necessary skills and abilities to work as a professional

More information

"Charting the Course... MOC B: Linux System Administration. Course Summary

Charting the Course... MOC B: Linux System Administration. Course Summary Description Course Summary This four-day instructor-led course is designed to provide students with the necessary skills and abilities to work as a professional Linux system administrator. The course covers

More information

Poznámky k vydaniu Debian 7.0 (wheezy), IBM System z. Dokumentačný projekt Debianu (

Poznámky k vydaniu Debian 7.0 (wheezy), IBM System z. Dokumentačný projekt Debianu ( Poznámky k vydaniu Debian 7.0 (wheezy), IBM System z Dokumentačný projekt Debianu (http://www.debian.org/doc/) 20. novembra 2018 Poznámky k vydaniu Debian 7.0 (wheezy), IBM System z Tento dokument je slobodný

More information

Základy Linuxu -1- Používateľské prostredia operačných systémov - Linux (prednášky)

Základy Linuxu -1- Používateľské prostredia operačných systémov - Linux (prednášky) Základy Linuxu -1- Používateľské prostredia operačných systémov - Linux (prednášky) Obsah Základy Linuxu -2- Obsah 1. Úvod do používateľských rozhraní operačných systémov... 7 1.1. Vývoj operačných systémov...

More information

Nový Office. Pre stredné a veľké podniky. Služba. Ovládanie dotykom. zariadenie

Nový Office. Pre stredné a veľké podniky. Služba. Ovládanie dotykom. zariadenie Nový Office Pre stredné a veľké podniky. Na každé zariadenie Roaming Ovládanie dotykom Služba Hlavné zásady Porovnanie balíkov Office 365 a Office 2013 Office 365 Multilicencia Office 2013 Nový Office

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia mar.18 feb.18 jan.18 dec.17 nov.17 okt.17 sep.17 aug.17 júl.17 jún.17 máj.17 apr.17 mar.17 Internetová populácia SR 12+ 3 904 509 3 802 048 3 870 654 3 830

More information

Aurelien Jarno 26/02/2006 FOSDEM. Debian GNU/kFreeBSD. Aurelien Jarno. What? Why? Status. The future. How to help?

Aurelien Jarno 26/02/2006 FOSDEM. Debian GNU/kFreeBSD. Aurelien Jarno. What? Why? Status. The future. How to help? aurel32@debian.org FOSDEM 26/02/2006 What is? port FreeBSD kernel (kfreebsd for short) kfreebsd 5.4 experimental version of kfreebsd 6.0 GNU userland GNU libc Cool tools (dpkg, apt,...) A Gentoo port has

More information

Course 55187B Linux System Administration

Course 55187B Linux System Administration Course Outline Module 1: System Startup and Shutdown This module explains how to manage startup and shutdown processes in Linux. Understanding the Boot Sequence The Grand Unified Boot Loader GRUB Configuration

More information

CompTIA Linux Course Overview. Prerequisites/Audience. Course Outline. Exam Code: XK0-002 Course Length: 5 Days

CompTIA Linux Course Overview. Prerequisites/Audience. Course Outline. Exam Code: XK0-002 Course Length: 5 Days CompTIA Linux+ 2009 Exam Code: XK0-002 Course Length: 5 Days Course Overview This instructor-led course will prepare students for the 2009 CompTIA Linux+ certification exam. It provides a comprehensive

More information

Súborový systém. Ing. Viliam Solčány, PhD. ZS 2011/2012. Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn.

Súborový systém. Ing. Viliam Solčány, PhD. ZS 2011/2012. Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. Súborový systém Ing. Viliam Solčány, PhD. ÓÐ ÒÝ Øº ØÙ º ZS 2011/2012 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 1 / 42 Osnova Viliam Solčány, FIIT STU Bratislava Operačné systémy

More information

Linux Administration

Linux Administration Linux Administration This course will cover all aspects of Linux Certification. At the end of the course delegates will have the skills required to administer a Linux System. It is designed for professionals

More information

Programové vybavenie - softvér. Funkcie operačného systému

Programové vybavenie - softvér. Funkcie operačného systému Programové vybavenie - softvér Funkcie operačného systému Softvér Softvér (software) programové vybavenie počítača. Vzniká programovaním, pričom každý počítačový program obsahuje postupnosť inštrukcií,

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Kisik Jeong (kisik@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Poznámky k vydaniu Debian GNU/Linux 5.0 (lenny), AMD64. Dokumentačný projekt Debianu (

Poznámky k vydaniu Debian GNU/Linux 5.0 (lenny), AMD64. Dokumentačný projekt Debianu ( Poznámky k vydaniu Debian GNU/Linux 5.0 (lenny), AMD64 Dokumentačný projekt Debianu (http://www.debian.org/doc/) 11. novembra 2010 Poznámky k vydaniu Debian GNU/Linux 5.0 (lenny), AMD64 Published 2009-02-14

More information

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions Welcome to getting started with Ubuntu 12.04 Server. This System Administrator Manual guide to be simple to follow, with step by step instructions with screenshots INDEX 1.Installation of Ubuntu 12.04

More information

Filesystem Hierarchy Operating systems I800 Edmund Laugasson

Filesystem Hierarchy Operating systems I800 Edmund Laugasson Filesystem Hierarchy Operating systems I800 Edmund Laugasson edmund.laugasson@itcollege.ee There has been used materials from Margus Ernits, Katrin Loodus when creating current slides. Current document

More information

Linux Kung-Fu. James Droste UBNetDef Fall 2016

Linux Kung-Fu. James Droste UBNetDef Fall 2016 Linux Kung-Fu James Droste UBNetDef Fall 2016 $ init 1 GO TO https://apps.ubnetdef.org GO TO https://apps.ubnetdef.org GO TO https://apps.ubnetdef.org GO TO https://apps.ubnetdef.org GO TO https://apps.ubnetdef.org

More information

Part 1 : Getting Familiar with Linux. Hours. Part II : Administering Red Hat Enterprise Linux

Part 1 : Getting Familiar with Linux. Hours. Part II : Administering Red Hat Enterprise Linux Part 1 : Getting Familiar with Linux Chapter 1 : Getting started with Red Hat Enterprise Linux Chapter 2 Finding Your Way on the Command Line Hours Part II : Administering Red Hat Enterprise Linux Linux,

More information

Hands-on Keyboard: Cyber Experiments for Strategists and Policy Makers

Hands-on Keyboard: Cyber Experiments for Strategists and Policy Makers Hands-on Keyboard: Cyber Experiments for Strategists and Policy Makers Review of the Linux File System and Linux Commands 1. Introduction Becoming adept at using the Linux OS requires gaining familiarity

More information

ABBYY FineReader 14. Príručka správcu systému ABBYY Production LLC. Všetky práva vyhradené.

ABBYY FineReader 14. Príručka správcu systému ABBYY Production LLC. Všetky práva vyhradené. ABBYY FineReader 14 Príručka správcu systému 2017 ABBYY Production LLC. Všetky práva vyhradené. Informácie v tomto dokumente sa môžu zmeniť bez predchádzajúceho upozornenia a nie sú pre spoločnosť ABBYY

More information

Advanced Linux System Administra3on

Advanced Linux System Administra3on Advanced Linux System Administra3on Topic 4. So=ware management Pablo Abad Fidalgo José Ángel Herrero Velasco Departamento de Ingeniería Informá2ca y Electrónica Este tema se publica bajo Licencia: Crea2ve

More information

LINUX FUNDAMENTALS. Supported Distributions: Red Hat Enterprise Linux 6 SUSE Linux Enterprise 11 Ubuntu LTS. Recommended Class Length: 5 days

LINUX FUNDAMENTALS. Supported Distributions: Red Hat Enterprise Linux 6 SUSE Linux Enterprise 11 Ubuntu LTS. Recommended Class Length: 5 days LINUX FUNDAMENTALS The course is a challenging course that focuses on the fundamental tools and concepts of Linux and Unix. Students gain proficiency using the command line. Beginners develop a solid foundation

More information

Nové komunikačné trendy v dátových centrách

Nové komunikačné trendy v dátových centrách Nové komunikačné trendy v dátových centrách Martin Vozár Roman Benko 25. november 2009 Cisco Expo, Bratislava Agenda 1. Konvergovaná architektúra 2. Komponenty architektúry 3. AVNET demo LAB 2 / 17 Konvergovaná

More information

CT 320: Network and System Administration

CT 320: Network and System Administration CT 320: Network and System Administration CHAPTER 12: SOFTWARE INSTALLATION COLORADO STATE UNIVERSITY COMPUTER SCIENCE DEPARTMENT CHRIS WILCOX FALL 2012 1 Topics 1. The Problem of Software Installation

More information

Zend Server Community Edition 5.1. Installation Guide. By Zend Technologies.

Zend Server Community Edition 5.1. Installation Guide. By Zend Technologies. Zend Server Community Edition 5.1 Installation Guide By Zend Technologies www.zend.com Abstract This is the Install Guide for Zend Server Community Edition Version 5.1. The information in this document

More information

Sieťové prepínače. Pavol Sokol / /

Sieťové prepínače. Pavol Sokol / / Sieťové prepínače Pavol Sokol 9.5.2018 / 15.5.2018 / 16.5.2018 Sieťový prepínač zariadenie spojovej vrstvy: má aktívnu úlohu ukladá a rozposiela Ethernet rámce (frames) preskúmava MAC adresu prichádzajúcich

More information

Linux Systems Administration Getting Started with Linux

Linux Systems Administration Getting Started with Linux Linux Systems Administration Getting Started with Linux Network Startup Resource Center www.nsrc.org These materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International

More information

Súborový systém. Základné pojmy Prístupové práva Atribúty Kvóty ACL Kryptografia Diskové oddiely

Súborový systém. Základné pojmy Prístupové práva Atribúty Kvóty ACL Kryptografia Diskové oddiely Súborový systém Základné pojmy Prístupové práva Atribúty Kvóty ACL Kryptografia Diskové oddiely Bezpečnosť počítačových systémov / Súborový systém DB, FIIT STU BA, 2009 2011 1 Súborový systém Poskytuje

More information

Databázové systémy. 10. prednáška. NoSQL databázy Viktor Škultéty, ESTEN s.r.o.

Databázové systémy. 10. prednáška. NoSQL databázy Viktor Škultéty, ESTEN s.r.o. Databázové systémy 10. prednáška NoSQL databázy 26.4.2016 Viktor Škultéty, ESTEN s.r.o. 1 Prečo doteraz SQL a zrazu NoSQL? NoSQL - Not Only SQL znamená, že relačné systémy sú síce osvedčená technológia

More information

Prerequisites: Students should be comfortable with computers. No familiarity with Linux or other Unix operating systems is required.

Prerequisites: Students should be comfortable with computers. No familiarity with Linux or other Unix operating systems is required. GL-120: Linux Fundamentals Course Length: 4 days Course Description: The GL120 is a challenging course that focuses on the fundamental tools and concepts of Linux and Unix. Students gain proficiency using

More information

Software installation is not always a trivial task

Software installation is not always a trivial task Notes on Installation of Debian Operating System Minjie Chen First draft: February 8, 2013 Revised: December 5, 2013 Disclaimer: This text serves exclusively as a technical protocol for private usage,

More information

Installation Manual InfraManage.NET Installation Instructions for Ubuntu

Installation Manual InfraManage.NET Installation Instructions for Ubuntu Installation Manual InfraManage.NET Installation Instructions for Ubuntu Copyright 1996 2017 Timothy Ste. Marie Version 7.5.72SQL InfraManage.NET Installing InfraManage.NET Page 1 of 78 Table of Contents

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

IOL INTACT Installation Guide

IOL INTACT Installation Guide IOL INTACT Installation Guide February 25, 2014 Contents 1 System Requirements 1 2 Installing IOL INTACT 3 3 Post-Installation 4 3.1 Wireshark............................. 4 3.2 Opening pcap Files........................

More information

Padanie Firefoxu, ako tomu zabrániť?

Padanie Firefoxu, ako tomu zabrániť? Padanie Firefoxu, ako tomu zabrániť? Nedá sa jednoducho povedať čo môže byť príčinou, preto sa pokúsim v pár bodoch vysvetliť, čo všetko môže spôsobovať pády Firefoxu a ako ich vyriešiť. V týchto bodoch

More information

Ftp Get Command Line Windows 7 Bootable Usb

Ftp Get Command Line Windows 7 Bootable Usb Ftp Get Command Line Windows 7 Bootable Usb How to make Windows 7 bootable install USB stick Open command prompt as administrator - Right click on Start _ All Programs _ Accessories _ Command. 7. Command

More information

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona Popis textového formátu a xsd schémy na zasielanie údajov podľa 27 ods. 2 písm. f) zákona (formu na zaslanie údajov si zvolí odosielateľ údajov) Textový formát na zasielanie údajov podľa 27 ods. 2 písm.

More information

How to install Java Virtual Machine on Debian 7 GNU / Linux

How to install Java Virtual Machine on Debian 7 GNU / Linux How to install Java Virtual Machine on Debian 7 GNU / Linux Author : admin Debian 7 stable as most stable Debian releases includes custom Open Source Oracle Java Virtual Machine version called IcedTea

More information

Poradové a agregačné window funkcie. ROLLUP a CUBE

Poradové a agregačné window funkcie. ROLLUP a CUBE Poradové a agregačné window funkcie. ROLLUP a CUBE 1) Poradové a agregačné window funkcie 2) Extrémy pomocou DENSE_RANK(), TOP() - Príklady 3) Spriemernené poradia 4) Kumulatívne súčty 5) Group By a Datepart,

More information

Leaseweb Hosting Services - FTP Site Statistics. Top 20 Directories Sorted by Disk Space

Leaseweb Hosting Services - FTP Site Statistics. Top 20 Directories Sorted by Disk Space Property Value FTP Server mirror.de.leaseweb.net Description Leaseweb Hosting Services Country Germany Scan Date 13/Dec/2014 Total Dirs 225,982 Total Files 8,492,172 Total Data 12.62 TB Top 20 Directories

More information

Ubuntu Practice and Configuration Post Installation Exercises interlab at AIT Bangkok, Thailand

Ubuntu Practice and Configuration Post Installation Exercises interlab at AIT Bangkok, Thailand Ubuntu Practice and Configuration Post Installation Exercises interlab at AIT Bangkok, Thailand 1. Get used to using sudo 2. Create an inst account 3. Learn how to install software 4. Update /etc/apt/sources.list

More information

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová Ochrana proti DDoS za použitia open-source software Katarína Ďurechová katarina.durechova@nic.cz 30.11.2013 Distributed Denial of Service odopretie služby dosiahnutím limitu pripojenia sieťovej karty CPU

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií DIPLOMOVÁ PRÁCE

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií DIPLOMOVÁ PRÁCE VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií DIPLOMOVÁ PRÁCE Brno, 2016 Bc. Michal Paulech VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY

More information

Obsah. Omega na MS SQL 1 AKO POSTUPOVAŤ. Podvojné účtovníctvo, fakturácia a sklad. 1.1 Základné informácie k inštalácii Microsoft SQL 2016 Express

Obsah. Omega na MS SQL 1 AKO POSTUPOVAŤ. Podvojné účtovníctvo, fakturácia a sklad. 1.1 Základné informácie k inštalácii Microsoft SQL 2016 Express Omega na MS SQL Obsah 1 AKO POSTUPOVAŤ 1 1.1 Základné informácie k inštalácii Microsoft SQL 2016 Express 1 1.2 Aké sú hardvérové a softvérové požiadavky na server: 2 1.3 Jednotlivé kroky inštalácie a prevodu

More information

C-Remote Setup Vzdialená inštalácia C-Monitor klienta v doménovom prostredí

C-Remote Setup Vzdialená inštalácia C-Monitor klienta v doménovom prostredí C-Remote Setup Vzdialená inštalácia C-Monitor klienta v doménovom prostredí Manuál k verzii 2.0.1.32 SEAL IT Services, s.r.o. 18.11.2009 Kontakt: SEAL IT Services, s.r.o., Topoľová 4, 811 04 Bratislava

More information

SA108: The Ultimate IBM and Lotus on Linux Workshop for Windows Admins

SA108: The Ultimate IBM and Lotus on Linux Workshop for Windows Admins SA108: The Ultimate IBM and Lotus on Linux Workshop for Windows Admins Bill Malchisky Jr. Effective Software Solutions, LLC bill@billmal.com Twitter.com/billmalchisky 1 Quick Background Regulatory compliance

More information

Installing Scratchbox

Installing Scratchbox Installing Scratchbox Valtteri Rahkonen valtteri.rahkonen@movial.fi Installing Scratchbox by Valtteri Rahkonen Revision history Version: Author: Description: 2005-03-09 Savola Added umask instruction 2004-05-03

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS SOFTWARE PRE

More information

Návod na inštaláciu software

Návod na inštaláciu software Návod na inštaláciu software Tento návod vysvetľuje, ako nainštalovať a nakonfigurovať software, ktorý umožňuje použiť stroj ako tlačiareň alebo skener pre počítač. Ak chcete získať softvér popísaný v

More information

Reboot the server and start the hypervisor from the boot menu (Xen amd64 / Debian GNU/Linux, kernel xen-amd64)

Reboot the server and start the hypervisor from the boot menu (Xen amd64 / Debian GNU/Linux, kernel xen-amd64) http://en.wikipedia.org/wiki/xen INSTALLATION root@serv1:~ apt-get install linux-image-2.6.26-2-xen-amd64 xen-hypervisor-amd64 xen-tools xen-linux-system-2.6.26-2-xen-amd64 linux-headers-2.6.26-2-xen-amd64

More information

Introduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview

Introduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview Introduction to Operating Systems Note Packet # 1 CSN 115 Operating Systems Genesee Community College CSN Lab Overview Dual booted Windows/Linux Workstations Linux workstations currently run CentOS and

More information

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an

More information

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia Microsoft Azure platforma pre Cloud Computing Juraj Šitina, Microsoft Slovakia m Agenda Cloud Computing Pohľad Microsoftu Predstavujeme platformu Microsoft Azure Benefity Cloud Computingu Microsoft je

More information

02. At the command prompt, type usermod -l bozo bozo2 and press Enter to change the login name for the user bozo2 back to bozo. => steps 03.

02. At the command prompt, type usermod -l bozo bozo2 and press Enter to change the login name for the user bozo2 back to bozo. => steps 03. Laboratory Exercises: ===================== Complete the following laboratory exercises. All steps are numbered but not every step includes a question. You only need to record answers for those steps that

More information

Ubuntu Sever Administration. Duration:40 Hrs

Ubuntu Sever Administration. Duration:40 Hrs Ubuntu 12.04 Sever Administration Duration:40 Hrs 1. Introduction to Ubuntu Linux Ubuntu Server Ubuntu Server 12.04 Server Installation Alternatives and Options Server on the Desktop Installation Desktop

More information

Windows NT, Windows 2000, Windows 2003 Základné vlastnosti

Windows NT, Windows 2000, Windows 2003 Základné vlastnosti Gymnázium Ľudovíta Štúra Hronská 1467/3 Zvolen Windows NT, Windows 2000, Windows 2003 Základné vlastnosti Školský rok 2016/2017 Ľuboslav Halama III.A Obsah Windows NT... 2 Windows 2000... 3 Windows 2003...

More information