Hlavní navigace

AKTUALIZOVANÉ: Greenport - prístav v linuxovom pralese

23. 9. 2008 20:26 (aktualizováno) Stanislav Hoferek

Aktualizované: FTP už nebude verejný, bude sa nahadzovať cez formulár. Možnosť používať skript hocikoho však zostáva. Osobným nahadzovaním zabránim pridávaniu skriptov typu rm -rf /.

Vydanie Greenie 3.1H doprevádza niekoľko ďalších vecí… jedna z nich je Greenport, online galéria skriptov. Rád by som teraz túto službu predstavil, a to hrami – doslovne.

História

Nápad Greenportu sa mi prvý krát zažiarovkoval nad hlavou po tom, čo som videlsnímky obrazovky niektorého BSD. Niečo som o portoch počul, čo to je a ako to funguje, no nezapodieval som sa tým. Aj keď som si uvedomoval, že je to fajn. Taká myšlienka pre vtedy používanú Mandrivu bolo pridať Operu ako port, priamo by sa tak Mandriva vyrábala aj s tým, aby bol v menu odkaz na inštaláciu Opery. Trochu som to domotal, takže… čas na prvý obrázok:

opera

Keďže ale Opera kvôli licenciám nebola defaultne inštalovateľná, toto by tento populárny program nainštalovalo. Len klik, nejaký ten loading a hotovo.

Nápad použitia v Greenie prišiel s vydaním Greenie 2, no bol nerealizovaný. Snažil som sa Greenie dvojku vytuniť rôznymi novinkami, teda ešte väčší experiment ako obvykle, no na toto som si nespomenul. Iné to bolo pri príprave Greenie 3.1H, keď už som malpredstavu o takých pokročilejších veciach, ako je napríklad Alias. Apt-get som si už zjednodušoval, a zistil som, ako veľmi je to flexibilné. Čo takto použiť jednoduchý apt-get ako port? A do greenie… apt-port? apt-greenie? Greenport! To je ono… tak som dal technologicky dokopy pár nápadov, teda s pomocou pár šikuliek, a je to tu. Niečo jednoduché a šikovné… :)

Wo co go?

Skripty. Veľké i malé, osobné i firemné, pre seba i pre iných, pre potešenie i ako všestranná pomôcka. Greenie umožňuje cez ikonku spustiť službu, kde vykoná skript ktorý ste si sami nadefinovali a ktorý sa nachádza na internete. Napíšete iba svoje meno a všetko sa pekne spustí… prichádza logická otázka – čo robí môj skript na internete?

Umiestnenie na internete i na disku má svoje výhody. Výhodou internetu je to, že máte prístup odvšadiaľ. Taktiež je to úplne jednoduché, máte na to klienta. Nevýhodou je bezpečnosť, kvôli ktorej väčšina si povie, že to využívať nebude. Tá bezpečnosť je však veľmi sporná.

Nie každý má totiž záujem škodiť. Niekto by rád všetko pokašlal a niekto práve naopak – by opravoval chyby. Prístup nie je momentálne na heslo, čo má svoje zas výhody a nevýhody. Môže si teda hocikto z nejakého skriptu niečo zobrať, prispôsobiť… alebo si Jozef pustí dobrý Tomášov greenport a nikomu tým neublíži. Ešte si môžu o tom pokecať a viac vylepšiť. Osobne robím tak šablónu, ako aj vlastný Greenport – a v tejto ukážke urobím jeden špecializovaný Greenport fiktívneho používateľa, ktorého bavia napríklad… hry.

Ešte by bolo dobré vedieť, čo ten skript dokáže urobiť. Odpoveď je jednoduchá – čokoľvek. Inštalovať softvér cez apt-get alebo hocijakú inú distribúciu – Gentoo, Slackware, čokoľvek. Stačí si len vymeniť apt-get za čokoľvek – emerge, urpmi, installpkg… okrem inštalácie môže tiež odinštalovať nepotrebné súčasti – to ukážem v ďalšom článku, ktorý bude o zmenšovaní *buntu.

Okrem inštalácie môže slúžiť na opravu nejakých chybičiek, vymenenie sources.list, stiahnutie pozadí či zdrojových kódov niečoho… až po úplne nesúvisiace veci, napríklad zapnutie internetového rádia, priamy odkaz na registráciu e-mail schránky až po kompletné nastavenie systému od A po Z. Taktiež na viackrokovú inštaláciu hier – stiahnutie deb balíkov, nainštalovanie, vyhodenie deb balíkov…

Toľko omáčky, ideme na to!

