Tartalom frissítés

Nagyon buta, kezdő kérdés. Amennyire ismerem, a HTTP protokoll és a böngészők, automatikusan, nem frissítik egy honlap tartalmát, ha az változik. Ehhez mindenképpen, kliens oldali interakció kell, akár programatikus (Java, .NET, ASP ...). Viszont, találkoztam olyan kábel modemmel (UPC/Chello - Motorola) amelyiknek a státusz képe frissült ha a tartalom (aállapot pl. jelszint) változott. Egy ilyen kis cuccban nem lehet valami nagyon rafinált WEB szervert elhelyezni. Sajnos már nincs a darab a kezemben, nem tudom megnézni még a böngésző "forrás" funkciójával sem.
Tudja, tudni véle valaki, hogy mégis hogy érhették el azt, hogy frissüljön a lap?

Hozzászólások

erre gondolsz?:


< meta http-equiv="refresh" content="600">

Bár tudnám, hogy mire gondoljak. A lényeg hogy ha ez megoldja (ha jól értem ez azt jelenti "frissítés percenként") akkor igen.
Mindenképpen valami nagyon egyszerű dolognak kell lennie, egy ekkorka kis dobozban nem lehet túl nagy intelligencia. Én most a busybox http szerver funkciójában gondolkodok, hacsak nem találok valami még kompaktabb megoldást.

http://hup.hu/node/101008

* Én egy indián vagyok. Minden indián hazudik.

Ha jól értettem a problémát, akkor nem megadott időnként kell frissíteni, hanem a kijelzett adatok változásakor. Így a frissítés gyakoriságára néhány másodpercet (1--5) kellene beállítani, és akkor elég gyorsan megjelennének az új adatok. Azonban ebben az esetben lesz egy rakás felesleges frissítés (amikor nem változtak az adatok).

-----
"Én vagyok a hülye, hogy leállok magával vitatkozni."

Ajax-szal szokás kulturáltan megcsinálni.

Ami neked kell, az itt (is) van leírva:

http://ajaxpatterns.org/Periodic_Refresh

(Csak egy pillantást vetettem rá, felelősséget nem vállalok érte, de jónak tűnt.)

