přejít na obsah přejít na navigaci

Linux E X P R E S, Řešení aktualizace systému pro běžného uživatele

Řešení aktualizace systému pro běžného uživatele

update.png

Často instaluji Ubuntu pro uživatele, kteří mají počítač pouze pro předem daný a neměnný účel – obsluha e-mailů, prohlížení fotek, filmů, pouštění hudby, psaní a tisk dokumentů („Word“ a „Excel“), prohlížení internetu, Youtube … atd. Typickým představitelem je senior, který bere PC jako pracovní pomůcku a nechce experimentovat. Zkrátka, PC má pro práci a ulehčení – nic víc.


Pro tyto účely je, dle mého, Linux nejlepší možná volba. Po nainstalování a konfiguraci používaných aplikací je v podstatě při normálním používání „nerozbitný“. Problémem trošku může být aktualizace programů a operačního systému. Ty aktualizace by (pro výše uvedené typy uživatelů) nebyly až tak „žhavé“, ale v průběhu času dochází mj. k aktualizaci webového prohlížeče, což může přinést komplikace – zkrátka při prohlížení internetu mohou některé stránky přestat korektně fungovat, protože vyžadují prohlížeč od určité novější verze. Pokud budeme používat výhradně LTS verze UBUNTU, pak je životnost OS min. 5 let – a za tu dobu vyjde bezpočet nových verzí např. Firefoxu – tedy je velká šance, že popisovaný problém nastane a aktualizace systému bude nezbytná.

Za dobu, co Linux instaluji pro tyto „běžné“ uživatele jsem se nesetkal s problémy při aktualizaci. Instaluji-li Ubuntu pro „zdatnějšího“ uživatele, ukazoval jsem postup, jak systém aktualizovat. Jenže – protože používám při instalaci samostatný oddíl pro /home, resp. nevelký oddíl pro /, byl jsem po delší době volán k PC, který nešel po aktualizaci spustit. Důvod byl ve všech případech stejný a triviální – neodebíráním zastaralých souborů po aktualizaci došlo k zaplnění oddílu / Přesněji, jediným problémem byla nedokončená aktualizace z důvodu nedostatku místa na oddílu / .

Na základě výše uvedeného pokládám za dostačující a bezpečné umožnit pomocí scriptu obsloužit celý proces aktualizace v rámci jedné verze OS i „běžnému“ uživateli bez zadání správcovského hesla.

Postup:

  • vytvoříme (skopírujeme) spouštěč s názvem update.desktop, který u již existujícího uživatele umístíme např. do ~/Plocha a pro případ dalších, ještě nevytvořených uživatelů jej můžeme umístit do /etc/skel/Plocha .
    • Pozn. 1 – pokud kopírujme soubor na ~/Plocha, pak vlastníkem musí daný uživatel a soubor musí mít příznak pro spouštění. Při prvním spuštění odsouhlasíme, že se jedná o bezpečný spouštěč.
    • Pozn. 2 – Pokud umístíme spouštěč do /etc/skel/Plocha, pak práva nastavujeme root:root, rwx,r-x,r-x, při vytváření nového uživatele se práva automaticky změní během vytváření domovského adresáře nového uživatele. U verze Ubuntu 20.04 je následně ještě nutno u spouštěče umístěného na ploše pravým tlačítkem zatrhnou volbu Povolit spouštění.

Obsah souboru update.desktop (ke stažení zde)

[Desktop Entry]
Version=1.0
Type=Application
Name=Aktualizace systému
Comment=Aktualizace operačního systému
Exec=sudo man-dist-upgrade
Icon=applications-system.png
Path=
Terminal=true
StartupNotify=true
GenericName=Update system
Comment[cs]=Aktualizace systému
  • vytvoříme (skopírujeme) soubor se scriptem a názvem man-dist-upgrade a umístíme ho do /usr/local/sbin, práva nastavíme root:root , rwx,r-x,r-x.

Obsah souboru man-dist-upgrade (ke stažení zde)

