IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

14. diel - Linuxový terminál (Bash) - Správa aplikácií

V predchádzajúcej lekcii sme sa naučili čo je to archivácia, kompresia a komprimácia. Ukázali sme si ako archivovať súbory programom tar a ako zmenšiť ich veľkosť nástrojmi gzip, bzip2 a zips.

V dnešnej lekcii sa pozrieme hlbšie na aplikácie. Vysvetlíme si, ako sa program v Linuxe distribuuje, kde sa uchováva a ako sa k nemu dostaneme cez príkazový riadok. Naučíme sa nielen programy inštalovať, ale aj vyhľadávať a jednoducho o nich získať potrebné informácie.

Softvérový balíček

Predtým inštalácia programu vyžadovala, aby používateľ stiahol zdrojový kód, skompiloval ho do binárneho kódu a uložil do systému. Dnes je toto nahradené automatizáciou pomocou softvérových balíčkov a nástrojov na prácu s nimi. Softvérový balíček je komprimovaný súbor, ktorý obsahuje všetky potrebné informácie na inštaláciu a následné odinštalovanie programu. V distribúciách založených na Debiane, ako je aj Ubuntu, je softvér komprimovaný do balíčka s príponou .deb.

DPKG

V Ubuntu a iných distribúciách založených na Debiane manipuláciu so softvérovými balíčkami vykonáva program DPKG. Je to nízkoúrovňový program, s ktorým my ako používatelia neprídeme priamo do styku. Iba mu odovzdávame pokyny prostredníctvom iných programov, napr. APT. Vďaka DPKG môžeme inštaláciu balíčkov s koncovkou .deb automatizovať.

Repozitár

Aplikácie v podobe balíčkov sú umiestnené v repozitári. Repozitár si môžeme predstaviť ako centrálne úložisko pre softvér, z ktorého si my používatelia aplikácie sťahujeme. Najčastejšie sa jedná o server, ku ktorému pristupujeme cez internet, ale môžeme si vytvoriť repozitár aj z lokálneho adresára alebo USB disku. Výhodami šírenia softvéru pomocou repozitárov sú pohodlná inštalácia pomocou správcu balíčkov a kompatibilita programov. Málokedy sa stane, že by program z oficiálneho repozitára distribúcie nebol stopercentne kompatibilný so systémom. Niektoré balíčky v repozitári majú pre svoje správne fungovanie vytvorené závislosti na iných balíčkach. Tieto balíčky sú uložené v rovnakom repozitári a pri pokyne na inštaláciu sa stiahnu súčasne.

Správa repozitárov

Väčšina distribúcií má viacero repozitárov podľa účelu, na ktorý sú určené. Cesty sú uložené v súbore /etc/apt/sources.list. Ubuntu má v tomto súbore štandardne uložené cesty k niekoľkým základným repozitárom. Ak chceme získať softvér z iného repozitára, je potrebné zapísať cestu na nový riadok do tohto súboru. Cesta je k nájdeniu väčšinou na webe repozitára alebo samotnej distribúcie a vždy začína slovom deb.

APT

Program apt slúži na komunikáciu s DPKG a na jeho ovládanie. Umožňuje nám pohodlne inštalovať a odinštalovať balíčky a vyhľadávať a získavať informácie o balíčkoch v našich repozitároch. Program apt je užívateľsky veľmi prívetivý. Jednotlivé príkazy sú jednoduché a ľahko zapamätateľné. Na použitie je potrebné oprávnenie root a príkaz sudo.

Update

V systémoch ako sú Windows nie je ľahké udržať aktuálnosť všetkých programov, pretože nie všetky majú funkciu automatickej aktualizácie. Aktualizácie nám nezaisťujú len správnu funkčnosť, ale aj lepšie zabezpečenie proti útočníkom. Keďže Linuxové systémy využívajú na distribúciu softvéru repozitára, ku všetkým aktuálnym verziám sa ľahko dostaneme pomocou jedného príkazu update:

sudo apt update

Upgrade

Najnovšia verzia našich aplikácií z repozitára aktualizujeme jednoduchým príkazom upgrade:

sudo apt upgrade

Vyhľadávanie balíčkov

Pokiaľ si chceme overiť, či máme k dispozícii v repozitároch jeden konkrétny balíček, využijeme príkaz apt-cache search:

sudo apt-cache search apache2

Týmto príkazom vyhľadáme nielen všetky balíčky obsahujúce kľúčové slovo apache2, ale aj všetky balíčky na ktoré je odkázaná nejaká závislosť. Pre presnejšie vyhľadávanie v zozname dostupných balíčkov môžeme využiť aj filtrovanie pomocou grep:

sudo apt-cache search apache2 | grep http -i

apache2 - Apache HTTP Server
apache2-bin - Apache HTTP Server (modules and other binary files)
apache2-data - Apache HTTP Server (common files)
apache2-dev - Apache HTTP Server (development headers)
apache2-doc - Apache HTTP Server (on-site documentation)
apache2-ssl-dev - Apache HTTP Server (mod_ssl development headers)
apache2-utils - Apache HTTP Server (utility programs for web servers)
apache2-suexec-custom - Apache HTTP Server configurable suexec program for mod_suexec
apache2-suexec-pristine - Apache HTTP Server standard suexec program for mod_suexec
libapache2-mod-evasive - evasive module to minimize HTTP DoS or brute force attacks
libapache2-mod-svn - Apache Subversion server modules for Apache httpd