Szerver oldalon egy trükk lehet, ha az ajax kérést statikus fájlra küldöd, akkor nem kell mögé CGI sem, csak egy processznek updatelni a fájlt. Ez status állapothoz tökéletes megoldás.(Ilyenkor, meg általában, hogy a böngi ne kesseljen, érdemes az URL mögé egy http://routerem/akarmistatus?$TIMESTAMP$-et csapni a lekéréshez)

Plusz trükk, ha ezeket a folyton frissülő fájlokat RAMfs-re teszed, akkor a drága Flash memóriát sem bántja a megoldás.

Pedig jo az az ajax. Server oldalon nem igenyel sokkal tobbet, ugyis a kliensen fut a javascript, neki csak ki kell szolgalnia plusz egy statikus javascript file-t (meg persze valami dinamikus cucc ugyanugy kell, ha azt akarod, hogy valtozzon az adat).
De tenyleg kulturaltabb.

--
Auto correct can go straight to He'll.

Mert hülyeség is. Semmi értelme ajaxal egy statikus oldalt lekérni. Pont az a poén, hogy egy dinamikus státuszt kapsz, ami alapján eldöntöd, kell-e frissíteni.
kb.:

function check()
{
var chk=ajaxload("http://localhost/status.cgi");
if(chk=="reload") document.location.href="http://localhost";
}
setInterval("check();",500);

Ez fél másodpercenként lekéri a státuszt, és ha az "reload", akkor újratölt. A status.cgi meg headerben leküldi, hogy "Pragma: no-cache, must-revalidate, private" és nem fogja cachelni a böngésző.

A head szekcióban meta tag. Mégpedig a refresh.

A dolgok elfajulásának nincsenek határai!
Nem igazán illik a topic címéhez az újabb felvetés.
Ha jól értelmezem az általam átnézett különféle dokumentációt, akkor ha azt szeretném, hogy a szerver oldalon valamilyen programot/scriptet indítsak, ahhoz vagy CGI-t, vagy Perl, vagy PHP, esetleg Java appletet kell használnom?
Mivel még mindig minimalista hardware -ről van szó, marad a CGI vagy a Perl.

* Én egy indián vagyok. Minden indián hazudik.

Feldobtam a cgic library -t amihez van egy kis teszt program is.
De sajnos nem tudom a busybox segítségével behozni :(
Jelenleg, szimpla felhasználóként üzemeltetem, egy roppant egyszerű kis parancsal:
$busybox httpd -fvvv -p 10080 -h /home/tovis/public_html
(httpd.cionf -ot most még nem is csináltam hozzá)
Ezen a public_html -en belül van a cgi-bin és itt van a kis példaprogram.
Egyébként, a busybox működik mint http szerver, a sima index.html statikus lapot látom.
Használta a busybox -ot valaki cgi szkripthez?

* Én egy indián vagyok. Minden indián hazudik.

Ha embed cucc-ról van szó, akkor tudnám ajánlani a mongoose-t
Tud SSI-t is, ha jól értelmezem akkor neked ez a ficsőr kellene.

"The second directive supported, "exec", is used to execute a program, script, or shell command on the server. An example of executing the "ls -l"
command:

 < ! --# exec "ls -l" -- > 

"

http://code.google.com/p/mongoose/wiki/Features

Köszönöm :) Közben én is belenéztem. Kíváncsi vagyok ebian -on lefordul-e a BSD -nek szánt kód.
Ami a legjobban aggaszt, hogy azért ez nem "csak úgy" fusson valami a szerveren, hanem mondjuk nyomnak egy gombot. Talán ha linkelek egy kis ablakot, amibe beágyazom a végrehajtandó kódot. Még nem tudom.
A routereknél található beállító felület is tartalmaz menüket, ill. mindenféle interakcióra képes dolgot. Az igazi meglepi (nekem) az volt, hogy az OpenWrt -s (még White Russian 0.9) ASUS 500 izém /www könyvtárában olyan is van, index.asp ami egy link az index.html -re. Nem is értem ez most ASP?
A www/cgi-bin illetve www/cgi-bin/webif alatt pedig csupa shell script.
Na ebbe kellene bele ásnom magam!

* Én egy indián vagyok. Minden indián hazudik.

"$busybox httpd -fvvv -p 10080 -h /home/tovis/public_html"
-h -val a home konyvtarat adod meg.
Plusz a CGI-hez be kell lonod par kornyezeti valtozot, bar mar nagyon regen molyoltam ezzel.
Ez talan segit neked:
http://wiki.openwrt.org/doc/howto/http.httpd

--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Úgy tűnik sikerült a busybox cgi -t beizzítanom.
/home/tovis/public_html/cgi-bin/hello_s.c.cgi
/home/tovis/public_html/index.html -> cgi-bin/hello_s.c.cgi
(symlink)
így már működik. No persze ez egy nagyon bonyolult "Hello, wolrd." cgi program :) Viszont a cgi tutorila-ja jónak tűnik:
http://www.jmarshall.com/easy/cgi/