Spomínal som, že urobím fiktívneho používateľa, ktorý má rád hry. Dám mu meno napríklad… tuxgamer.

Stiahne sa šablóna a odošle po úpravách späť – cez formulár, ktorý je po novom na stránke http://www.greenie.sk/kon­takty/greenport.
Formulár je veľmi jednoduchý, stačí zadať meno, e-mail (nie je nutné) a samotný skript.

Šablónu si podľa pokynov upraví v ľubovoľnom textovom editore. Pôvodná šablóna vyzerá momentálne (16. sept) takto:

## Zakladna sablona. Prosim, mente iba tie riadky, ktore sa NEZACINAJU mriezkami!!! ## Nic odtialto nevyhadzujte…

## Vase programy, ktore sa maju instalovat. Piste ich malymi pismenami, zaradom oddelene len medzerami bez ciarok.
## Piste az za „sudo apt-get install“. Ak ste pokrocily pouzivatel, mozete to vymenit za inu instalacnu metodu.
## Odporucame vacsine pouzivatelov vsak „sudo apt-get install“ nemenit a pred instalaciou obnovit zdroje (sudo apt-get update)…

sudo wget http://www.gnome-look.org/CONTENT/content-files/89378-Wanted%20_sxga.jpg /usr/share/backgrounds_mojepozadie.jpg && sudo apt-get update && sudo apt-get install audacious

## To je nateraz vsetko. Postupne pribudnu dalsie funkcie…

## Tato sablona urobi nasledovne: ## 1) stiahne obrazok z internetu do /usr/share/backgrounds ## 2) obnovi zdroje softveru ## 3) nainstaluje programy (v ukazke audacious)

A takto vyzerá po úpravách fiktívneho používateľa Tuxgamer:

sudo apt-get update && sudo apt-get install supertux frozen-bubble wesnoth*

Úplne jednoduché. No a teraz si to už len spustiť. Ubuntu pochopiteľne na Greenport klienta nemá, tak si ho vytvoríme.

Prvá vec, ktorú potrebujeme, je vytvoriť si nový priečinok v svojom home, a nazvať ho .greenport. Nič viac s ním nebudeme robiť, iba si ho tam vytvoríme a hotovo. Ďalej si stiahneme skript – a uložíme na disk. U mňa sa nachádza v /etc/greenie/greenport. Vy si ho môžete pridať kamkoľvek a nastaviť mu práva. Text skriptu:

#!/bin/sh

SCRIPT=„/tmp/script“

echo „zadaj meno:“

read USER_NAME

wget http://port.greenie.sk/user/$U­SER_NAME/port -O $SCRIPT

chmod u+x $SCRIPT

$SCRIPT

Posledný krok je urobiť si spúšťač niekde na ploche, v menu atď. S príkazom: 

/etc/greenie/greenport

odkaz

Dôležité: nezabudnúť nastaviť „Aplikácia v terminály“ !

 A ak náhodou chodíte do školy… dobre sa naučte lokál, aby ste potom pri prekladaní nerobili chybičky… ako sa to stalo v slovenskom preklade… (poznámka: Správne má byť mäkké i)

Alebo samozrejme s inou adresou, podľa toho, kam ste to dali v minulom kroku. Hotovo. Máme Greenport v Ubuntu. Funguje to jednoducho – spustí sa skript vo vašom PC, ktorý prečíta meno, a spustí zodpovedajúci skript na internete.

Teraz sa idem na svojom PC prihlásiť do Greenportu s menom tuxgamer. Výsledok? Posúďte sami!

root@stano-desktop:/etc/greenie# ./greenport
zadaj meno:
tuxgamer
–20:24:06–  http://port.greenie.sk/user/tux­gamer/port
⇒ `/tmp/script'
Resolving port.greenie.sk… 86.110.225.74
Connecting to port.greenie.sk|86.110.225.74|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 74 [text/plain]

100%[====================­================>] 74     –.–K/s

20:24:06 (8.58 MB/s) – `/tmp/script' saved [74/74]