#!/bin/bash
#
# Skript pro manuálně spouštěnou aktualizaci vč. odebrání zastaralých souborů
# Název skriptu : man-dist-upgrade
# Doporučen umístění a práva : /usr/local/sbin root:root rwx,r-x,r-x
#
# D. Dvořák
#
 
TEXT_RESET='\e[0m'
TEXT_YELLOW='\e[0;33m'
TEXT_RED_B='\e[1;31m'
TEXT_GREEN_L='\e[92m'
 
check_exit_status() {
 
    if [ $? -eq 0 ]
    then
        echo -e $TEXT_YELLOW
        echo "* OK - zdá se, že je vše v pořádku"
        echo -e $TEXT_RESET
 
    else
        echo -e $TEXT_RED_B
        echo "* ERROR - chyba!"
        echo -e $TEXT_RESET
 
        read -p "* Mám ukončit script? (ano/ne) " answer
 
            if [ "$answer" == "ano" ]
            then
                exit 1
            fi
    fi
}
 
check_continue() {
 
    read -p "* Pokračovat? (ano/ne) " answer
    echo
 
         if [ "$answer" != "ano" ]
            then
                exit 1
            fi
 
}
greeting() {
 
    echo -e $TEXT_YELLOW
    echo "Aktualizace systému se skládá z následujících kroků :"
    echo "- kontrola stavu => zjištění existence aktualizovaných balíčků"
    echo "- aktualizace balíčků => nahrazení zastaralých balíčků"
    echo "- uvolnění místa na disku => odstranění již nepotřebných balíčků"
 
}
 
update() {
    echo -e $TEXT_GREEN_L
    echo "* Zjistit existenci aktualizovaných balíčků?"
    echo -e $TEXT_RESET
    check_continue
 
        sudo apt-get update;
    check_exit_status
 
    echo -e $TEXT_GREEN_L"* Provést samotnou aktualizaci balíčků?"
    echo -e $TEXT_RESET
    check_continue
 
        sudo apt-get dist-upgrade -y;
    check_exit_status
}
 
housekeeping() {
 
    echo -e $TEXT_GREEN_L"* Uvolnit místo na disku?"
    echo -e $TEXT_RESET
 
    check_continue
 
    echo -e $TEXT_YELLOW"* Odstraňuji nepotřebné balíčky."
    echo -e $TEXT_RESET
 
    sudo apt autoremove --purge -y;
    check_exit_status
 
    echo -e $TEXT_YELLOW"* Mažu stažené balíčky."
    echo -e $TEXT_RESET
 
    sudo apt-get autoclean -y;
    check_exit_status
 
    echo -e $TEXT_YELLOW"* Aktualizuji databázi souborů"
    echo -e $TEXT_RESET
    echo "... chvíli strpení ..."
    sudo updatedb;
    check_exit_status
}
 
leave() {
 
    echo -e $TEXT_GREEN_L"--------------------------"
    echo "- Aktualizace kompletní! -"
    echo "--------------------------"
 
    if [ -f /var/run/reboot-required ]; then
        echo -e $TEXT_RED_B
        echo 'Po aktualizci je pro dokončení vyžadován rester systému!'
        echo -e $TEXT_RESET
    fi
    echo
    read -n 1 -r -s -p $'* Stiskem jakékoliv klávesy zavřete terminál...\n'
 
    exit
}
 
greeting
update
housekeeping
leave

Pozn. – u Ubuntu 20.04 nebude po instalci OS funkční příkaz updatedb. Řešním je nainstalovat mloctate nebo blok pro „Aktualizaci databáze souborů“ zakomentovat, resp. smazat.

  • Pomocí příkazu visudo upravíme sudoers soubor – na konec přidáme následující řádek:
ALL ALL=(ALL) NOPASSWD:/usr/local/sbin/man-dist-upgrade

Toť vše. Kterýkoliv přihlášený uživatel tak má možnost provést rutinní aktualizaci systému bez zadání správcovského hesla. Poklepáním na ikonu „Aktualizace systému“ umístěné na ploše, spustí níže uvedené kroky, které musí navíc explicitně odsouhlasit.

  • kontrola stavu => zjištění existence aktualizovaných balíčků
  • aktualizace balíčků => nahrazení zastaralých balíčků
  • uvolnění místa na disku => odstranění již nepotřebných balíčků

