Problémy s linuxem: Porovnání verzí

Z ZděchovNET
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
Bez shrnutí editace
 
(Není zobrazeno 5 mezilehlých verzí od stejného uživatele.)
Řádek 5: Řádek 5:
* '''Pomalé vykreslování GUI''' - Grafický systém X11 možná za dlouhou dobu své existence prodělal mnoho vylepšení a optimalizací. Přesto je stále výkon a odezva GUI aplikací na Linuxu citelně horší než na Windows na stejném počítači. X11 je však koncipován jako síťový server s podporou pro přenos po síti, který však na většině počítačů využíván pouze místně. Pak logicky nemůže být tak rychlý jako jiné GUI, které pracuje s přímým vykreslováním.
* '''Pomalé vykreslování GUI''' - Grafický systém X11 možná za dlouhou dobu své existence prodělal mnoho vylepšení a optimalizací. Přesto je stále výkon a odezva GUI aplikací na Linuxu citelně horší než na Windows na stejném počítači. X11 je však koncipován jako síťový server s podporou pro přenos po síti, který však na většině počítačů využíván pouze místně. Pak logicky nemůže být tak rychlý jako jiné GUI, které pracuje s přímým vykreslováním.
* '''Roztříštěnost''' - Díky open source povaze systému a aplikací existuje příliš mnoho různých variant a odvozenin a uživatel tak nemá žádné standardní rozhraní, které by se mohl naučit a zvyknout si na něj. Přitom i v případě open source může dojít při vývoji ke špatným rozhodnutím, které tuto situaci ještě podporují. Za všechny lze zmínit např. KDE 4, GNOME 3 nebo Unity, kde se vývojáři zaměřují na určitá vylepšení, ale zároveň kazí již funkční, zažité a ověřené funkce.
* '''Roztříštěnost''' - Díky open source povaze systému a aplikací existuje příliš mnoho různých variant a odvozenin a uživatel tak nemá žádné standardní rozhraní, které by se mohl naučit a zvyknout si na něj. Přitom i v případě open source může dojít při vývoji ke špatným rozhodnutím, které tuto situaci ještě podporují. Za všechny lze zmínit např. KDE 4, GNOME 3 nebo Unity, kde se vývojáři zaměřují na určitá vylepšení, ale zároveň kazí již funkční, zažité a ověřené funkce.
* '''Textové konfigurační soubory''' - Na Linuxu se většinou používají pro uchování nastavení systému a aplikací textové konfigurační soubory umístěné v různých adresářích s mnoha různými podivnými vnitřními formáty. Díky tomu je prakticky nemožné jednotně pracovat s nastavením pro pomocné aplikace a uživatelé se musí učit různé struktury konfigurace pro různé aplikace. Neexistuje zde jednotné API pro uchování konfigurace jako jsou např. registry ve Windows. Velký problém pak vzniká také při povýšení aplikací, kdy nelze jednoduše povýšit konfigurační soubor, pokud jej uživatel měnil.
* '''Těsné linkování knihoven''' - Na platformě Linux je nutné knihovny vázat k programům těsnou vazbou, což vede k časté nutnosti znovupřeložení a sestavování mnoha aplikací. Nové aplikace nelze jednoduše spouštět se starými knihovnami. Při sestavení je potřeba mít dané knihovny a nestačí znát je samotné rozhraní knihoven. Také díky nejednotě a pohodlnosti programátorů mnoho open source programů je nutné instalovat ručně pomocí příkazů terminálu a překládat je na počítači místo jednoduché instalace již přeložených binárních souborů.
* '''Těsné linkování knihoven''' - Na platformě Linux je nutné knihovny vázat k programům těsnou vazbou, což vede k časté nutnosti znovupřeložení a sestavování mnoha aplikací. Nové aplikace nelze jednoduše spouštět se starými knihovnami. Při sestavení je potřeba mít dané knihovny a nestačí znát je samotné rozhraní knihoven. Také díky nejednotě a pohodlnosti programátorů mnoho open source programů je nutné instalovat ručně pomocí příkazů terminálu a překládat je na počítači místo jednoduché instalace již přeložených binárních souborů.
* '''Zpětná kompatibilita OS''' - Na systémech jako Windows lze i v nejnovějších verzích spouštět mnoho let staré aplikace pro dřívější verzi OS. Toto je zajištěno díky tomu, u systému je definováno co je pro danou verzi OS standard. Co mají všechny instalace této verze stejné. Pak v další verzi toto výrobce zachová jako zpětně kompatibilní vrstvu a funkčnost aplikací je zachována. V případě Linuxových distribucí se na toto vůbec nehledí a jsou vydávány jen aktuální stabilní verze, takže výrobci software nejsou schopni udržovat funkční verze svých aplikací pro mnoho verzí dané distribuce a mnoho různých distribucí obecně.
* '''Zpětná kompatibilita OS''' - Na systémech jako Windows lze i v nejnovějších verzích spouštět mnoho let staré aplikace pro dřívější verzi OS. Toto je zajištěno díky tomu, u systému je definováno co je pro danou verzi OS standard. Co mají všechny instalace této verze stejné. Pak v další verzi toto výrobce zachová jako zpětně kompatibilní vrstvu a funkčnost aplikací je zachována. V případě Linuxových distribucí se na toto vůbec nehledí a jsou vydávány jen aktuální stabilní verze, takže výrobci software nejsou schopni udržovat funkční verze svých aplikací pro mnoho verzí dané distribuce a mnoho různých distribucí obecně.
Řádek 13: Řádek 14:
* '''Balíčkovací systémy''' - ač myšlenka je to velmi dobrá, tak provedení je často dosti pochybné. Instalace pomocí balíčků je často dosti krkolomná, trvá dlouho, vzniká zde mnoho problémů se závislostmi a grafické správcovské aplikace jsou podivné a pomalé. Běžným uživatelům jsou vnucovány podivné názvy balíčků a jejich technické údaje. Pomocí balíčků lze instalovat aplikace z internetu, ale i když instalační rozhraní je pak jednotné, tak provedení a samotný vzhled je dosti blbě zpracovaný. Dále tyto systémy většinou počítají pouze s jednou verzí či obecně instancí aplikace nebo balíčků obecně v celém počítači. Toto omezení však je nepraktické a systémy jako Windows umožňují zpravidla instalovat program vícekrát např. v různých verzích do odlišných složek bez vzniku nějakých kolizních situací.
* '''Balíčkovací systémy''' - ač myšlenka je to velmi dobrá, tak provedení je často dosti pochybné. Instalace pomocí balíčků je často dosti krkolomná, trvá dlouho, vzniká zde mnoho problémů se závislostmi a grafické správcovské aplikace jsou podivné a pomalé. Běžným uživatelům jsou vnucovány podivné názvy balíčků a jejich technické údaje. Pomocí balíčků lze instalovat aplikace z internetu, ale i když instalační rozhraní je pak jednotné, tak provedení a samotný vzhled je dosti blbě zpracovaný. Dále tyto systémy většinou počítají pouze s jednou verzí či obecně instancí aplikace nebo balíčků obecně v celém počítači. Toto omezení však je nepraktické a systémy jako Windows umožňují zpravidla instalovat program vícekrát např. v různých verzích do odlišných složek bez vzniku nějakých kolizních situací.
* '''Komprese souborů''' - u Linuxových systémů jsou doporučené komprimační formáty tar.gz, tar.gz2, tar.bz2, tar.xz. Všechny tyto formáty však trpí jednou zásadní koncepční vadou. Tou je, že komprese je provedena dvoufázově, nejprve se všechny soubory a adresáře spojí do jednoho souboru pomocí nástroje tar a až následně se takto vzniklý soubor komprimuje. To má dvě zásadní nevýhody, které se projeví především u větších archívů. Jednak je potřeba mít na disku při kompresi/dekompresi místo pro sloučený soubor (o velikosti nekomprimovaných dat) a pak taky nelze procházet obsah archívu bez nutnosti jej celý dekomprimovat což je pomalé. Tímto nedostatkem netrpí formáty zip, rar či 7zip.
* '''Komprese souborů''' - u Linuxových systémů jsou doporučené komprimační formáty tar.gz, tar.gz2, tar.bz2, tar.xz. Všechny tyto formáty však trpí jednou zásadní koncepční vadou. Tou je, že komprese je provedena dvoufázově, nejprve se všechny soubory a adresáře spojí do jednoho souboru pomocí nástroje tar a až následně se takto vzniklý soubor komprimuje. To má dvě zásadní nevýhody, které se projeví především u větších archívů. Jednak je potřeba mít na disku při kompresi/dekompresi místo pro sloučený soubor (o velikosti nekomprimovaných dat) a pak taky nelze procházet obsah archívu bez nutnosti jej celý dekomprimovat což je pomalé. Tímto nedostatkem netrpí formáty zip, rar či 7zip.
* '''Swap oddíl''' - Standardně je pro odkládací prostor na disku při nedostatku paměti používán na Linuxu diskový oddíl. Přitom mnohem výhodnější by bylo pro odkládání používat soubor umístěný v souborovém systému, který by bylo možné dynamicky měnit podle potřeby. To je důležité obzvláště v dnešní době, kdy v počítači může být např. 16 GB paměti, ale swap není potřeba žádný nebo jen malý. Přitom pro hibernaci je potřeba swap až ve velikosti paměti. Používání swapu pro hibernaci je zřejmý nesmysl. Linux nepodporuje tzv. hibernační soubor. Linux sice podporuje swap v souboru, ale nastavení je komplikované a většina Linuxových distribucí toto automaticky nevyužívá.
* '''Nelze instalovat aplikace běžnými uživateli''' - Pro instalaci aplikací je potřeba oprávnění uživatele root což je principiálně naprosto zbytečné pro aplikace. Ovšem linuxové balíčkovací systémy jsou instalovány většinou pod root uživatelem a soubory balíčků jsou instalovány do celého souborového systému, takže to prostě bez root uživatele nejde. Ale podobně jako třeba u systému Android, tak aplikace by neměly být systémové balíčky, ale jednoduše oddělené aplikace s omezeným oprávněním, které může snadné instalovat každý uživatel.
* '''Roztříštěnost spustitelných souborů''' - Linuxové distribuce podporují většinou mnoho různých spustitelných souborů a jejich interpretrů či virtuálních strojů jako bash, perl, python, java, php, aj. Problém je ale ten, že i v rámci standardních instalovaných souborů a aplikací se musí tyto interpretry instalovat a aktualizovat a zabírají tak zbytečně místo na disku, čas pro instalaci a aktualizace a také operační paměť. Přitom efektivní a jednotný systém by měl používat pouze jeden druh spustitelných souborů. A neměly by to být ani pomalé skriptovací jazyky.

==Související==

* [http://www.csf.ac.at/fileadmin/user_upload/BioComp/training/unix_haters_handbook.pdf The UNIX-HATERS Handbook]
* [http://nakamotoinstitute.org/static/docs/taoup.pdf The Art of Unix Programming (Eric Steven Raymond)]
* [http://linuxfonts.narod.ru/why.linux.is.not.ready.for.the.desktop.current.html Major Linux Problems on the Desktop or Why Linux is not (yet) Ready for the Desktop, 2015 edition]
* [https://www.reddit.com/r/linux/comments/3rzwkg/a_long_list_of_frustrations_and_suggestions_linux/ A long list of frustrations and suggestions - Linux on the desktop is a mess]


[[Kategorie:Linux]]
[[Kategorie:Linux]]

Aktuální verze z 1. 1. 2019, 20:44

  • Používání terminálu - Uživatel je často nucen jít do terminálu a operace, které by byly pomocí GUI intuitivní, snadné a rychlé, musí provádět složitě v textovém příkazovém řádku a musí si pamatovat mnoho příkazů.
  • Nastavení systému - Ve většině distribucí chybí ucelený a podrobný systém nastavení počítače. Podobně jako "Ovládací panely" ve Windows. V mnoha distribucích stále chybí třeba nástroj pro výběr grafického ovladače a nastavení X11. Také neexistují ucelený systém pro ukládání nastavení systému a aplikací podobně jako registry Windows. Nelze jednoduše si vytvořit zálohu nastavení počítače a toto nastavení pak zpětně přenést na jiný počítač.
  • Nesvobodné grafické ovladače - Dlouhodobé problémy s nesvobodnými binárními grafickými ovladači a nevyřešené svobodné ovladače pro karty ATI a Nvidia. Pokud nejdou instalovány jako podporované balíčky distribuce, tak při následující aktualizaci jádra pravděpodobně přestanou fungovat
  • Adresářová struktura - Komplikovaná a pro lidi neintuitivní adresářová struktura. Samotný operační systém by měl být umístěn pouze v jedné složce a ne rozházený po celé adresářové struktuře. Virtuální souborový (zařízení jako soubory, nastavení kernelu jako soubory) systém se možná zdál dříve jako zjednodušení a výhoda, ale v dnešní době je to jen nepraktická komplikace co vše spíše komplikuje a znepřehledňuje.
  • Pomalé vykreslování GUI - Grafický systém X11 možná za dlouhou dobu své existence prodělal mnoho vylepšení a optimalizací. Přesto je stále výkon a odezva GUI aplikací na Linuxu citelně horší než na Windows na stejném počítači. X11 je však koncipován jako síťový server s podporou pro přenos po síti, který však na většině počítačů využíván pouze místně. Pak logicky nemůže být tak rychlý jako jiné GUI, které pracuje s přímým vykreslováním.
  • Roztříštěnost - Díky open source povaze systému a aplikací existuje příliš mnoho různých variant a odvozenin a uživatel tak nemá žádné standardní rozhraní, které by se mohl naučit a zvyknout si na něj. Přitom i v případě open source může dojít při vývoji ke špatným rozhodnutím, které tuto situaci ještě podporují. Za všechny lze zmínit např. KDE 4, GNOME 3 nebo Unity, kde se vývojáři zaměřují na určitá vylepšení, ale zároveň kazí již funkční, zažité a ověřené funkce.
  • Textové konfigurační soubory - Na Linuxu se většinou používají pro uchování nastavení systému a aplikací textové konfigurační soubory umístěné v různých adresářích s mnoha různými podivnými vnitřními formáty. Díky tomu je prakticky nemožné jednotně pracovat s nastavením pro pomocné aplikace a uživatelé se musí učit různé struktury konfigurace pro různé aplikace. Neexistuje zde jednotné API pro uchování konfigurace jako jsou např. registry ve Windows. Velký problém pak vzniká také při povýšení aplikací, kdy nelze jednoduše povýšit konfigurační soubor, pokud jej uživatel měnil.
  • Těsné linkování knihoven - Na platformě Linux je nutné knihovny vázat k programům těsnou vazbou, což vede k časté nutnosti znovupřeložení a sestavování mnoha aplikací. Nové aplikace nelze jednoduše spouštět se starými knihovnami. Při sestavení je potřeba mít dané knihovny a nestačí znát je samotné rozhraní knihoven. Také díky nejednotě a pohodlnosti programátorů mnoho open source programů je nutné instalovat ručně pomocí příkazů terminálu a překládat je na počítači místo jednoduché instalace již přeložených binárních souborů.
  • Zpětná kompatibilita OS - Na systémech jako Windows lze i v nejnovějších verzích spouštět mnoho let staré aplikace pro dřívější verzi OS. Toto je zajištěno díky tomu, u systému je definováno co je pro danou verzi OS standard. Co mají všechny instalace této verze stejné. Pak v další verzi toto výrobce zachová jako zpětně kompatibilní vrstvu a funkčnost aplikací je zachována. V případě Linuxových distribucí se na toto vůbec nehledí a jsou vydávány jen aktuální stabilní verze, takže výrobci software nejsou schopni udržovat funkční verze svých aplikací pro mnoho verzí dané distribuce a mnoho různých distribucí obecně.
  • Nedokonalý systém oprávnění - Možnosti nastavení oprávnění u souborového systému jsou dosti omezené a jsou spíše jako přežitek z dob dávno minulých. Není podporováno pokročilé nastavení práv typu ACL(Access Control List), ale jen zastaralá unixová POSIX norma s právy čtení/zápis/spuštění pro vlastníka/skupinu/ostatní.
  • Skryté soubory - jsou řešeny v Linuxu pomocí tečky v začátku názvu. Logicky toto nemá v názvu co dělat a měl by to být samostatný atribut souboru. Mimo to mnoho programů ukládá data do skrytých podsložek v domovské složce a při zobrazení skrytých souborů je složka dosti zaplněná skrytými podsložkami.
  • Prohnilý základ - Linux je postaven na možná léty osvědčeném, ale zároveň velmi zastaralém základě vycházejícím s obstarožních unixových systému. Zatímco platformy jako Windows či OSX jsou průběžně vylepšovány i v základu a přepracovány do modernější podoby, Linux se drží starého konceptu, na kterém se snaží stavět pěkně se tvářící grafické aplikace. Ovšem stavět hrad v močálu nelze bez toho, aby se kolem stavby neobjevovaly početné problémy.
  • Sdílení souboru - Linuxové distribuce sice nabízí mnoho otevřených programů pro přenosy souborů po síti jako FTP, sambu, SCP, NFS, aj. V praxi však pro běžné uživatel je stále velmi komplikované si nějak snadno nastavit sdílené složky na svém počítači.
  • Balíčkovací systémy - ač myšlenka je to velmi dobrá, tak provedení je často dosti pochybné. Instalace pomocí balíčků je často dosti krkolomná, trvá dlouho, vzniká zde mnoho problémů se závislostmi a grafické správcovské aplikace jsou podivné a pomalé. Běžným uživatelům jsou vnucovány podivné názvy balíčků a jejich technické údaje. Pomocí balíčků lze instalovat aplikace z internetu, ale i když instalační rozhraní je pak jednotné, tak provedení a samotný vzhled je dosti blbě zpracovaný. Dále tyto systémy většinou počítají pouze s jednou verzí či obecně instancí aplikace nebo balíčků obecně v celém počítači. Toto omezení však je nepraktické a systémy jako Windows umožňují zpravidla instalovat program vícekrát např. v různých verzích do odlišných složek bez vzniku nějakých kolizních situací.
  • Komprese souborů - u Linuxových systémů jsou doporučené komprimační formáty tar.gz, tar.gz2, tar.bz2, tar.xz. Všechny tyto formáty však trpí jednou zásadní koncepční vadou. Tou je, že komprese je provedena dvoufázově, nejprve se všechny soubory a adresáře spojí do jednoho souboru pomocí nástroje tar a až následně se takto vzniklý soubor komprimuje. To má dvě zásadní nevýhody, které se projeví především u větších archívů. Jednak je potřeba mít na disku při kompresi/dekompresi místo pro sloučený soubor (o velikosti nekomprimovaných dat) a pak taky nelze procházet obsah archívu bez nutnosti jej celý dekomprimovat což je pomalé. Tímto nedostatkem netrpí formáty zip, rar či 7zip.
  • Swap oddíl - Standardně je pro odkládací prostor na disku při nedostatku paměti používán na Linuxu diskový oddíl. Přitom mnohem výhodnější by bylo pro odkládání používat soubor umístěný v souborovém systému, který by bylo možné dynamicky měnit podle potřeby. To je důležité obzvláště v dnešní době, kdy v počítači může být např. 16 GB paměti, ale swap není potřeba žádný nebo jen malý. Přitom pro hibernaci je potřeba swap až ve velikosti paměti. Používání swapu pro hibernaci je zřejmý nesmysl. Linux nepodporuje tzv. hibernační soubor. Linux sice podporuje swap v souboru, ale nastavení je komplikované a většina Linuxových distribucí toto automaticky nevyužívá.
  • Nelze instalovat aplikace běžnými uživateli - Pro instalaci aplikací je potřeba oprávnění uživatele root což je principiálně naprosto zbytečné pro aplikace. Ovšem linuxové balíčkovací systémy jsou instalovány většinou pod root uživatelem a soubory balíčků jsou instalovány do celého souborového systému, takže to prostě bez root uživatele nejde. Ale podobně jako třeba u systému Android, tak aplikace by neměly být systémové balíčky, ale jednoduše oddělené aplikace s omezeným oprávněním, které může snadné instalovat každý uživatel.
  • Roztříštěnost spustitelných souborů - Linuxové distribuce podporují většinou mnoho různých spustitelných souborů a jejich interpretrů či virtuálních strojů jako bash, perl, python, java, php, aj. Problém je ale ten, že i v rámci standardních instalovaných souborů a aplikací se musí tyto interpretry instalovat a aktualizovat a zabírají tak zbytečně místo na disku, čas pro instalaci a aktualizace a také operační paměť. Přitom efektivní a jednotný systém by měl používat pouze jeden druh spustitelných souborů. A neměly by to být ani pomalé skriptovací jazyky.

Související