Už existuje http://sk.archive.ubuntu.com hardy Release.gpg
Získava sa:1 http://sk.archive.ubuntu.com hardy/main Translation-sk [15,4kB]
Ign http://greenie.sk hardy Release.gpg
Už existuje http://archive.canonical.com hardy Release.gpg
Získava sa:2 http://security.ubuntu.com hardy-security Release.gpg [189B]
Ign http://security.ubuntu.com hardy-security/main Translation-sk
Už existuje http://archive.ubuntu.com hardy-proposed Release.gpg
Získava sa:3 http://archive.ubuntu.com hardy-proposed/main Translation-sk [15,1kB]
Ign http://greenie.sk hardy/main Translation-sk
Už existuje http://packages.medibuntu.org hardy Release.gpg
Ign http://security.ubuntu.com hardy-security/restricted Translation-sk
Ign http://security.ubuntu.com hardy-security/universe Translation-sk
Ign http://security.ubuntu.com hardy-security/multiverse Translation-sk
Získava sa:4 http://security.ubuntu.com hardy-security Release [58,5kB]
Ign http://ppa.launchpad.net hardy Release.gpg
Ign http://ppa.launchpad.net hardy/main Translation-sk
Ign http://asher256-repository.tuxfamily.org ubuntu Release.gpg
Ign http://asher256-repository.tuxfamily.org ubuntu/main Translation-sk
Ign http://sk.archive.ubuntu.com hardy/restricted Translation-sk
Získava sa:5 http://sk.archive.ubuntu.com hardy/universe Translation-sk [3454B]
Ign http://sk.archive.ubuntu.com hardy/multiverse Translation-sk
Už existuje http://sk.archive.ubuntu.com hardy-updates Release.gpg
Ign http://sk.archive.ubuntu.com hardy-updates/main Translation-sk
Ign http://sk.archive.ubuntu.com hardy-updates/restricted Translation-sk
Ign http://sk.archive.ubuntu.com hardy-updates/universe Translation-sk
Ign http://sk.archive.ubuntu.com hardy-updates/multiverse Translation-sk
Už existuje http://sk.archive.ubuntu.com hardy-backports Release.gpg
Ign http://sk.archive.ubuntu.com hardy-backports/main Translation-sk
Ign http://sk.archive.ubuntu.com hardy-backports/restricted Translation-sk
Ign http://ppa.launchpad.net hardy Release.gpg
Ign http://ppa.launchpad.net hardy/main Translation-sk
Ign http://asher256-repository.tuxfamily.org ubuntu/dupdate Translation-sk
Ign http://asher256-repository.tuxfamily.org ubuntu Release
Získava sa:6 http://ppa.launchpad.net hardy Release [27,6kB]
Ign http://sk.archive.ubuntu.com hardy-backports/universe Translation-sk
Ign http://sk.archive.ubuntu.com hardy-backports/multiverse Translation-sk
Už existuje http://sk.archive.ubuntu.com hardy Release
Už existuje http://sk.archive.ubuntu.com hardy-updates Release
Už existuje http://sk.archive.ubuntu.com hardy-backports Release
Ign http://archive.ubuntu.com hardy-proposed/restricted Translation-sk
Získava sa:7 http://archive.ubuntu.com hardy-proposed/universe Translation-sk [3264B]
Získava sa:8 http://greenie.sk hardy Release [127B]
Ign http://asher256-repository.tuxfamily.org ubuntu/main Packages
Ign http://packages.medibuntu.org hardy/free Translation-sk
Ign http://archive.ubuntu.com hardy-proposed/multiverse Translation-sk
Už existuje http://archive.ubuntu.com hardy-backports Release.gpg
Ign http://archive.ubuntu.com hardy-backports/main Translation-sk
Ign http://archive.ubuntu.com hardy-backports/restricted Translation-sk
Ign http://archive.ubuntu.com hardy-backports/universe Translation-sk
Ign http://archive.ubuntu.com hardy-backports/multiverse Translation-sk
Už existuje http://archive.ubuntu.com hardy-updates Release.gpg
Ign http://archive.ubuntu.com hardy-updates/main Translation-sk
Ign http://archive.ubuntu.com hardy-updates/restricted Translation-sk
Získava sa:9 http://ppa.launchpad.net hardy Release [27,6kB]
Ign http://asher256-repository.tuxfamily.org ubuntu/dupdate Packages
Ign http://archive.ubuntu.com hardy-updates/universe Translation-sk
Ign http://archive.ubuntu.com hardy-updates/multiverse Translation-sk
Už existuje http://archive.ubuntu.com hardy-proposed Release
Už existuje http://archive.ubuntu.com hardy-backports Release
Už existuje http://archive.ubuntu.com hardy-updates Release
Ign http://archive.canonical.com hardy/partner Translation-sk
Ign http://ppa.launchpad.net hardy/main Packages
Už existuje http://sk.archive.ubuntu.com hardy/main Packages
Ign http://greenie.sk hardy/main Packages
Už existuje http://sk.archive.ubuntu.com hardy/restricted Packages
Už existuje http://sk.archive.ubuntu.com hardy/universe Packages
Už existuje http://sk.archive.ubuntu.com hardy/multiverse Packages
Už existuje http://sk.archive.ubuntu.com hardy-updates/main Packages
Už existuje http://sk.archive.ubuntu.com hardy-updates/restricted Packages
Už existuje http://sk.archive.ubuntu.com hardy-updates/universe Packages
Už existuje http://sk.archive.ubuntu.com hardy-updates/multiverse Packages
Už existuje http://sk.archive.ubuntu.com hardy-backports/main Packages
Už existuje http://archive.canonical.com hardy Release
Ign http://packages.medibuntu.org hardy/non-free Translation-sk
Ign http://ppa.launchpad.net hardy/main Packages
Už existuje http://asher256-repository.tuxfamily.org ubuntu/main Packages
Už existuje http://greenie.sk hardy/main Packages
Už existuje http://sk.archive.ubuntu.com hardy-backports/restricted Packages
Už existuje http://sk.archive.ubuntu.com hardy-backports/universe Packages
Už existuje http://sk.archive.ubuntu.com hardy-backports/multiverse Packages
Už existuje http://archive.ubuntu.com hardy-proposed/main Packages
Už existuje http://ppa.launchpad.net hardy/main Packages
Už existuje http://asher256-repository.tuxfamily.org ubuntu/dupdate Packages
Už existuje http://archive.ubuntu.com hardy-proposed/restricted Packages
Už existuje http://archive.ubuntu.com hardy-proposed/universe Packages
Už existuje http://ppa.launchpad.net hardy/main Packages
Získava sa:10 http://security.ubuntu.com hardy-security/main Packages [58,6kB]
Už existuje http://packages.medibuntu.org hardy Release
Už existuje http://archive.ubuntu.com hardy-proposed/multiverse Packages
Už existuje http://archive.ubuntu.com hardy-backports/main Packages
Už existuje http://archive.ubuntu.com hardy-backports/restricted Packages
Už existuje http://archive.ubuntu.com hardy-backports/universe Packages
Už existuje http://archive.ubuntu.com hardy-backports/multiverse Packages
Už existuje http://archive.canonical.com hardy/partner Packages
Už existuje http://archive.ubuntu.com hardy-updates/main Packages
Už existuje http://archive.ubuntu.com hardy-updates/restricted Packages
Už existuje http://archive.ubuntu.com hardy-updates/universe Packages
Už existuje http://archive.ubuntu.com hardy-updates/multiverse Packages
Získava sa:11 http://security.ubuntu.com hardy-security/restricted Packages [6636B]
Získava sa:12 http://security.ubuntu.com hardy-security/universe Packages [31,2kB]
Získava sa:13 http://security.ubuntu.com hardy-security/multiverse Packages [8222B]
Už existuje http://packages.medibuntu.org hardy/free Packages
Už existuje http://packages.medibuntu.org hardy/non-free Packages
201kB sa stiahlo za 0s (209kB/s)
Načítavajú sa zoznamy balíkov… Hotovo
Načítavajú sa zoznamy balíkov… Hotovo
Vytvára sa strom závislostí
Reading state information… Hotovo
Nainštalujú sa nasledovné extra balíky:
fb-music-high frozen-bubble-data libboost-iostreams1.34.1 libphysfs-1.0–0
libsdl-console libsdl-gfx1.2–4 libsdl-net1.2 libsdl-pango1 libsdl-perl
supertux-data wesnoth-data
Navrhované balíky:
wesnoth-all
Odporúčané balíky:
wesnoth-httt wesnoth-tsg wesnoth-ttb ttf-sazanami-gothic ttf-wqy-zenhei
wesnoth-music
Nainštalujú sa nasledovné NOVÉ balíky:
fb-music-high frozen-bubble frozen-bubble-data libboost-iostreams1.34.1
libphysfs-1.0–0 libsdl-console libsdl-gfx1.2–4 libsdl-net1.2 libsdl-pango1
libsdl-perl supertux supertux-data wesnoth wesnoth-data
0 aktualizovaných, 14 nových inštalovaných, 0 na odstránenie a 5 neaktualizovaných.
Je potrebné stiahnuť 109MB archívov.
After this operation, 181MB of additional disk space will be used.
Chcete pokračovať [Y/n]?

Tak a to je koniec krátkeho predstavenia Greenportu. Teda nie celkom. Ešte je tu niečo s prepojením s Greenie Toolbarom. Dá sa cez neho zobraziť zoznam portov a hlavne zadaním mena skontrolovať si svoj port. Alebo port niekoho iného :)

Do portovania :)

Sdílet