Autor: David Dvořák
Licence: volně k použití

Nahoru

Příspěvky

Řešení aktualizace systému pro běžného uživatele
yourname 13. 05. 2020, 09:45:23
Odpovědět  Odkaz 
Díky za každej zajímavej článek, ale nějak mi uniká smysl.
Ubuntu nějakej ten rok používám, i LTS verze , je nasazen i u lidí typu BFU.
S aktualizacemi nikdy nebyl problém. BFU nemusí nic řešit, jak Ubuntu tak Xubuntu při dostupných aktualizací nabídnou dialog. BFU klikne na tlačítko, buď se aktualizuje nebo neaktualizuje.
Jedinej problém jsem zaznamenal tam kde se provozuje Virtualbox a aktualizace změnila kernel (přechod mezi LTS verzí Xubuntu na novou LTS verzi), tam se musel opravit Virtualbox, ale to je vše.
S ESR verzí prohlížeče Firefox za dlouhé roky nebyly problémy že by nějakej web nefungoval jak autor zmiňuje důvod tohoto celého.
I v LTS verzi Ubuntu dojde k aktualizaci Firefox ESR pokud během té doby vyjde nová ESR verze, které vychází častěji než LTS verze X(Ubuntu).

Pokud však autor u BFU vymýšlí zbytečnosti typu velmi malé oddíly pro /root nebo velmi malý separátní oddíl /boot a pak mu dochází k problémům který musí řešit zbytečným skriptem pro BFU..., je to jím vytvořený problém.

Čas se dá investovat efektivněji.
David Dvořák Re: Řešení aktualizace systému pro běžného uživatele
David Dvořák 13. 05. 2020, 13:54:57
Odpovědět  Odkaz 
Zdravím,
abych pravdu přiznal dlouho jsem váhal, zda článek napsat a aktualizaci řešit. Nakonec jsem se rozhodl pro. Čas se dá opravdu investovat lépe a pravdou je, že aktualizace probíhají naprosto bezproblémově. To je ostatně i důvod, jak píši, pro to, aby se mohly spouštět bez hesla.
Ovšem konečný důvod pro napsání je~byl následující :
Nejde o malý "/" oddíl, ale o to, že "/home" dávám na samostatný oddíl. Důvod tohoto kroku je veskrze praktický - při instalaci nové verze OS nemusím data uživatelů zálohovat. Při instalaci jen nechám rozdělení na oddíly tak, jak bylo a oddíl s "/home" zadám NEformátovat. tento postup ale vyžaduje logicky určení nějaké velikosti zbytku, tedy oddílu "/". Dával jsem 15GB (což je zhruba dvojnásobek toho co potřebuje plně nakonfigurovaný běžný pracovní desktop), dnes dávám u větších disků 20GB. A jak píši, byl jsem několikrát volán k situaci, kdy byl oddíl "/" zaplněn a to z důvodu neodinstalování zejména starých verzí jádra. A věřte že za takové 2 roky se jich nasbírá dost a jsou schopny oddíl zaplnit. V takovém případě ovšem aktualizace skončí chybou a pc následně nejde zapnout. Je třeba sice jen odinstalovat a uvolnit místo na disku, ale to může být nad možnosti BFU.
Pokud by řešení vestavěné automatické aktualizace systému obsahovala krok odinstalování nepotřebných souborů (možná tato volba je, ale já ji nenašel), pak by článek a skript byl naprosto zbytečný. Dále, k řešení problému je možno přistoupit jen napsáním skriptu pro uvolnění místa na disku, ale podíval jsme se, jak k problému přistupují ve světě a tak vzniknul upravený již existující skript s komentářem.
Ono něco jiného je mít BFU v rodinném domku o patro níže a BFU v rodinném domku o 200km dál ... :-) A když jim PC nejde, tak celkem logicky dožadují nápravy...
Re: Re: Řešení aktualizace systému pro běžného uživatele
yourname 14. 05. 2020, 09:18:32
Odpovědět  Odkaz 
Dobrý den pane Dvořák,
i já a mnoho ostatních používáme separátní oddíl pro /home, oddělení oddílu s uživatelskými daty má mnoho výhod a samozřejmě i tu jež jste zmínil - při instalaci operačního systému.
Ovšem stále mi uniká smysl jak to souvisí s aktualizací (mimo to když se něco "nepovede" z důvodu HW/SW chyby).
Z vašeho příspěvku to vypadá, že upgrade *buntu provádíte novou instalací dané verze se zachováním oddílu /home (= nenaformátovaný /home, naformátované oddíly / aj.)?
Tohle imho není přece potřeba.
*buntu při update (aktualizace stávající verze, např. 20.04.0 na 20.04.1) i upgrade (přechod z 19.10 na 20.04) lze provést bez přeinstalace systému.
Vždy se může něco pokazit, proto záloha oddílu /home, zvlášť při upgrade by měla být samozřejmá, pokud se na oddílu nachází uživatelská data o které nechce uživatel přijít.
20 GB pro oddíl / asi stačí v setu aplikací pro BFU činnosti které uvádíte (přehrávač audio a video, přohlížeč foto, editor dokumentů, prohlížeč internetu), za předpokladu že pro každou činnost není nainstalováno X různých apllikací pro zkoušení (kde X > 1).
Za předpokladu že není od / oddělen i oddíl /boot by tak nemělo dojít k zahlcení místa kernel imagema při upgradu mezi LTS verzemi *buntu. Tolik různých kernelu imho v LTS verzi nebývá.
Jinak to může být pokud uživatel upgraduje každej půlrok pravidelně po několik let, tam souhlasím že se může nahromadit mnoho kernelů a dojít tak k vyčerpání místa.
Ovšem i tak z mé zkušenosti se spíš update/upgrade neprovede protože není kam uložit nový kernel image, systém zůstává dál běžící a i přes vzdálenost 200km lze spustit např. Teamviwer a místo pročistit a následně provést update/upgrade.
Vrátím se i k zmínce o zadávání hesla pro spouštění aktualizací.
Co používám Ubuntu, pro update jsem nikdy heslo nazadával. Pro upgrade už to tvrdit nebudu, nejsem si tím jist jelikož ten se provádí jednou za uherskej rok a na verzi 20.04 z 19.10 mě teprve čeká :)
BFU uživatelský účet preferuji na obou používaných platformách (Linux, Windows) bez sudo, resp. admin oprávnění.

