Unix/Linux

Časť 5

O čom budeme hovoriť

  • Unix v rokoch osemdesiatych a deväťdesiatych
  • Linuxové distribúcie
  • balíčkovacie systémy
  • aký softvér používam a odporúčam
  • ukážky okenných manažérov

Unix v rokoch 80-tych a 90-tych

1983 - AT&T môže predávať Unix

1984 - vznik GNU

Kto (firma/organizácia) mal v druhej polovici 80-tych rokov najväčší podiel na unixovom trhu (ak rátame počet počítačov, na ktoré dodali Unix)?

Microsoft

Xenix

  • MS predpokladal, že Xenix bude nástupcom MS-DOS, hneď, ako to hardvér dovolí
  • MS-DOS inzerovali ako "jednopoužívateľský systém" a Xenix ako "multipoužívateľský a multitaskový systém"
  • po tom, čo AT&T začalo predávať Unix, MS si myslel, že nemôže konkurovať a Xenix predal firme SCO

Berkeley Software Distribution

BSD

Podľa mňa najdôležitejšia distribúcia pôvodného Unixu

  • 1974 - prvý Unix na University of California v Berkeley
  • 1975 - Ken Thompson má sabatical a počas neho učí v Berkeley a implementuje Pascal na tamojší Unix
  • v jeho práci pokračujú študenti Chuck Haley a Bill Joy*
  • 1978 - 1BSD
  • ex, vi, csh... (Bill Joy)
  • sieťové nástroje (TCP/IP, sockety...)
  • 1989 - odstránenie AT&T kódu zo systému a vydanie pod vlastnou licenciou (BSD licencia)

*Bill Joy bol v roku 1982 jedným zo štyroch zakladateľov Sun Microsystems

4.3BSD-Reno

Verzia BSD z roku 1990

Greatest Software Ever Written*

* podľa časopisu InformationWeek z augusta 2006

BSD/386

  • proprietárna implementácia BSD pre i386 procesory
  • vyvolala 2 roky trvajúce právne spory s AT&T (USL)
  • právna neistota spomalila vývoj BSD
  • Linux získal náskok

386BSD

  • Free implementácia BSD Unixu pre i386 procesory.
  • vydaná v r. 1992, ale vývoj začal skôr, ako na Linuxe
  • neujala sa (predbehol ju Linux + právne problémy)
  • základ pre NetBSD a FreeBSD

Významné deriváty BSD

V r. 1995 bola vydaná posledná verzia BSD Unixu z Berkeley

  • FreeBSD - všeúčelný
    • Next NEXTSTEP a OPENSTEP (Mach kernel)
      • Darwin (Apple, Mach-o kernel)
  • NetBSD - zameraný na čistý dizajn a portovateľnosť
    • OpenBSD - zameraný na bezpečnosť

Distribúcie Linuxu

Čo je distribúcia?

Distribúcia je pomenovanie pre balík softvéru dodávaný spolu s jadrom (Linux).

Distribúcie vytvárajú rôzni ľudia, organizácie aj firmy.

Väčšinou obsahujú predvybraný softvér, sú nejako nakonfigurované a/alebo zamerané na nejaký účel.

Zoznam distribúcií

Distribúcií je veľa a nováčik sa môže vo výbere stratiť

Moja rada: vybrať si hocičo z tých populárnejších a pri inštalácii si dať /home adresár na samostatný disk (partíciu)

Ak nebude vyhovovať:

  • je to Unix, všetko sa dá vymeniť alebo prispôsobiť a softvér sa dá doinštalovať
  • prinajhoršom sa dá preinštalovať (tu sa zíde mať home na samostatnom disku)

Populárne distribúcie

  • Ubuntu a jeho varianty, asi najrozšírenejšia, pre bežných ľudí aj odborníkov
  • Arch Linux - veľká konfigurovateľnosť, minimálna defaultná konfigurácia, skvelé návody
  • Fedora - pre bežných ľudí aj odborníkov
  • Linux Mint - jednoduché a graficky pekne vyladené distro, vhodné napr. pre grafikov
  • Debian - skôr pre odborníkov, obľúbené na serveroch

Balíčkovacie systémy

Každá distribúcia má nejaký štandardný spôsob inštalácie softvéru.

Distribúcie majú na internete dostupné repozitáre, z ktorých je možné inštalovať programy

Balíčkovacie systémy

  • deb balíčky: Debian, Ubuntu, Linux Mint
  • rpm balíčky: Fedora, Red Hat, CentOS
  • pacman balíčky: Arch
  • ... x ďalších
  • zdrojové kódy + kompilácia: Gentoo, Linux From Scratch

Balíčkovací systém APT

Inštaluje deb balíčky

# aktualizovať zoznam dostupného softvéru
apt update

# nainštalovanie softvéru
apt install názov

# odinštalovanie
apt remove názov

# upgrade všetkého nainštalovaného softvéru na najnovšiu verziu
apt upgrade

# grafické prostredie na výber SW pre konzolu
aptitude

# grafické prostredie pre GUI
synaptic

Balíčkovací systém Snap

Pokus o zjednotenie balíčkovacích systémov

Funguje na všetkých populárnych distribúciách

Balíčky sa inštalujú napr. grafickým programom snap-store

Kontroverzia: server so zoznamom balíčkov je iba jeden

a jeho kód nie je open source

Vplyv Unixu/Linuxu na nás

  • architektúra vývoja SW
  • teória programovacích jazykov
  • open source
  • internet a siete
  • balíčkovacie systémy (composer, npm, pip, brew...)
  • App Store, Google Play Store...
  • microservices
  • git - distribuovaný, autorom je Linus Torvalds
  • kontajnerizácia na serveroch (Docker)

Aký softvér používam a odporúčam

Ubuntu

Distribúcia:

  • založená na Debiane (stabilná, bezpečná)
  • obsahuje asi najrozsiahlejšiu databázu softvéru inštalovateľného cez balíčkovací systém
  • veľa návodov

Okenný manažér:

aktuálne

  • rýchly
  • minimalistický
  • tiling aj floating
  • pomáha mi focusovať sa na prácu

Okenný manažér:

dlhé roky

  • rýchly
  • graficky vyladený
  • veľmi prispôsobiteľný
  • viem si nastaviť prostredie tak, ako chcem
  • floating aj tiling
  • mínus: nestabilný, binárne konfiguráky

Okenný manažér:

z času na čas

  • rýchly (skvelá voľba pre slabé počítače)
  • minimalistický
  • iba floating
  • okenné taby(!)
  • mínus: neohúri dizajnom

Iné:

Ukážky okenných manažérov

Ďakujem za pozornosť