TÉVEDÉS szerk.
A letöltött hello_s.c.cgi magát az outputot tartalmazta :(

A cgic2 libraryhoz mellékelt testcgi.cgi nem megy :( Egy nagy kupac bináris szutykot nyom rá a busybox :( Nem tudom kell-e nekem ez a library, vagy sem.

* Én egy indián vagyok. Minden indián hazudik.

Lemaradt? :-o
Debian Squeeze 6.0.1 Linux-2.6.32-5-amd64
A busybox verzió 1.17.1-8
Szerintem a httpcgi nincs beállítva - ez egy fordítási opció.
Most azt próbálom kinyomozni, hogy tudnám ezt az opciót betenni.
Ilyet még nem igen csináltam, lehúztam a busybox_1.17.1-8.debian.tgz -t de ez mintha csak a patch -ket tartalmazná, meg egy kupac scriptet, a különféle fordítási verziókhoz (-udeb, -static ...). Van egy busybox_1.17.1.orig.tar.bz2
Hogy kéne ezeket összerakni?

* Én egy indián vagyok. Minden indián hazudik.

Igen. Detto itt is.
A retardált csomagkezelők nem engedélyezték a cgi-t.
Leszedtem és lefordítottam a legfrissebbet és így már megy kapásból.
Egyszer már alaposan pofán kéne csapkodni a debil bebian csomagkarbantartókat.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Na ez érdekes!
Végül "szabályosan" lehúztam, a Debian forrást:
#apt-get source busybox
A parancs letöltötte a következőket:
busybox_1.17.1-8.dsc
busybox_1.17.1.orig.tar.bz2
busybox_1.17.1-8.debian.tar.gz

Lefordította amúgy Debianosan :)
Olyan hogy .config nem keletkezett :( Viszont Config.src és Kbuild.src könyvtáranként igen. A Config.src ilyeneket tartalmaz:


config HTTPD
	bool "httpd"
	default y
	help
	  Serve web pages via an HTTP server.

config FEATURE_HTTPD_RANGES
	bool "Support 'Ranges:' header"
	default y
	depends on HTTPD
	help
	  Makes httpd emit "Accept-Ranges: bytes" header and understand
	  "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
	  downloads, seeking in multimedia players etc.

config FEATURE_HTTPD_USE_SENDFILE
	bool "Use sendfile system call"
	default y
	depends on HTTPD
	help
	  When enabled, httpd will use the kernel sendfile() function
	  instead of read/write loop.

config FEATURE_HTTPD_SETUID
	bool "Enable -u <user> option"
	default y
	depends on HTTPD
	help
	  This option allows the server to run as a specific user
	  rather than defaulting to the user that starts the server.
	  Use of this option requires special privileges to change to a
	  different user.

config FEATURE_HTTPD_BASIC_AUTH
	bool "Enable Basic http Authentication"
	default y
	depends on HTTPD
	help
	  Utilizes password settings from /etc/httpd.conf for basic
	  authentication on a per url basis.

config FEATURE_HTTPD_AUTH_MD5
	bool "Support MD5 crypted passwords for http Authentication"
	default y
	depends on FEATURE_HTTPD_BASIC_AUTH
	help
	  Enables basic per URL authentication from /etc/httpd.conf
	  using md5 passwords.

config FEATURE_HTTPD_CGI
	bool "Support Common Gateway Interface (CGI)"
	default y
	depends on HTTPD
	help
	  This option allows scripts and executables to be invoked
	  when specific URLs are requested.

config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
	bool "Support for running scripts through an interpreter"
	default y
	depends on FEATURE_HTTPD_CGI
	help
	  This option enables support for running scripts through an
	  interpreter. Turn this on if you want PHP scripts to work
	  properly. You need to supply an additional line in your httpd
	  config file:
	  *.php:/path/to/your/php

config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
	bool "Set REMOTE_PORT environment variable for CGI"
	default y
	depends on FEATURE_HTTPD_CGI
	help
	  Use of this option can assist scripts in generating
	  references that contain a unique port number.

config FEATURE_HTTPD_ENCODE_URL_STR
	bool "Enable -e option (useful for CGIs written as shell scripts)"
	default y
	depends on HTTPD
	help
	  This option allows html encoding of arbitrary strings for display
	  by the browser. Output goes to stdout.
	  For example, httpd -e "<Hello World>" produces
	  "&#60Hello&#32World&#62".

config FEATURE_HTTPD_ERROR_PAGES
	bool "Support for custom error pages"
	default y
	depends on HTTPD
	help
	  This option allows you to define custom error pages in
	  the configuration file instead of the default HTTP status
	  error pages. For instance, if you add the line:
	        E404:/path/e404.html
	  in the config file, the server will respond the specified
	  '/path/e404.html' file instead of the terse '404 NOT FOUND'
	  message.

config FEATURE_HTTPD_PROXY
	bool "Support for reverse proxy"
	default y
	depends on HTTPD
	help
	  This option allows you to define URLs that will be forwarded
	  to another HTTP server. To setup add the following line to the
	  configuration file
	        P:/url/:http://hostname[:port]/new/path/
	  Then a request to /url/myfile will be forwarded to
	  http://hostname[:port]/new/path/myfile.

Ebből úgy jön ki, hogy be van kapcsolva?! Most akkor mi van?
Ráadásul, jól értem ez tud php -t is? Nem emlékszem, hogy a busybox oldalán erről írtak volna.
Nem tudjátok, nem lehet kiíratni a bináris csomag valódi konfigurációját?

* Én egy indián vagyok. Minden indián hazudik.

PHP-t csak külső interpreteren keresztül tud. Ugyanezzel az opcióval akár python, perl, lua és más perverziókat is tud.
A src és a debianba bekerült bináris általában köszönőviszonyban sincs egymáshoz.
A CGI support valószínűleg azért nem került bele, mert az alulképzett maitainernek fura elképzelései vannak a világról (lásd: CGI = biztonsági kockázat), az is lehet, hogy a csomag generálását egy 6-7 éves konfiggal végzi, amiben még nem volt cgi support, de az is lehet, hogy szimplán nem fér a CGI az opensource, GPL, happyness ideológiájába.
Egy biztos, ha egy adott alkalmazást Debian alatt akarsz naprakészen, minden elérhető featurerrel, akkor letöltöd az alkalmazás weboldaláról (nem a Debian repóban lévő csomagot!) a forrást, beforgatod magadnak és örülsz.

--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Jó. A Debian által "eredeti" -nek titulált forrással bíbelődtem, még megnézem mi a legfrissebb. Az általam "sebtében" konfigurált verzió egyáltalán nem ismeri fel az appletet, holott be van jelölve!? A busybox konfiguráció vetekszik a kernellel - mély levegőt kell vennem hozzá.
De lehet hogy tényleg jobban járok a mongoozal (most tulajdonképpen az apachot is feltehetném, de szerettem volna "megvalósítás" közeli állapotokat teremteni).

* Én egy indián vagyok. Minden indián hazudik.

Na, itt most kavar van. CGI-t bármiben lehet írni, én bash-ban szoktam. Először is kellene egy olyan program, ami a megfelelő outputot állítja elő. Azaz Content-type, enter, enter, enter, és maga az output. Ha ez megvan, akkor be kell tenni a webszerver alá, és működni fog.

Nem a CGI írásával van a gond. Szeretném az egyébként minimalista busyboxot befogni erre, de a Debian csomagban lévő bináris cucc nem tartalmazza (szerintem) ezt az opciót, vagyis a http-t kezeli de a cgi -t nem.
(A cgi külön opció a http opción belül. A busybox hatalmas csomag, elképesztően sok dolog van benne, és fordítás előtt kell beállítani mit is akarsz ezek közül - make menuconfig mint a kernelnél. A dolgot az nehezíti, hogy a Debian féle csomag egy nagy kupac biztonsági(?) patchet tartalmaz, és ezt nem tudom hogy kellene bele tennem. Lehet hogy fapadosan bekonfigurálom és beteszem ahogy nekem kell, a patchekkel majd el kínlódom ha azt tényleg kell)

* Én egy indián vagyok. Minden indián hazudik.

Nézz kicsit feljebb, ezen már túl vagyok. A Debian valami eléggé pervertált konfiguráció kezelést húzott a csomagra, aszerint minden be van billentve. Sőt ami eddig nekem nem jött le magának a busybox dokumentáció alapján, még a php is működhet!

* Én egy indián vagyok. Minden indián hazudik.

Ez egyre érdekesebb!
A Debian által használt csomag, az 1.17.1 "nagyjából" bekonfigoltam az biztos, hogy a HHTPD összes létező opciója BE van kapcsolva. Ennek dacára az elkészült "termék" )ami a Debian verziónál majdnem kétszer nagyobb) ha meghívom a szokásos módon (busybox httpd ...) kijelenti, hogy nem találja az apletet.
Most akkor mi van? Milyen verziót forgassak?
(Mondjuk nem csodálom, hogy ez a monstrum ilyen hibákat tartalmaz, annyi minden van benne, nem igazán lehet tesztelni minden képességet. A test suit sem tartalmaz a httpd -hez teszt valamit)

* Én egy indián vagyok. Minden indián hazudik.

Na most kezdek teljesen összezavarodni :(
A busybox-1.17.1 forrásában, a networking könyvtárban, leledzik a httpd.c (le is fordult) viszont, mellette van a httpd_index.cgi és a httpd_ssi.c nevű források. Ezek le sem fordultak. Mindkettő önálló program, van bennük "main()". Az (OpenWrt) routeremben az /etc/httpd.conf -ban a következő sorok találhatóak:


  /cgi-bin/webif:root:$p$root
  /cgi-bin/webif:admin:$p$root

Mi az ördög az a "$p$root"?
A httpd_ssi.c forrásában azt írja a szerző, hogy a httpd.conf -ba a következőket kell bejegyezni:


  .html:/bin/httpd_ssi
  *.htm:/bin/httpd_ssi

Ezek a programok (httpd_cgi és httpd_cgi) alapból nem fordulnak le.
A forrás elején azt írja (mindkettőben) hogy ez egy CGI applikáció!?
Aztán ott van "make" sor - hosszú, nagyon - és azzal kezdődik, hogy "i486-linux-uclibc-gcc".
Lehet, hogy ahhoz hogy működjön a cgi és az ssi ezeket az "interpreteket" le kell fordítani és bemásolni a /bin könyvtárba?
Vagy mégse? Tehát, a httpd_cgi.c elején a következőket írja:


  /*
   * This program is a CGI application. It outputs directory index page.
   * Put it into cgi-bin/index.cgi and chmod 0755.
   */

Akkor lehet, hogy ez egy teszt/próba kód?

* Én egy indián vagyok. Minden indián hazudik.

Figyu, ki tudod kerulni a CGI-t periodikus HTML-generalassal, pl. cronbol.

1 percenkent ujrageneralod a HTML-t az akkori allapotnak megfeleloen akar perlbol, es csak 2 percenkent frissited.

Persze ez akkor jo,ha nem kell gombnyomast a webfeluleten lekezelned, az is megoldhato igy, csak ocsmany trukkokkel (beolvasod a webszerver logjat 2 masodpercenkent pl.)

Nem tudom, de nagyon, de nagyon kavarsz valamit.
A két kód nem interpreter, hanem egy sima könyvtárlistázó cgi, ami C-ben lett megírva.
Mint már páran leírták, a CGI nem egy nyelv, hanem egy kommunikációs eljárás távoli kódfuttatásra. A követelmény az, hogy a futtatandó kód a cgi-bin könyvtárban legyen és kész.
Az egyszerűség kedvéért, töltsd le az legfrissebb stabil forrást.
Csomagold ki egy könyvtárban: tar -xvjf busybox-1.18.4.tar.bz2
Lépj be az így létrehozott busybox-1.18.4 könyvtárba és add ki a make menuconfig parancsot.
Lépj ki és okézd le a konfiguráció mentését. Ezzel az alap konfig lesz engedélyezve, ergo semmit nem szúrhatsz el.
Add ki a make parancsot.
A usered könyvtárában hozz létre egy www könyvtárat és azon belül hozz létre egy cgi-bin könvtárat.
Változtasd mindkét könyvtár jogosultságát 755 -re
Hozz létre egy filet a cgi-bin könyvtárban test.cgi néven. Másold be ezt a kódot:


#!/bin/sh
echo "Content-type: text/html"
echo ""
echo "Sample CGI Output"
echo ""
echo ""
echo "Environment variables"
echo ""
env
echo ""
echo "========================================================="
echo ""
echo ""
echo ""
echo ""

Változtasd meg a file jogosultságait 700-ra vagy magasabbra,
Hozz létre egy filet a www könyvtárban index.html néven. Másold be ezt a kódot:


<html>
<head>
<title>Busybox httpd test oldal</title>
</head>
<body>
<p>Úgy tűnik működik.</p>
</body>
</html>

Ha végzett a busybox a fordítással, akkor látnod kell egy busybox filet a busybox-1.18.4 könyvtárban.
Írd be:
./busybox httpd -fvvv -p 10080 -h ~/www/
Ez a frissen forgatott busyboxot, fogja futtatni, alap beállításokkal (/etc/httpd.conf ne legyen!) és a usered könyvtárában a www-je lesz a webszerver rootja. Fontos az elérésben lévő utolsó /-jel!
Indíts egy bongészőt és nézd meg a localhost:10080/index.html-t.
Ha 404-et dob, akkor rossz helyen keresi a filet, rossz az elérési utad.
Ha 403-at dob, rossz a file jogosultsága.
Írd be a bongészőbe:
localhost:10080/cgi-bin/test.cgi
Ha kiírja a környezeti változóidat akkor minden okés.
Ha 403-at dob, rossz a file jogosultsága.
Ha 501-et dob, akkor rosszul van a busybox konfigurálva.
Ennyi.

--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Nem a legfrissebb forrással de a Debian 1.17.1 verzióval próbálkoztam, azzal hogy az alap konfigurációt fordítottam. Már az indulásnál busybox httpd -fvvv dobott egy olyat hogy az applet ismeretlen/vagy hiányzik :(
Ezen a ponton feladtam a dolgot. Ha egyszer lesz több időm kinyomozom, miért sz'vat.

* Én egy indián vagyok. Minden indián hazudik.

Ismételd utánam szépem:
Nem használok Debian forráscsomagot!
Nem használok Debian forráscsomagot!
Nem használok Debian forráscsomagot!
Nem használok Debian forráscsomagot!

Nem tudhatod, hogy a csomag kezelője mit és hogyan szúrt el benne.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Értettem. Értettem. Értettem. De most már valami érdemit akarok látni.
(Mindenképpen visszafogok rá térni, már csak hogy a Debian -nak is jelezhessek, a baj hogy nagyon zöldfülű vagyok a témában, így nem merem őket zaklatni, amíg nem vagyok biztos abban hogy ŐK a hunyok)
Köszönöm, a tippet.

* Én egy indián vagyok. Minden indián hazudik.

Most esett le a tantusz, hogy neked máködik a busybox CGI!?
Azt szeretném megkérdezni, hogy nálad ez milyen beállításokat igényelt.
1. Használsz httpd.conf -ot és ha igen abban ven-e valami CGI -re vonatkozó?
2. Milyen könyvtárat használsz a html és a cgi fájlok számára?
3. Muszáj hogy a CGI (shell scriptum) fájlok kiterjesztése cgi legyen?
Buta kérdések, de lehet hogy itt van a kutyus elhantolva. Én, simán a saját felhasználói $HOME/public_html -nek nevezett könyvtáramat próbáltam használni, benne egy cgi-bin könyvtárral. A lighttpd -vel is az a tapasztalatom, hogy kizárólag a /var/www/cgi könyvtárban elhelyezett scriptumokat hajlandó elfogadni CGI scriptként. A Debian a biztonság jegyében képes ilyen alattomos beállításokat lkalmazni, sőt ha kell bele patcheli azokat.

* Én egy indián vagyok. Minden indián hazudik.

Igen működik, de CSAK A LEGFRISSEBB BUSYBOX.NET-RŐL LESZEDETT forráscsomag beforgatása után.
Nem használok httpd.conf-ot, natúr alapbeállításokkal megy.
Könyvtárnak a userem alatt csináltam egy www-t, de ez teljesen mindegy, mert -h utan BÁRMIT megadhatsz. CGI-nek alapbeállításban a webes home könyvtár alatti /cgi-bin-ben van. Ha nem használod a -h opciót, akkor az alapértelmezett webes könyvtár a /www és az alapértelmezett a /www/cgi-bin lesz. Minden esetben a könyvtárnak 755 a jogosultsága
Nem. A CGI file bármilyen FUTTATHATÓ file lehet FÜGGETLENÜL a kiterjesztésétől.
A CGI-t a legtöbb webszerver úgy kezeli, hogy csakis egy kimondottan erre a célra létrehozott könyvtárban lévő fileokat hajlandó futtatni.
Szerintem, először próbáld meg végigcsinálni azt amit leírtam az előző hozzászólásomban.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Idézek a korábbi hozzászólásomból:
"Lépj be az így létrehozott busybox-1.18.4 könyvtárba és add ki a make menuconfig parancsot.
Lépj ki és okézd le a konfiguráció mentését. Ezzel az alap konfig lesz engedélyezve, ergo semmit nem szúrhatsz el."

Ez tényleg ijesztő lehet, akár kétszer is le kell ütni az entert!

"Ráadásul az ilyen piszkálás, "tainted" állapotba "taszítja" a telepítést."

Éééééés? Elveszted a Stallman Certifikációdat? Jönnek a Debian maintainerek és megbüntetnek? Kitiltanak a zinternetről?
Ha vennéd a fáradtságot, és elolvasnád amit írtam, akkor láthatnád, hogy nem teljesen telepíted a busybox letöltött változatát, hanem csak beforgatod és a fordítás helyén futtatod. Ergo, a csomagkezelő által telepített megmarad.

--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Kipróbáltam a binaris állományt (most épp egy i686 -on dolgozom így i686 -os fordítást húztam le). Bemásoltam a saját /home/tovis/bin/busybox-i686 könyvtáramba, és kiadtam a köv parancsot:

$busybox-i686 httpd -fvvv -p 10080 -h /home/tovis/public_html

Megette :)
A home -ban kialakítottam a következőket:


  /home/tovis/public_html
    test.html    # az apache -tól kölcsönözött 1 soros
    @index.html
    cgi-bin
      test.cgi   # szóról szóra mit megadtál

Sem local host (lynx) sem másik gépről a LAN -on nem sikerült kapcsolódni (az -fvvv beállítás mellett mindig látható ha valaki kapcsolódik, az is hogy ki és az is hogy hova - most semmi).
Jó fogatok! De csak a te kedvedért :D

* Én egy indián vagyok. Minden indián hazudik.

Szokásos :(
Mindig sikerül annyira megnehezítenem magamnak a pályát, hogy eltöröm a saját lábam!
1. Az adott konfiguráción (ahol próbálom) két hálókártya van, két külön szegmensben. Na persze amit épp nem is használok az eth0 - így aztán ha nem írom be az ip címet is (-p 192.168.1.x:10080) az életben nem fogok tudni rákapcsolódni. Helyes beállítások mellett, a "sima" bináris busybox is tökéletesen működik :D
2. Ha valaki olvassa ezt a szálat és úgy dönt leforgatja a busybox legfrissebb változatát, olvassa el az "INSTALL" fájlt, ott szépen (úgy hogy én is megértsem) le van írva a gyors konfigurálás és fordítás, kicsit eltér attól amit a tisztelt kolléga leír. A végeredmény, egyébként kisebb mint a busybox.net -ről lehúzott állomány (849940 vs. 744744).
3. Ami a legfontosabb nekem, működik a CGI, a saját felhasználóm alatt futtatott "busybox httpd" applet segítségével. A forrásból, egyedileg forgatott busybox -ot simán berakom a user bin/ könyvtárába, nem kell a rendszer /bin könyvtárát ezzel elpiszkálni. Így ez nem lesz "tainted" és nem jön a Debian sw rendőrség, hogy megfenyítsen :D

Külön KÖSZÖNET jár "hiena" kolléga számára, ha lesz alkalmam jó nálam egy sörre.

UI: Egyenlőre nem aktuális, de most mi van ha egy ARM sbc -re kell ezt újra csinálni, ahol nincsenek giga bájt tárhelyek? Valahol találkoztatok azzal, hogy is kell ezt crosscompillálni?

* Én egy indián vagyok. Minden indián hazudik.

Elegem lett ebből a kínlódásból, felraktam a lighttpd -t kicsi memória, CGI, Perl, PHP és SSI. Kész, csinos Debian csomag.
1. CGI -t csak a /var/www/cgi-bin/ -ből, user dir erre nem jó :(
2. SSI-nél pl. csak az "exec" -et nem támogatja :( Egyenlőre még azt sem sikerült elérnem amit ugymond támogat.

* Én egy indián vagyok. Minden indián hazudik.

Magyar helysírási szótár:

* egyenlőre vágta két egyenlő részre vágta 00.
* egyelőre átmenetileg, elv.: egy-e-lő-re 235.

A lőrét én nem szeretem (annyira), de vágtáról itt szó nincs, marad az "átmenetileg, elvileg". Te nyertél!

(50 évesen is úgy szoktam mondani, magyarul már elfelejtettem, oroszul és angolul sosem tanultam meg helyesen írni)

* Én egy indián vagyok. Minden indián hazudik.