Můj názor je, že pokud se instaluje *buntu pro BFU uživatele a použije se běžná konfigurace v instalátoru - tzn. bez manuální úprav, je pak systém pro BFU opravdu "bezúdržbový".
David Dvořák Re: Re: Re: Řešení aktualizace systému pro běžného uživatele
David Dvořák 14. 05. 2020, 11:10:50
Odpovědět  Odkaz 
Zdravím,
vezmu to postupně ... Rozdělení disku je samozřejmě věcí admina a je celkem logické, že z praktických důvodů u desktopu asi většina volí samostatný oddíl /home. Co se týče záloh při upgrade na novější verzi, tak ty samozřejmě provádím, ale tento krok má dvě etapy - záloha na externí médium a pak případné kopírování zpět. No a je asi celkem logické, že pokud se nic nestane a oddíl /home je v pořádku zachován, tak odpadá to kopírování z ext. média zpět. A BFU mívá někdy i celkem dost hudby a filmů... :-) Takže krok a čas ušetřen. V začátcích jsem míval i samostatný /boot oddíl, ale když nemusí být, tak ho dnes již nepoužívám. Ten důvod je totožný - ošetřování místa na disku v případě BFU. Dnes používám rozdělení "/ - swap - /home", kdy velikost "/" je 10GB ~ 15GB nebo 20GB - a to podle velikosti disku. Mám i PC s malými SSD disky (extrém je 32GB) a tady nastavuji "/" 10GB. Ta velikost pro BFU sestavení stačí, maximum volného disku pak zůstává pro data uživatele. Důvodem pro tak malý SSD disk je cena a zbytečnost většího místa pro uživatele. Mám i seniory, kteří používají: Seznam-Bazoš-Hyperinzerci a jsou max. spokojeni, jak to všechno rychle a bez problému funguje :-). A bonusem je k tomu nízká cena! Jenže právě u těch menších disků je problém s místem u aktualizací, naštěstí tito uživatelé ty aktualizace zase tak nehrotí. Dokud jede Seznam-Bazos_Hyperinzerce, tak je vše OK. Jenže mají zvídavé vnuky a vnučky ... Ale kupodivu, ten popisovaný problém s nedokončenou aktualizací byl u několika PC s 10GB pro "/". Tohle bych uzavřel s tím, že každý máme svoje zkušenosti a k řešení přistupujeme podle svého uvážení. Diskuzi ovšem vítám, protože někdo občas přijde na něco nového praktičtějšího...
Co se týče používání verzí - používám Ubuntu a snažím se výhradně LTS verze, protože je pak hodně roků klid a vše funguje. Moje dlouholetá zkušenost je, že Linux je (při běžném používání) opravdu "nerozbitný" systém. A správně píšete - vždy používám čistou instalaci. Já si myslím, že si tak šetřím čas, protože přeci jenom občas bývají změny mezi LTS verzemi dost podstatné. Ale opět, tady záleží na adminovi. Někdo rád holky, někdo vdolky ...
Co se týče vlastní konfigurace, pak jen souhlasím a taky používám pouze standardní nastavení a vyvarovávám se různým "extra" úpravám, protože ty většinou po první aktualizaci vyžadují zásah admina. A oprávnění - BFU samozřejmě bez "sudo", nicméně zkušenost říká, že ty aktualizace u standardního sestavení by mohli zvládat sami.
Tož tak.
Ještě technická - malým důvodem k sepsání bylo i to, že ve skriptu je praktická ukázka několika technik - jednak, že pro opakující se činnosti se píše funkce, interakce s odpovědí uživatele, změna barvy písma ... zkrátka může to být bráno i jako výukový materiál pro začínajícího admina.
Re: Řešení aktualizace systému pro běžného uživatele
Fait 21. 06. 2020, 19:48:34
Odpovědět  Odkaz 
Mám stejný problém měl jsem nainstalovaný Virtualbox který jsem již odinstaloval a nejde mi přejít na novou LTS verzi.Aktualizace mi píši chybu že si mám zkontrolovat internetové přípojení to je ale v pořádku.Můžete mi poradit řešení tohoto problému.
Řešení aktualizace systému pro běžného uživatele
Pepa 13. 05. 2020, 11:36:57
Odpovědět  Odkaz 
Ahoj, nainstaloval jsem nasi babicce ktere bude 70 Linux Mint a sama mne informovala, ze v panelu udrzuje ikonu fajfky (jestli si to dobre pamatuju), tj. udrzuje system aktualizovany. Ti seniori na tom nejsou tak zle, nekteri :)
Řešení aktualizace systému pro běžného uživatele
Ivan 13. 05. 2020, 20:24:40
Odpovědět  Odkaz 
Ano, i moje babička (79 let), jede na Ubuntu a vše OK. Když děláme jednou za 2 roky aktualizaci nebo i výměnu PC, protože to vyžaduje :-D , tak má naštěstí vše na google disku a chromium má synchronizovaný, takže vždy jen přeinstalujeme, nastavíme a jede dál :)
Řešení aktualizace systému pro běžného uživatele
Michal 27. 05. 2020, 06:33:37
Odpovědět  Odkaz 
My babičce aktualizujeme old stable LTS verzi Debianu vždy jednou za rok na návštěvě a také to stačí. Problém jsem neřešil s verzí Firefoxu ESR ale po nějakém upgrade bylo potřeba aktualizovat konfiguraci prohlížeče v HOME adresáři. Ještě že jsem upgrade dělal ručně.
Řešení aktualizace systému pro běžného uživatele
mudmax 18. 11. 2020, 12:26:24
Odpovědět  Odkaz 
Nikdo v diskuzi nezmínil stále se kupící balíky ve složce /var/cache/apt/archives

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz