Portál AbcLinuxu, 30. dubna 2025 07:23
Pokud používáte LTS (long-term-support) verze Ubuntu Linuxu (12.04, 14.04) nebo Linux Mint 13 a 17.0-17.3, tak se možná setkáváte s tím, že některý balík potřebujete v novější verzi, než je k dispozici v repozitáři vaší verze systému. Způsobů, jak si s tím poradit je víc, buď aktualizovat celý operační systém, v Ubuntu je případně řada balíků k dispozici přes PPA repozitáře, některé balíky v deb formátu nabízejí přímo vývojáři, ale pak je i možnost využít zdrojového apt-get repozitáře z novější verze Ubuntu. Pozor, jedná se o něco jiného, než si natvrdo stáhnout již zkompilovanou (binární) verzi balíku z novější verze distribuce, což vřele NEdoporučuji (a taky to skoro nikdy nefunguje kvůli vazbě na jiné verze klíčových systémových knihoven).
Pro ukázku zde uvedu příklad balíku smartmontools obsahující nástroj smartctl, sloužící k zjišťování SMART hodnot disků a SSD a spouštění self-testů. Tento nástroj pak používá i grafická nadstavba gsmartcontrol.
V Linux Mint 17.3, postaveném na Ubuntu 14.04 LTS, existuje verze 6.2 někdy z roku 2013, která nepodporuje názvy řady hodnot vyskytujících se u SSD, a zejména má velký problém s (ne)podporou SMARTu vůbec u řady USB HDD boxů a externích disků.
Novější smartmontools 6.3 v Ubuntu 15.10 a 6.4 z chystaného Ubuntu 16.04 řadu problémů řeší, v mém případě vlastně všechny: jsem schopen přečíst SMART u všech externích USB disků, co mám, a z neznámých atributů u SSD Crucial, které používám, se staly známé včetně popisků.
Nejdřív proč nepoužívat zkompilované binární verze deb balíčků pro novější verze Ubuntu: rozbije to celý systém, vznikne spousta nevyřešených závislostí, a při přidání repozitáře nové verze Ubuntu to zase bude chtít aktualizovat úplně celý systém. Nové verze balíků jsou kompilované s vazbou na nové verze systémových knihoven, počínaje glibc6, na které stojí skoro celý systém
Pokud chceme novou verzi balíku, musíme ji mít zkompilovanou pro naši verzi knihoven přítomných v současném systému. Některé balíky takto zkompilované jsou přítomné v „backport“ repozitáři, který lze použít, pokud náš balík v tomto repozitáři je. Pro smartmontools tomu tak není a tak zbývá možnost si novou verzi zkompilovat.
K tomu je nejvhodnější použít zdrojový balík z novější verze Ubuntu, který obsahuje všechny instrukce pro automatické zkompilování a vytvoření správného deb balíku pro instalaci. Do seznamu repozitářů apt jsem přidal řádek
deb-src http://ftp.cvut.cz/ubuntu xenial main restricted universe multiverse
tedy využil jsem rovnou místního zrcadla balíků na ČVUT, z chystané distribuce Ubuntu 16.04 Xenial Xerus. Důležité je to, aby se jednalo o řádek začínající deb-src, a nikoli deb, jinak bychom přidávali binární, již zkompilované balíky!
Následuje aktualizace seznamu balíků a stažení závislostí pro zkompilování dané verze balíku:
sudo apt-get update && sudo apt-get build-dep smartmontools/xenial
Teď už stačí stáhnout zdrojový balík a ten zkompilovat do deb balíku kompatibilního s naší distribucí:
sudo apt-get -b source smartmontools/xenial
Vznikl nám tím binární deb soubor, který můžeme nainstalovat a tím naši zastaralou verzi smartmontools aktualizovat (přesné jméno souboru se může lišit, klávesou Tab lze zpravidla nechat název v terminálu dokončit):
sudo dpkg -i ./smartmontools_6.4+svn4214-1_amd64.deb
Pokud by náhodou ještě vznikly nedořešené závislosti, mělo by je opravit
sudo apt-get -f install
Původní verze smartctl:
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.2.0-25-generic] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
Nová verze smartctl:
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.2.0-25-generic] (local build) Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
Tiskni
Sdílej:
Vypadá to jednoduše, ale bude to tak jednoduché i u balíků jako je LibreOffice nebo i až celé grafické prostředí?... V každém případě +
Možná jo, ale je potřeba počítat s tím, že tam bude mnohem víc závislostí. Osobně bych do takových větších věcí nešel, ale proti gustu žádný dišputát. Libreoffice si osobně tahám z PPA, pokud bych potřeboval mít všechny balíky uptodate, tak si už radši upgraduju celé distro, nebo pojedu na testing / rolling distribuci ala debian testing / opensuse.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.