Provoz Mozilla.social, tj. instance Mastodonu provozované Mozillou, bude 17. prosince 2024 ukončen.
Byla vydána nová major verze 6 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04, Debian 12, Fedora 39, Amazon Linux 2 a Red Hat Universal Base Image 9.
Exploze osobních komunikačních zařízení v Libanonu zabily osm lidí, přibližně 2750 lidí je zraněno. Zhruba 200 jich je v kritickém stavu.
Byla vydána Java 23 / JDK 23. Nových vlastností (JEP - JDK Enhancement Proposal) je 12. Nová Java / JDK vychází každých 6 měsíců. LTS verze jsou 8, 11, 17 a 21 a bude 25.
Byla vydána betaverze Fedora Linuxu 41, tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 22. října. Z novinek (ChangeSet) lze vypíchnout Valkey místo nesvobodného Redisu, konec Pythonu 2, instalace proprietárních ovladačů Nvidia s podporou Secure Boot, DNF 5, RPM 4.20, KDE Plasma Mobile Spin, LXQt 2.0, …
Digitální a informační agentura (DIA) přebírá od 1. listopadu správu Registru obyvatel a Registru osob. Převodem pokračuje postupné soustřeďování sdílených informačních systémů státu pod DIA (𝕏).
Společnost Apple vydala nové verze operačních systémů pro svá zařízení: macOS 15 Sequoia, iPadOS 18, tvOS 18, visionOS 2, watchOS 11 a iOS 18.
Konsorcium Linux Foundation představilo svůj nejnovější projekt s názvem OpenSearch Software Foundation zastřešující další vývoj OpenSearch a OpenSearch Dashboards. OpenSearch je forkem vyhledávače Elasticsearch a OpenSearch Dashboards je forkem souvisejícího nástroje pro vizualizaci dat Kibana. V roce 2021 přešly projekty Elasticsearch a Kibana z licence Apache 2.0 na duální licencování pod Server Side Public License (SSPL) a
… více »Valkey, tj. svobodný fork již nesvobodného Redisu, byl vydán v první major verzi 8.0.0 (GitHub). Ve čtvrtek proběhne ve Vídni Valkey Developer Day.
TamaGo je open source framework pro programování ARM a RISC-V systémů na čipu (SoC) v programovacím jazyce Go. Prezentace projektu z OSFC (Open Source Firmware Conference) v pdf na GitHubu.
PATH="/cesta:/cesta:/cesta"Přitom tam žádný takový řádek nemám. Můj soubor /etc/profile vypadá tak:
# /etc/profile -*- Mode: shell-script -*- # (c) MandrakeSoft, Chmouel Boudjnah <chmouel@mandrakesoft.com> loginsh=1 if [ "$UID" -ge 500 ] && ! echo ${PATH} |grep -q /usr/games ; then PATH=$PATH:/usr/games fi umask 022 USER=`id -un` LOGNAME=$USER MAIL="/var/spool/mail/$USER" HISTCONTROL=ignoredups HOSTNAME=`/bin/hostname` HISTSIZE=1000 if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then INPUTRC=/etc/inputrc fi # some old programs still use it (eg: "man"), and it is also # required for level1 compliance for LI18NUX2000 NLSPATH=/usr/share/locale/%l/%N export PATH PS1 USER LOGNAME MAIL HOSTNAME INPUTRC NLSPATH export HISTCONTROL HISTSIZE for i in /etc/profile.d/*.sh ; do if [ -r $i ]; then . $i fi done unset iTrochu divný soubor. Vůbec tam takový podboný řádek není. Co je to za pořádek? A když do toho souboru budu někdy potřebovat podobný řádek přidat, ani nevím, kam. Kam ho připsat?
Když jsem zadal do Konzole příkaz echo $PATH
, přesto se mi nějaké cesty vypsaly:
/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin/:/usr/games:/usr/lib/qt3//bin:/home/david/bin:/usr/lib/qt3//binTeď by mě zajímalo, kde na ně přišel, když ve výše uvedeném souboru je pendrek. Dále nemůžu pochopit, co v tady tom výpise dělají dvojité lomítka. Mají tam být snad cesty oddělené dvojtečkama a v žádné cestě by se neměly psát dvě lomítka hned za sebou.
for i in /etc/profile.d/*.sh ; do if [ -r $i ]; then . $i fi done
Tento kód je pro tebe nejklíčovější. Znamená to vložení všech čitelných zdrojových souborů z adresáře /etc/profile.d/
odpovídajících masce *.sh
.
Tzn. že proměnná PATH
se bude nastavovat v některém z nich. Pomůže např. program grep
.
Ale kompletní řádek PATH="adresáře oddělené dvojtečkama"
není ani v jednom tom souboru. Kam mám připsat, když budu chtít do proměnné PATH něco přidat? Například teď bych potřeboval do proměnné PATH přidat aktuální adresář tečku. A nevím kam, protože ani v jednom souboru není ten řádek, ve kterém by byly všechny ty pathy obsažené pohromadě. Všechno je tam rozhazané jak salát. Každý kousek v jiném souboru. To je nepořádek. Přitom v Linuxu je obvyklé, že všechny proměnné pathy jsou v řádku PATH="adresáře oddělené dvojtečkama"
, který je v jednom souboru.
Nebo když se například bude někde doporučovat něco podobného jako Do souboru /etc/profile si přidejte řádek PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games:/usr/bin/X11", nebo něco podobného, tak ani nebudu vědět, kam do toho souboru ho připsat. Kam patří?
When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable.
When a login shell exits, bash reads and executes commands from the file ~/.bash_logout, if it exists.
When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if that file exists. The --rcfile file option will force bash to read and execute commands from file instead of ~/.bashrc.
Dovolil jsem si ocitovat manuálovou stránku k Bashi.
Klíčové konf. soubory jsou tedy ~/.bashrc
a ~/.bash_profile
Klíčové konf. soubory jsou tedy
~/.bashrc
a~/.bash_profile
Tam taky nemám žádný řádek PATH="cesty oddělené dvojtečkama"
, kde by byl kompletní seznam pathů. A když ho tam dopíšu, nic se neděje.
Já jsem to chtěl kvůli tomu, abych systém v případě potřeby mohl přinutit, kde má hledat spustitelné soubory a kde má spuštěný program hledat doplňující soubory například pluginy - hlavně pokud jsou ty pluginy jinde, než v systémovém adresáři. Všude se doporučuje Upravte řádek PATH="/něco:/něco"
v souboru /etc/profile
připsáním cesty... ale já tam nic připsat nemůžu, protože tam žádný takový řádek nemám, ve kterém by byly shrnuté všechny pathy. Dokonce ani v souborech /etc/profile.d/*.sh
, ani v ~/.bashrc
a ~/.bash_profile
.
Smiluju se nad vámi a poradím
Nakonec souboru ~/.bashrc
přidejte následující:
PATH="${PATH}:.:/moje/programy"
Vysvětlení: '.' zastupuje aktuální adresář (tak jste to chtěl). /moje/programy
je další vámi přidaný adresář.
PATH="${PATH}:.:/moje/programy" export PATH
Bez export PATH
by to asi nefungovalo. Omlouvám se.
Tak jsem to udělal. Do souboru ~/.bashc jsem připsal:
PATH="${PATH}:.:./plug-ins"
Potom jsem otevřel adresář, ve kterém mám nakompilovaný Audacity, mám ho nakompilovaný v adresáři /home/david/kompilace/audacity135/audacity-src-1.3.5-beta
, tam mám spustitelný soubor audacity a ve stejném adresáři mám i podadresář plug-ins, ve kterém mám nyquistové pluginy. Když jsem spustil Audacity poklepáním na ten spustitelný soubor, spustím ten program, ale pod efektama se mi ty nyquistové pluginy neobjevují, program je stále nenačítá. Přitom vím, že ty pluginy jsou funkční, protože když jsem je předtím měl v systémovém adresáři, tak je Audacity uměl najít a daly se používat. Takže nevím, jakou dělám chybu. Dokonce jsem ten program spouštěl až po úpravě toho bashrcu a přesto se ty pluginy nenačítají.
./audacity
Program se spustí a efektů už je konečně více.
~/.bashc
ten připsaný řádek
PATH="${PATH}:.:./plug-ins"a funguje to pořád stejně. Podle toho vidím, že tam vůbec takový řádek nemusím připisovat, ani nic podobného, ani jinak zasahovat do proměnné PATH. Tak jsem přišel na to, jak to funguje: Na tom, jak mám nastavené proměnné PATH to vůbec nezáleží. Prostě záleží jenom na tom, jakým způsobem ten Audacity, který mám kompilovaný v home, spouštím: Pokud ho spouštím poklepem na spustitelný soubor, program se sice spustí, ale pluginy ze složky plug-ins, která je vedle spustitelného souboru, se pod efekty neobjeví. Když ten program ale spustím z Konzole, např
cd /cesta/ke/slozce/se/spustsouborem
a pak ./audacity
, tak se všechny tam ty pluginy pod efekty objeví. Takže je důležitý jenom způsob spouštění, a ne zásah do proměnné PATH.
PATH
záleží, ale problém je v tom, kde ji Audacity vezme. Když spustíte Audacity z interaktivního shellu, zdědí hodnotu proměnné PATH
od něj a bude to ta, kterou jste si upravil v ~/.bashrc
. Zatímco když ho spustíte "poklepem" (strašný výraz), zdědí proměnnou PATH
opět od svého rodiče, ale tím je v tomto případě window manager. Takže si zkuste projít konfiguraci svého grafického prostředí, kde se tam dá nastavit environment spouštěných programů.
./plug-ins
, když v ~/.bashrc už nic takového nemám a nemám tam už ani aktuální adresář tečku. V ~/.bashrc mám:
# .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
~/.bashrc
Zakopaný pes je, že do proměnné PATH
přidáváte relativní cestu (adresáře). ./plug-ins
je třeba nahradit absolutní cestou, tedy cestou začínající '/'.
A hlavně nezapomeňte proměnnou PATH exportovat (export PATH
).
Přidat do PATHu místo relativní cesty absolutní cestu. Taky by to šlo, ale to potom má hodně nevýhod: Budu muset pro každý spustitelný soubor přidávat novou cestu do PATHu, místo, aby stačila jedna pro všechny. Nebudu moct složku se spustitelným souborem a se všim, co k němu patří, přesunovat jinam, kam chci, už se k tomu budu muset chovat, jako by to bylo přibité. Taky nebudu moct nadřezené adresáře přejmenovávat. Ikdyž na druhou stranu, ani při použití relativních cest nejsem úplně bez omezení.
Mrzí mě, že to není tak jednoduché, jak jsem si představoval. Aby byl spustitelný program schopný načíst a najít různé doplňky, musím přizpůsobovat nějaké PATHy a navíc ani tak to pravděpodobně nebude ono. Naproti tomu si vezměme chování HTML dokumentů. Z toho bychom si měli vzít příklad. HTML dokumenty se chovají výborně, narozdíl od programů. HTML dokument můžu například umístit do nějakého adresáře, v tom adresáři můžu mít všechny doplňující soubory k tomu HTML souboru, například obrázky a jiné věci a HTML soubor si je vždycky najde. Stačí mít ve zdrojovém kódu HTML dokumentu zadané vhodné relativní cesty. Navíc tu složku s dokumentem a všemi doplňkami můžu kdykoliv přemístit jinam, kam chci a schopnost načítání se nenaruší. Dokonce můžu přejmenovávat i nadřazený adresář a nic se tím nenaruší. A co víc. Vůbec není zapotřebí upravovat proměnnou PATH. Je to vinikající chování HTML dokumentů, jenom škoda, že se tak výborně neumí chovat různé spustitelné soubory aplikací a podobně.
$PATH
je proměnná, kde hledá shell příkazy, které spouštíte. Načítání doplňků nějakým programem by na téhle proměnné vůbec nemělo záviset, a nechápu, proč by někdo něco takového udělal. Takže buď je něco špatně udělané v tom programu, nebo něco děláte špatně vy – asi by bylo dobré napsat, o co se vlastně pokoušíte.
Pokud se budete držet při sestavování programů Filesystem Hierarchy Standard, tak se vyhnete mnohým problémům.
Všechen software by měl být instalován z (oficiálních) balíčků, přičemž by měl být dodržen Filesystem Hierarchy system...
Pokud se nechcete FHS držet, tak aspoň dejte všechny spustitelné soubory do jednoho adresáře, který přidáte do PATH.
dejte všechny spustitelné soubory do jednoho adresáře, který přidáte do PATH. Takovým způsobem bych to nerad řešil, protože časem takových programů můžu mít třeba i padesát, ke každému tomu programu nějaké ty pluginy, a tak dále, a kdybych to všechno měl sypat do jedne složky dohromady, měl bych zachvíli pěkný nepořádek. Ani bych nevěděl, co k čemu patří a možná by se i mydlily názvy souborů (například dva soubory se stejným názvem ve společném adresáři se navzájem přepíšou).
O co se vlastně snažím. Nevím, jestli to mám psát, asi to bude blbost, ale napíšu, o co jsem se snažil. Protože mám rád pořádek, rozhodl jsem se trochu uspořádat a překompilovat některé programy. Chtěl jsem, aby každý program měl svoji složku, ve které by bylo všechno, co ten program potřebuje: Hlavní spustitelný soubor a všechny jeho pluginy a jiné věci, nebo co k tomu programu zrovna patří. Každý ten program by měl svoji vlastní složku, ve které by bylo všechno, co k němu patří. Všechno takto přehledně uspořádané. A aby spuštěný program byl schopný všechny doplňky hledat ve svoje složce. Dokonce jsem chtěl, aby ikdyž složku s programem přesunu kamkoliv, nebo přejmenuji některý nadřazený adresář, stále by spuštěný program hledal doplňky ve složce, ve které se nachází. Čili zřejmě by musel načítat svoje doplňky relativním způsobem, ne absolutním. Takže programy by byly vlastně takové kazety, které můžu kdekoliv spustit. A úplně ideální by bylo, kdyby v těch "kazetách" byly obsažené i všechny knihovny, které program potřebuje, pokud potřebuje, a i ty knihovny aby program byl schopný načíst tak, jak jsem před chvíli popsal o doplňcích. Tyto knihovny by byly obsažené ve složce toho programu, který ji potřebuje. A co když několik programů potřebuje stejnou knihovnu? Nevadí, v tom případě by se knihovna nakopírovala do několika těch složek.
Nakonec u některých programů by bylo lepší, kdyby se nemusely ani instalovat a daly by se rovnou používat.
HTML dokumenty mám vlastně taky v takových "kazetách". Každý html dokument mám v jedne složce a v ni všechno, co ten dokument potřebuje. Hlavní soubor a k němu všechny doplňkové soubory, které k tomu souboru patří, například obrázky. Všechno rozdělené do složek, podle toho, co kčemu patří. Dokonce není problém ani když chci složku s dokumentem kamkoliv přemístit nebo přejmenovat nadřazený adresář. Nic nezabrání tomu, aby se doplňkové soubory k dokumentu správně načetly.
$PATH
nepotřebujete, stačí spustitelný soubor programu. Takže si můžete vytvořit jedno místo a tam si nalinkovat všechny spustitelné soubory.
Já mám svoje programy (většinou spustitelné skripty) v home v adrsáři bin ten jsem si přidal do PATH.On je snad někdo, kdo to tak nemá?
On je snad někdo, kdo to tak nemá?Určitě se někdo najde kdo se to bude snažit zase vše cpát do jednoho adresáře někam do /tmp a pak se diví že mu tam mizí soubory
Snažíte se udělat "pořádek" v systému, kterému moc nerozumíte.
Držte se Filesystem Hierarchy Standard.
Teď mě napadá, jestli jsem se vlastně nesnažil napodobit podobný pořádek, jaký používá GoboLinux. Tam je v systému adresář /programy nebo tak nějak a v tom adresáři jsou podadresáře různých programů, co program, to podadresář. V každém tom jednotlivém podadresáři jsou všechny soubory, které k tomu programu patří a mám pocit, že i knihovny a pokud stejnou knihovnu používá několik programů, mám pocit, že se knihovna opakuje v několika složek s programama (nejsem si ale jistý, jestli to úplně pravda). Instalace programů se vlastně rovná nakopírování složky s programem do adresáře /programy. Aby systém lépe našel spustitelné soubory, je tam i adresář se symbolickými odkazy spustitelných souborů. Odinstalace programu je vlatně smazání podadresáře s programem a odstranění nefunkčního symbolického odkazu ze složky se symbolickými odkazy. Kompilace programů v GoboLinuxu má prý taky nějaké usnadnění.
Uspořádání, jaké má GoboLinux, se mi líbí. Vyplatí se přechod na GoboLinux? A vyvíjí se ještě vůbec tato distribuce? A jak je to se závislostmi balíků, repozitáři apod?
Uspořádání, jaké má GoboLinux, se mi líbí.Proč? Já přenechávám starost o detaily správy nainstalovaného softwaru správci balíčků. Nevím, proč bych jej měl kontrolovat nebo se starat o to, jak a kam programy instaluje. Připadá mi to jako zlozvyk z Windows, kde se o to systém moc nestará a pak tahle práce zbývá na uživatele. Podle mne má ale počítač sloužit člověku, ne naopak, takže mu takovouhle práci rád přenechám.
Jinak v Linuxu považuji za nedostatek takovou věc, že hotový balík je použitelný většinou do jediné distribuce Linuxu a jediné verze distribuce; v jiných distribucích nebo verzích nemusí fungovat. Proto, když budu někdy potřebovat přejít na novější Linux (ať už z důvodu, že se mi bude novější Linux hodit, nebo z důvodu, že mě k přechodu na novější Linux přinutí novější hardware podporovaný jenom v novějším Linuxu), mám to stížené. Všechny balíčky různých aplikací a pod, které jsem si za celou dobu postahoval, budu muset zahodit a stahovat je znovu, tentokrát z nových repozitářů. Je to práce navíc (ikdyž je to usnadněné tím, že můžu použít nástroj pro automatické řešení závislostí) a taky je možná i riziko, že v nových repozitářích bude chybět některá aplikace, z těch, co jsem předtím měl.
Tady by se hodilo, kdyby hotový balík byl přenesitelný do více Linuxů.
balík je použitelný většinou do jediné distribuce Linuxu a jediné verze distribuce
A od čeho jsou zdrojové kódy (texty)? Jinak je velmi užitečné naučit se vytvářet vlastní balíčky. Např. v Arch Linuxu se vytvářejí balíčky velmi snadno. Prostě jednou vytvoříte či jinak získáte -- dalo by se říct -- Bash skript PKGBUILD, který popisuje závislosti, jaké volby se mají použít při kompilaci... Podle tohoto skriptu se vytvoří požadovaný balíček. Nemusím snad zdůrazňovat, že takový skript stačí většinou jenom mírně upravit v případě nové verze programu.
Když budete chtít přejít na novější verzi té distribuce, není v tom žádný problém.
V tom případě jsem taky musel všechny balíčky vyhodit a stáhnout nové. Například jsem měl MandrivaLinux 2007.1 a přecházel jsem na MandrivaLinux 2008.0. Musel jsem všechny stažené a vypálené balíčky vyhodit a stáhnout je znovu, z nových repozitářů. Nebo jsem to dělal zbytečně?
Ale narazil jsem naopak na situaci, že program (binární) šel použít ve Windows 98, ale zároveň i v 2000, XP, atd.
Vysvětlím, proč by se hodilo, kdyby hotový balík byl přenesitelný do více Linuxů. Například proto:
Mám v počítači nainstalovanou určitou distribuci a verzi Linuxu. V něm mám nainstalované různé aplikace. Všechno funguje jak chci a všechno mi vyhovuje. Tak to budu mít nainstalované několik roků. Všechny balíčky, které jsem si za celou dobu postahoval, budu mít zalohované na DVD. Potom se rozhodnu, že si pořídím ještě jeden počítač. Stejný počítač, ani stejný harware už neseženu, budu si muset koupit jiný, novější. Tady můžu narazit na problém: Verzi Linuxu, kterou mám na tom prvním počítači, a která funguje bez problému, nemusí fungovat dobře nebo vůbec, na tom novějším počítači. Může být problém s grafickou kartou nebo s čímkoliv jiným. (Nebo to nehrozí?) Pokud nějaký takový problém nastane, nezbyde mi nic jiného, než si pořídit novější verzi Linuxu. A tady jsme u toho, o čem jsem před chvíli mluvil: Kdyby hotové balíky byly přenositelné z jednoho Linuxu do druhého, nemusel bych nic vyhazovat. Všechny balíčky, co mám zalohované na tom DVD bych mohl nakopírovat do počítače s tím novým Linuxem a mohl bych je znovu použít. Což bych taky udělal, protože nemám důvod vyhazovat něco, co mi celou dobu vyhovovalo. Ve skutečnosti však ty zalohované balíky použít nemůžu, protože do toho nového Linuxu nemusí pasovat. Budu si muset všechny balíčky, které potřebuji, stáhnout znovu, tentokrát z nových repozitářů. Je to práce navíc, ikdyž je pravda, že to mám usnadněné nástroji pro automatické vybírání závislostí. Ale hlavně: Je riziko (nebo snad není?), že v těch nových repozitářích už bude chybět některý program, z těch, které jsem používal na starém počítači a který potřebuji a potom bych byl v pytli.
Pro novější počítač nemusí stačit jenom novější jádro, aniž bych měnil distribuci nebo verzi distribuce. Například když se stane, že určitá verze Linuxu nepůjde do počítače nainstalovat vůbec, tak těžko můžu doinstalovat nové jádro, když nemám nainstalovaný operační systém; nezbyde potom nic jiného, než si vybrat novější verzi operačního systému, která už nainstalovat půjde. Nebo když do nového počítače nainstaluji určitou verzi operačního systému a nebude fungovat grafická karta. Mohlo by se to sice obejít bez instalace novějšího operačního systému a stačilo by doinstalovat jenom novější jádro, které už ovladač k moji grafické kartě má, ale těžko toho docílím, když bez obrazovky na instalaci jádra neuvidím.
Nevidím důvod, proč si balíčky vypalovat na DVD a proč na počítači udržovat starou verzi programůTo je taková pojistka. Jistější pro mě je mít někde schované aplikace, které potřebuji, ikdyž časem třeba i zastarají. Je to pořád lepší, než potom některý důležitý program nesehnat vůbec, ani v nové, ani staré verzi. Myslím si totíž, že existuje riziko, že v novějších repozitářích může některý program chybět, nebo může být některý program zkažený. Doufejme ale, že to není moc pravděpodobné.
Rozlišujte pojmy (linuxová) distribuce, Linux (jádro) a také GNU/Linux (operační systém založený na Linuxu (jádro) a softwaru z projektu GNU).
Dále byste si měl nastudovat pojmy jako jsou repozitáře (balíčků), správce balíčků a také obecně, co je balíček...
Nemá smysl se s váma o něčem bavit, dokud nebudete znát tyto a další pojmy!
Asi jsem se celou dobu blbě vyjadřoval: Distribuci Linuxu jsem myslel to, jestli je to Mandriva nebo Ubuntu nebo RedHat a tak dále. Verzemi Linuxu jsem myslel to, jak nová je distribuce, například jestli Mandriva Linux 2008.0 nebo 2010.1 a podobně. Potom nevím, jak jsem tyto věci měl správně vyjádřit.
Jaktože nevím, co jsou to balíčky, co jsou to repozitáře, co je správce balíčků. Co asi celou dobu používám. To, že vypadá, že nerozumím základním pojmům, bude asi tím, že že si vymýšlím přehnané požadavky na operační systém a neumím pořádně vysvětlit, o co se mi jedná.
PS. Jak vidím tak linux není pro tebe - pořiď si ten zázračný OS co umí všechny tvoje požadavky, já ale takový OS neznám.
Pochopil jsem, že vůbec žádný operační systém není pro mě, ani celý počítač. Proto udělám nejlépe, když se na počítače vykašlu úplně, měl jsem to udělat dávno.
Rozhodně nenastane případ, že byste si do počítače mohl nainstalovat Mandrivu 2008, ale Mandriva 2007 by tam nešla. Může to nastat pro verze distribucí vzdálené třeba 10 let
To je nesmysl. Když si vezmete těch jedenáct po sobě jdoucích verzí z jednotlivých let, tak pokud to na začátku nejde a na konci ano, musí někde existovat bod, kde verze n nejde a n+1 ano.
./configure --prefix="path"
zadate relativní cestu dopadne to většinou špatně. Předělat to na adresářový baliček vidím jako nerealizovatelné a tady neudržovatelné, jaké knihovny budou sdílené a jaké si baličky budou vozit sebou.
a z hlediska spolupráce starých programů s novým jádem problémy nejsou. tedy když jsou dobře kompilovany. Tím myslím, že program si linkuje knihovnu např. libwx_base_xml-2.8.so.0
což je stabilní odkaz a ne libwx_base_xml-2.8.so.0.6.0
, což je aktuální knihovna o dva řády verzí níže. Když linkuje tu druhou tak je samozřejmě problém. A druhá vec je rozhodnutí
jestli chci preferovat konzervativní distribuce, které mají pomalý cyklus ale je tam nižší pravděpodobnost regresí nekompatibilit a problémů a nebo být vice na hraně a mít nové verze.
Na druhou stranu máte-li sadu nutných programů, které potřebujete, je nejjednodušší je mít ve zdroji
jako tar.gz a dokompilovat, kde je potřeba. v delším časovém profilu se to ale stejné týká jen
programů pro konsoli. V současnosti například programy ve zdrojovém kódu pro KDE 3.x do 4 bez úprav nezkompilujete. A kdoví jak to bude s Gnome 3?
Pro novější počítač nemusí stačit jenom novější jádro, aniž bych měnil distribuci nebo verzi distribuce.Situace je trochu komplikovanejsi. Kdykoliv Vam nebude stacit jenom jadro, neexistuje sance jak prenest spustitelne soubory. Toto nelze provest v podste pouze pri zmene architektury pocitace. Pokud architektura zustava, staci pouze zmenit jadro a muzete instalovat treba 100 let stary sw, je velice pravdepodobne ze se Vam instalace nezadari z originalniho media, musel by jste si jej upravit (pridat novejsi jadro) coz ale neni akce schudna pro uplneho zacatecnika.
Myslím si totíž, že existuje riziko, že v novějších repozitářích může některý program chybět, nebo může být některý program zkažený.Ohledne dostupnosti software v repository: ano existuje sance ze software, ktery pouzivate nemusi byt v nekterem z nasledujicich release, ale je velmi mala, v podstate to znamena, ze autori distribuce usoudili, ze jej jiz nikdo nepouziva a nebo je jeho pouzivani nebezpecne. (V prvnim pripade Vam jej na pozadani jiste do distribuce vrati, ve druhem by to byla silenost.) Pokud po zalohovani sw i tak zatouzite, doporucuji vypalit baliky vcetne zavyslosti, nemel by byt problem je nainstalovat i v pozdejsi verzi distribuce za predpokladu ze bude zachovana architektura jak jsem zminoval vyse. K tomuto vsak opet potrebujete jiste znalosti o balikovacim systemu, jelikoz se nejedna o uzivatelskou akci (zde je treba zduraznit ze vsechni UNIX a UNIXlike systemy, mozna s vyjimkou OSX, nepovazuji, narozdil od MS produktu instalaci SW za uzivatelskou akci, jelikoz i instalace toho nejtrivialnejsiho programu muze mit fatalni dusledky) Ohledne Vaseho puvodni dotazu:
Jestli by si ale knihovny, na kterých hlavní balík závisí, nevadily s knihovnama obsaženýma v te pozdější verzi distribuce.
Do toho zachování architektury patří to, aby jsme nezaměňovali 32 bitové za 64 bitové, nebo do toho patří více věcí?
Jestli by si ale knihovny, na kterých hlavní balík závisí, nevadily s knihovnama obsaženýma v te pozdější verzi distribuce.To by nemel byt problem, v podstate, pokud distribuce bude obsahovat novejsi verzi knihovny nebude treba starou ani instalovat, protoze knihovny jsou zpetne kompatibilni
Do toho zachování architektury patří to, aby jsme nezaměňovali 32 bitové za 64 bitové, nebo do toho patří více věcí?Pokud uvazujete nad architekturou x86, tak x86 na x86_64(amd64) spustit v omezene mire lze ale je mozne, ze v budoucnu se mainstreamova architektura osobnich pocitacu zmeni, napr arm, itanium atp.
Pokud budete používat "rolling-release" distribuci, tak se vyhnete problému upgradu ze starší verze distribuce na novější. Např. Arch Linux používá "rolling-release model".
Tiskni Sdílej: