Portál AbcLinuxu, 2. května 2025 06:00
Dnešní díl bude věnován systému Klik. Jak už jeho název napovídá, aplikace jsou instalovány a spouštěny jediným kliknutím na speciální webové stránce.
Klik je centralizovaný systém. Aplikace jsou v komprimovaném souborovém systému, takže uživateli stačí kliknout na URL a prohlížeč stáhne a spustí danou aplikaci. Na rozdíl od předešlého autopackage se zde nekopíruje do stávajícího systému, není potřeba mít práva roota a odinstalace znamená smazání jednoho souboru. Balíčky jsou cramfs
obrazy, které jsou připojeny přes loopback. Pokud aplikace skončí, obraz je odpojen. Balíčky jsou automaticky tvořeny z repozitáře Debianu Sarge, což znamená, že v „klikací“ verzi je téměř vše, co je k dispozici v Debianu. Tím pádem se Klik bezkonkurenčně dostal na první místo v počtu dostupných balíčků a navíc tak dokonce předstihl některé nativní balíčkovací systémy. Podstatné je, že je požadavek na sestavení balíčku sice generován webovou službou, ale stažení i transformace probíhá na uživatelově domácím počítači.
Tento systém vyvíjejí čtyři vývojáři, kteří jsou vesměs z Německa. Počet dostupných balíčků není v tomto případě dobrým měřítkem, protože, jak bylo řečeno dříve, vývojáři dokáží balíčky generovat automaticky z repozitáře Debianu Sarge, který obsahuje přes 17 500 balíčků. Navíc je tímto způsobem dostupný některý proprietární software jako například Acroread, Opera, Skype nebo Picasa.
Vývojáři se v současné době zabývají vylepšením technického řešení, které není dobré. Uvažuje se o přesunu z cramfs
a loopbacku na FUSE, které by mohlo vyřešit současné nejpalčivější potíže. Dále je v plánu přidat podporu pro kryptografické ověření a vytvoření robustního ABI. Navíc plánují jistou formu spolupráce se stávajícími distribučními nástroji a chtěli by dosáhnout toho, že by byl Klik v existujících distribucích obsažen přímo.
Vývojáři trvají na základním konceptu instalování softwaru kliknutím, přičemž celý proces nijak nezasáhne stávající systém. Díky tomu mohou uživatelé instalovat aplikace bez obav, že si svůj systém nějakým způsobem poškodí. Na druhou stranu má tento způsob několik nevýhod. Protože nemá žádného správce balíčků, není možné říct, kolik klik balíčků dříme v systému. Správci potom nemají snadnou cestu, jak udělat audit systému. Současné řešení používající loopback má nevýhodu v tom, že je jejich počet omezen. Navíc, pokud správce používá například cryptoloop, jejich počet je ještě menší. Uživatelé nemají rádi systém, který jim umožňuje spustit pouze 8 nebo ještě méně aplikací současně. Navíc je loopback pomalejší než přímý přístup na disk. Plánovaný přechod na FUSE by mohl daný problém vyřešit, ale stejně by taková izolace mohla znamenat jisté výkonové potíže a Klik asi nebude nikdy vhodný pro aplikace typu Apache nebo PostgreSQL.
Instalace systému je velice jednoduchá. Stačí napsat jako uživatel (tedy ne root):
wget klik.atekon.de/client/install sh install
Pokud nemáte spuštěný prohlížeče z rodiny Mozilla, vyskočí varovná hláška:
Jako uživatel Konqueroru jsem se ji rozhodl ignorovat a pokračovat instalací, jenže ta se sestávala už jen ze druhého dialogu:
Nutné tedy ještě bylo spustit příkaz
su -c '/bin/sh ~user/klik-cmg-install-root'
pro editaci /etc/fstab
, kde se objeví hromada záznamů typu
/tmp/app/1/image /tmp/app/1 cramfs,iso9660 user,noauto,ro,loop,exec 0 0
potvrzující úspěšnou instalaci do systému. Do systému se nainstaloval skript $HOME/.klik
, který obsluhuje registrované kio (pro Konqueror) obsluhující pseudoprotokol klik://
a $HOME/.zAppRun
, který slouží ke spouštění stažených obrazů.
Samotné používání systému tak pohodlné není (rozhodně ne tak pohodlné, jako konzolová instalace bez otravného procházení webu), ale jak se říká it's not a bug, it's a feature anebo proti gustu... Ovšem web projektu jaksi nefunguje, takže když jsem hledal Inkscape, nenacházel se v žádné ze tří sekcí a vyhledávání mělo zrovna dovolenou. Naštěstí mi vše potřebné našel google
Zkusil jsem tedy stáhnout a nainstalovat Inkscape. Po kliknutí na odkaz se zobrazí varování prohlížeče:
následované výpisem závislostí, které se budou stahovat:
Po automatickém spuštění Inkscape a jeho ukončení se zobrazí dialog pro získání zpětné vazby. Ten se zobrazuje pouze při prvním spuštění, takže se uživatel nemusí obávat toho, že by byl neustále otravován.
Stažené obrazy se kopírují na plochu a spouští kliknutím na příslušnou ikonu. Ovšem uživatel ze svého nadšení lehce vystřízliví poté, co zjistí, že je omezen pouze na 7 zároveň spuštěných aplikací (nebo instancí jedné aplikace).
Instalace systému (mimo nezbytné asociace MIME typů a speciální položky v menu prostředí) do domovského adresáře zkopíruje dva soubory: .klik
a .zAppRun
. První z nich má za úkol provádět instalaci nových položek do systému, což znamená, že nastavuje prohlížeče tak, aby po spuštění odkazu s pseudoprotokolem klik://
spustily právě tento obslužný skript. Pro Konqueror je to zajištěno souborem $(HOME)/.kde/share/services/klik.protocol
# klik 0.2 # helper protocol for konqueror to send klicks to the klik script # by probono [Protocol] exec=/home/michal/.klik '%u' protocol=klik input=none output=none helper=true listing=false reading=false writing=false makedir=false deleting=false icon=package Description=klik
Pro Mozillu je nutné do souboru user.js
v adresáři s profilem napsat
user_pref("network.protocol-handler.app.klik", "~/.klik");
Klik potom stáhne z http://134.169.172.48/atp/?package=
potřebný soubor, na který odkazuje URL. Pozor, stránka kontroluje řetězec user agent, proto je nutné připojit i parametr -U "klik 0.1.3cli"
a zpět dostanete automaticky vygenerovaný skript, který zajistí stažení potřebných závislostí a podobně.
Skript .zAppRun
:
/tmp/app/[1-7]
a v případě úspěchu jej vytvoří./tmp/app/n/image
.tty
terminál./tmp/app/n/wrapper
.Klik je z uživatelského hlediska poměrně jednoduchý systém pro instalaci softwaru. Prostě stačí kliknout v prohlížeči na odkaz, chvíli počkat a vše je hotovo. Z technického hledika je na tom o něco hůř, protože je omezen počtem volných loopback zařízení a nenabízí žádné služby, na které je člověk zvyklý, jako třeba seznam nainstalovaného softwaru a podobně.
Cim dalej, tym viac nechapem taketo clanky. Viem, ze proste musi byt napisany minimalne jeden clanok za den, ale aby ste pisali o takychto nezmysloch, tak to sa mi zda trochu divne.Já zase nechápu tyhle trapný anonymousy, co maj nějaký svrbění či co a musí se z toho vykecávat, ačkoliv jejich komentář je jeden nesmysl vedle druhého.
V konecnom dosledku uzivatelia, co si precitali clanok zistia, ze klik je neopodstatneny a je s nim viac problemov ako vyhod.Kéž by to tak bylo u většiny článků a recenzí! Kritický článek totiž ušetří vlastní čas a energii, zatímco takový, který jen chválí a problémy nezmiňuje, je vlastně něco jako reklamní leták. Kromě toho, ti co umí číst, na rozdíl od nějakých ubrblaných anonymousů, zjistí z tohoto článku úplně něco jiného (nemluvě o tom, že jde o díl v tématicky zaměřeném seriálu).
abclinuxu.cz sa tymto dostava na uplne iny level (nizsi). Dobry clanok som tu necital uz hodnu chvilku. Kazdopadne prajem vela novych a dobrych clankov.Já zase přeju daleko míň podobných anonymousů, co si nevidí do huby (do klávesnice) a stahují úroveň zdejší čtenářské komunity na úplně jiný level :-/
.pkg
), nebo nakopírováním adresáře tvářícího se jako soubor (přípona .app
) do adresáře /Applications
(či kamkoliv jinam, je to vcelku jedno), podstatné každopádně je, že aplikace se jako jediný soubor pouze tváří a i v „obyčejném“ Finderu lze přes volbu Show Package Content
zobrazit „obsah aplikace“, či jak to lépe říci. Omluvte můj amatérský výklad, s Mackem nepracuji dlouho #!/bin/bash # Klik sudo apt-get install "$1" && exec "$1"
Takhle musí člověk umět příkazy na každý balíčkovač zvlášť. Opět to odpovídá tomu, jak ten náš Linux máme hezky roztříštěnýStačí když člověk umí příkazy balíčkovače svého operačního systému (= distribuce). Proč by měl umět příkazy od těch jiných, které nepoužívá? A proč by měl používat mermomocí těch systémů víc než jeden (a navrch chtít, aby v tom případě byly vlastně všechny stejné)?
A proč by měl používat mermomocí těch systémů víc než jeden (a navrch chtít, aby v tom případě byly vlastně všechny stejné)?Protože se mi doma líbí vrtat v Archu, v práci ovšem dělám na RedHatu a teď ještě spravuji servery s Debianem (který jsem zdědil) pro naše zájmové sdružení, ale známým dávám Mandrivu, nebo OpenSuse, protože mají mcc a Yast?
Ano, pokud se to ovšem líbí, vrtat se (tj. být mj. správcem) v různých systémech, tak není jaksi na místě si stěžovat, že tyto různé systémy (včetně správce balíčků) nejsou stejné. Nota bene když je ještě jako v původním povzdechu řeč o běžném uživateliA proč by měl používat mermomocí těch systémů víc než jeden (a navrch chtít, aby v tom případě byly vlastně všechny stejné)?Protože se mi doma líbí vrtat v Archu, v práci ovšem dělám na RedHatu a teď ještě spravuji servery s Debianem (který jsem zdědil) pro naše zájmové sdružení, ale známým dávám Mandrivu, nebo OpenSuse, protože mají mcc a Yast?
Nota bene když je ještě jako v původním povzdechu řeč o běžném uživateliOops, to bylo až v reakci, trochu mi to v paměti splynulo. Ale "běžný uživatel" si vybere či dostane nainstalován ten svůj systém a rozdíly mezi distribucemi včetně správce balíčků ho vůbec nemusejí zajímat, to zůstává. Kdo chce být odborníkem přes "Linux", tj. pokud možno co nejvíce linuxových operačních systémů (=distribucí), tak se holt musí něco naučit, stejně jako odborníci v jiných oblastech.
No jistě. A proč tedy vznikají věci jako Autopackage nebo Klik?Důvodů je jistě mnoho. Například bych mezi ně zařadil touhu po snadné distribuci uzavřených komerčních programů zabalených "napevno", Klik se hodí dobře k vyzkoušení programu jen jako uživatel než ho integruju do systému nativním správcem software (jakési "ostré" demo) anebo třeba k tomu, aby si i uživatelé Linuxu mohli přes mail posílat hovadinky, na které stačí kliknout... Ale řeč byla o nutnosti pamatovat si extra příkazy správce balíčků u různých distribucí - to jaksi u grafického rozhraní instalátoru odpadá, ty vypadají v principu všechny stejně a člověk, co se v něm nedokáže orientovat, by opravdu neměl mít k dispozici heslo superuživatele
Ale řeč byla o nutnosti pamatovat si extra příkazy správce balíčků u různých distribucí - to jaksi u grafického rozhraní instalátoru odpadá, ty vypadají v principu všechny stejně a člověk, co se v něm nedokáže orientovat, by opravdu neměl mít k dispozici heslo superuživateleNejde o jejich vzhled. Jde o to, že jsou nadstavbami konzolového programu. A pro každý takovýto program je nutné utvořit novou nástavbu. A to není jeiný problém s tím spojený.
Samozřejmě, že by jistá míra sjednocení byla možná, totiž hned jakmile se různé autonomní vývojářské skupiny konečně shodnou na tom, které to řešení je jako vzor sjednocení nejvhodnější (což dříve budeme mít federální United States of Europe s evropskou vládou a prezidentemS tím nemohu než souhlasit.) ... pokud se nemýlím, tak zrovna správa balíčků bývá jednou z nejčastějších příčin toho, že se kdosi rozhodne vytvořit novou vlastní distribuci, protože konečně přišel na to, že to ostatní dělají špatně a jeho řešení je konečně to správné
![]()
![]()
Jinak bych ty internety raději zakázala.Myslíš Tohle? Jinak by mě zajímalo, jak se takto nainstalovaný SW odinstalovává...
(2) Co kdyz chci instalovat aplikaci vzalene pres ssh bez X? Pujde to?Určitě, sice nikdo zatím integraci kliku do lynxe/linkse nenabízí, ale určitě půjde skript ~/.klik s příslušným parametrem spustit i z konzole. Ale na takovém stroji nevidím pro klik žádné využití.
~/.klik inkscape
(možná by to z toho skriptu chtělo vyckuchat grafické dialogy a dát tam konzolový, to nevím) A navrch přidávám odkaz na návrh standardu pro instalační balíček. Nebo noční můru. Vyberte si.
http://www.w3.org/Submission/2004/04/
a trošku čerstvější zprávy:
Článek o konference která proběhla 4.12.2006 v Berlíně v prostorách SAPu. http://www.linux-watch.com/news/NS4586903228.html
Na této konferenci se sešli přední představitelé balíčkovacích systémů Linuxu se zástupci nezávislých vývojářů (ISV) SW. Mezi závěry, ke kterým dospěli patří:
"Best real-world solution was to construct "a single API (application programming interface) that could be implemented across the various package systems"
Na konferenci v Berlíně byla ustanovena nová pracovní skupina LSB Packaging workgroup http://www.linux-foundation.org/en/Packaging, jejíž cílem je iniciovat a podporovat snahy vedoucí k zjednodušení instalací a správy software třetích stran. Především jde o návrh jednotného API pro univerzální balíčkovací systém.
Tak aspoň přihodím pár info (které tam snad nebyly). I když to není přímo o balíčkování, je to z podobných luhů a hájů.
Domain Task Force (SBC)
Skupina pod organizací OMG -The Object Management Group - Mission is the development of specifications supporting the development, deployment, operation and maintenance of software technology targeted for software defined communication devices. http://sbc.omg.org/
A z že Java nespí:
JSR 88: JavaTM EE Application Deployment
V rámci aktivit Java Specification Requests. This specification provides a complete description of the APIs required by the J2EE platform to enable development of platform-independent deployment tools. http://jcp.org/en/jsr/detail?id=88
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.