Prepínač -i znamená ignore case alebo ignorovať rozdiel medzi veľkými a malými písmenami.

Na vyhľadávanie balíčkov môžeme použiť aj príkaz apt list. Parameter v tomto prípade neslúži ako kľúčové slovo, ale je potrebné zadať presný názov programu. Vrátia nám preto iba hlavné balíčky bez závislostí:

sudo apt list apache2

apache2/jammy-updates,jammy-security,now 2.4.52-1ubuntu4.1 amd64
apache2/jammy-updates,jammy-security 2.4.52-1ubuntu4.1 i386

Umožňuje nám tiež využiť aj niektoré nastavenia ako je napr. vypísať zoznam iba nainštalovaných balíčkov.

sudo apt list --installed

Informácie o balíčku

Pred odobratím alebo inštaláciou nám niekedy môžu byť užitočné informácie o veľkosti, verzii, zdroji alebo závislostiach balíčka. Na to nám poslúži príkaz apt show.

david@david:/$ sudo apt show apache2

Package: apache2
Version: 2.4.52-1ubuntu4.1
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian Apache Maintainers <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 546 kB
Provides: httpd, httpd-cgi
Pre-Depends: init-system-helpers (>= 1.54~)
Depends: apache2-bin (= 2.4.52-1ubuntu4.1), apache2-data (= 2.4.52-1ubuntu4.1), apache2-utils (= 2.4.52-1ubuntu4.1), lsb-base, mime-support, perl:any, procps
Recommends: ssl-cert
Suggests: apache2-doc, apache2-suexec-pristine | apache2-suexec-custom, www-browser, ufw
Conflicts: apache2.2-bin, apache2.2-common
Replaces: apache2.2-bin, apache2.2-common
Homepage: https://httpd.apache.org/
Task: lamp-server
Download-Size: 97,8 kB
APT-Manual-Installed: yes
APT-Sources: http://cz.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
Description: Apache HTTP Server
 The Apache HTTP Server Project's goal is to build a secure, efficient and
 extensible HTTP server as standards-compliant open source software. The
 result has long been the number one web server on the Internet.
 .
 Installing this package results in a full installation, including the
 configuration files, init scripts and support scripts.

N: There is 1 additional record. Please use the '-a' switch to see it

Inštalácia z repozitára

Zistili sme názov programu a teraz môžeme prejsť na inštaláciu. Na nainštalovanie stačí k apt pripojiť install a názov balíčka.

sudo apt install apache2

Odinštalácia

Podobne ako inštalovať, je možné program aj odinštalovať. Pokiaľ nevieme presný názov balíčka, ktorý chceme odstrániť, môžeme ho vyhľadať pomocou kľúčového slova.

sudo apt list –installed | grep apache

Na odstránenie balíčka slúžia dva príkazy:

sudo apt remove apache2

alebo

sudo apt purge apache2

Rozdiel medzi nimi je taký, že remove odstráni zadaný balíček, zatiaľ čo purge odstráni aj všetky ostatné balíčky inštalované ako závyslosti alebo prípadné konfiguračné súbory programu.

Umiestnenie programov

Väčšina spustiteľných programov sa inštaluje do vopred definovaných adresárov. Pokiaľ zadáme do terminálu napr. príkaz less, Bash prehľadá všetky tieto adresáre. Pokiaľ sa v niektorom z nich program less nachádza, spustí ho. Ak ho nenájde, vráti chybovú správu less: command not found.

Všetky tieto adresáre sú uložené v systémovej premennej PATH, oddelenej dvojbodkou. Vypísať si ich môžeme pomocou príkazu echo.

david@david:/$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin

Pokiaľ je program nainštalovaný v adresári, ktorý nie je v tejto premennej, môžeme ho ručne pridať napr. takto:

expand $PATH=PATH:/home/David/

Kým nebude adresárová cesta zapísaná v PATH, musíme pre spustenie zadať celú cestu k programu.

Inštalácia programu bez repozitára

Nie každý program je možné získať z nášho repozitára. Niekedy je k dispozícii iba na serveri vydavateľa a my si ho musíme stiahnuť a nainštalovať ručne. Jedným z takýchto programov je prehliadač Google Chrome, ktorý si teraz nainštalujeme.

Stiahnutie inštalačného súboru

Na stiahnutie inštalačného súboru potrebujeme URL odkaz na balíček s príponou .deb, ktorý pripojíme k wget, príkazu určenému na sťahovanie z internetu.

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

Takto sa súbor stiahne do adresára, v ktorom sa aktuálne nachádzame. Pre zadanie konkrétneho adresára na stiahnutie slúži prepínač -P.

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -P /home/David/Downloads

Inštalácia zo súboru

Ak máme stiahnutý balíček s príponou .deb, môžeme nainštalovať program.

sudo apt install /home/David/Downloads/google-chrome-stable_current_amd64.deb

Google Chrome máme úspešne nainštalovaný.

V ďalšej lekcii sa pozrieme na sieťové rozhranie. Ukážeme si, ako získať informácie o našej sieti a ako nastaviť sieťové rozhranie zápisom do konfiguračného súboru.


 

Predchádzajúci článok
Linuxový terminál (Bash) - archivácia a kopresia
Všetky články v sekcii
Základy Linuxu
Preskočiť článok
(neodporúčame)
Linuxový terminál (Bash) - administrácia sitového rozhrania
Článok pre vás napísal Václav Franz
Avatar
Užívateľské hodnotenie:
1 hlasov
Aktivity