Kalandozások Linuxföldén

tl;dr: az IT szívás. Ha nem vagy még informatikus, keress egy normális szakmát.

Hol volt, hol nem volt, volt egyszer a héten egy csodás hétfő, amikor még azt reméltem, hogy délelőtt sikerül itthonról befejezni valamit majd kipihent, kisimult arccal bemenni munkahelyre és beüzemelni azt. Aztán megcsörrent a telefon.

Első felvonás: Linuxos nomádok kalandozásai Windowsföldén

ERP rendszerünk vasárnap valamiért újraindult, Windows update 94%-nál megállt és valószínűleg pár órája úgy is van. Álmoskönyv szerint ilyenkor nem jó megzavarni a lelkivilágát (személy szerint ezzel csak és kizárólag rossz tapasztalataim van), de az üzemeltetés szerint sok jót ne várjunk a géptől: reset. Hál istennek akkor még felállt a rendszer. Délután, mikor beláttuk, hogy 12G rammal nem mehet tovább a gép, raktunk még 12G-t bele. Hiába, megnőtt picit az adatbázis. Na itt kezdődött az igazi szopás: újraindulás után minden BIOS beállítás elfelejtve, oprendszer nem található. Hopsz. Rövid vizsgálódás után kiderült, hogy a RAID vezérlő nem igazán akar élni. Másik LSI-s kártya ugyan lett volna raktáron, csupán egyetlen egy dolog nem: hozzávaló kábel. Az alaplap valami ASUS alaplap, valami PIKE nevű porton figyelt a RAID kártya és az alaplapon volt kivezetve SATA csatlakozókhoz. A RAID kártya viszont egy mini-SAS csatlakozóval rendelkezett, nekünk meg mindenünk volt, kivéve olyan kábelünk, ami azt normál (tápcsatis) SAS csatlakozókra alakítja át. Továbbá egy ismerősnek sem volt és ahhoz is késő volt, hogy elmenjünk érte valahova.

(Maga a gép egyébként kb. 4 éves, ironikus módon pont hétfő reggel döntöttünk arról, hogy cseréljük. Igen, egy tákolt szar. )

Mondom jó, átmásoljuk sima SATA diskekre, amúgy is kezdett már köhögni az egyik SAS disk. Van egy tesztszerverünk (az már legalább végre szerver - Fuji TX200 S5), átraktam diskeket oda, USB-re egy SATA-s, Ubuntu Live bebootol, másolnám át. Aham, leszámítva, hogy nem látja a RAID vezérlőt. Jó, akkor Centos minimal. Na az végre látja. Első körben amúgy a Sysrescuecd lett volna a tippem, leszámítva, hogy a sourceforge.net-ről nem lehetett letölteni, dd-vel átmásoltam, utána ment szépen. RAID-nak meg sima Windowsos softverres RAID lett beállítva, teljesítményben nem észlelni hátrányt eddig (igaz a 2x annyi RAM is rengeteget segít az MSSQL-nek.)

Apropó, dd. Hasznos egy tool, kétségtelenül. De olyan rohadt nehéz lenne implementálni bele egy szájbavert kapcsolót, hogy ugyan mondja már meg, hogy sacc/kb. mennyi idő múlva végez a másolással? Találtam ilyen csodaszép megoldásokat: http://www.cyberciti.biz/faq/linux-unix-dd-command-show-progress-while-… Persze, Centos Live-ban semmi nem volt meg abból, ami kellett volna. (Workaround: először átmásoltam kis mennyiséget, abból meg lett saccolva, hogy mennyi a teljes.)

Intermezzó: PHP. Facebook nem kedveli ezt.

Node ugorjunk. Adott ez a csodás hupu myth, hogy "de hát a Facebook is PHP-t használ!!!". A helyes megfejtés, leginkább az, hogy igen, valami olyasmit, ami egykoron talán az volt. No de ne szaladjunk ennyire előre. Ugye a kiinduló sztori az volt, hogy a Cukrosbácsi végigszivatta az FB-t PHP-vel, amiről ugyan egyszer megpróbáltak Pythnora áttérni, de hamar belátták, hogy 8M kódsort a büdös életben nem fog senki sem portolni. (És egyébként is, Joel Spolsky már rég megmondta, hogy miért fasság egy terméket újraírni.) Így jött az ötlet, hogy fordítsanak mindent C++-ra. Egy ideig jó volt, ameddig rá nem jöttek, hogy annyira azért mégsem. Egyik fő problémájuk - a hiányzó dinamikus nyelvi dolgokat leszámítva - a lassú fejlesztés volt, a nehéz optimalizálás, valamint az, hogy volt 3 féle verziójuk is belőle (HPHPc - fordításhoz, HPHPd - debuggoláshoz, HPHPi - interaktív dolgokhoz).

Aztán teltek, múltak az évek és megszületett a HHVM. Mi is ez? Gyakorlatilag egy JIT-teres PHP5.5, ami egy VM felett fut, hasonlóan a JVM-hez vagy a .NET-es CLR-hez. (Már látom a kialakuló flamet a C/Java, C# hívők között). Plusz megtoldották static typing lehetőségével (persze, meghagyva a dinamic typing lehetőségét), mindehhez statikus analizálást végző toolokkal (és akkor a Hupon lehurrognak mindig, mikor kijelentem, hogy a gyengén típusosság megnehezíti a fejlesztést), Hack langgal, mindenféle földi jósággal, pl. normális típusos collectionok, Generics, Nullable types*, normálisabb Lambda, async, stb. Egyébként annyira látszik, hogy a C#-ból lett egy csomó minden átvéve, amivel semmi probléma nincs, C# egy nagyon jól használható nyelv.

Ami kifejezetten tetszik az a nullable types kezelése: alapból semmi nem lehet null, kivéve, ha jelölve van, hogy az lehet null. (Ugyanúgy kérdőjellel, mint C#-ban, csak a típus előtt, nem utána). Ez igaz a referencia típusokra is. Ezen már egyszer elmélkedtem korábban is, hogy C#-ban a sok metódus elei

if (arg == null) throw new ArgumentNullException("arg");

helyett sokkal-sokkal szebb lett volna az, ha a referencia típusoknál kötelezővé teszik azt, hogy nem lehet null, kivéve, ha engedélyezve van. Na de lassan itt a Roslyn, ismerős szerint azzal elvileg valóra vállhat ez az álmom.

Második felvonás: Kell egy Linuxos disztro

Szóval jött az ötlet, hogy nézzük már meg a gyakorlatban is a HHVM-et. Először CentOS volt a kiszemelt áldozat, majd miután rá kellett jönnöm, hogy *minden* kőkorszak benne a feladat végrehajtásához, így letettem róla, és fogtam egy Ubuntut, amit láthatóan jobban támogatnak. (Igen, tudom EPEL, mondták időközben, de most a HHVM volt a cél, nem az, hogy random csomagokat vadásszak. Haladjunk.)

Ubuntuból 13.10 volt a kiszemelt áldozat, abból is a server verzió. Az egész egy Citrix XenServer-en belül települt, ott kiderült első körben, hogy a drága jó Citrix nem vett át egy kb. egy éves patchet, ami miatt az újabb Ubuntuk csesznek felmenni. De a diverzitás jó, megmondták a hupon! Utána a telepítőn fogtam a fejem több soron.

CentOS-nál valami egész használható, egyszerű grafikus telepítő van, amely van annyira okos, hogy ha úgy látja, hogy a VGA kártya (jelen esetben a Xen) nem képes eme roppant nagy feladat végrehajtására, akkor felajánlja a, hogy VNC-n keresztül futtasd a telepítőt. Ez azért tök jó, mert pl. az LVM-ről kap az ember egy szép grafikus áttekintést. Na, az ubuntu-server még mindig az ezer éves Debianos - szerintem unintuitív szart - hozza. Plusz, valami irreálisan sokat kérdez szerintem, mindezt nem ám egy szép csokorba szedve, hogy a végén csak a telepítés legvégét kelljen megvárni, hanem a telepítés legkülönfélébb pontján. Ezek közül a személyes kedvencem az, hogy megkérdezi kétszer is, hogy az óra hogy van beállítva, de arra már nem képes, hogy megkérdezze, hogy hogyan akarom a hálózatot használni. Kapott DHCP-n IP-t, szerinte ez így jól van, kuss. Majd utólag átállítja a parasztja, ha nem tetszett. Csak akkor tundám, minek kérdezi meg kétszer azt, hogy UTC-e az idő meg mégy egy csomó egyéb lényegtelen kérdést.

Harmadik felvonás: csak nem úszom meg az X-et

Amúgy alapvetően - a szokásos apróságokat leszámítva - innen már egészen eseménytelen volt (Linuxos mércével) az élet. Egészen addig, ameddig le nem vontam azt a következtetést, hogy kicsit C++-ozni kellene Linuxon.

HHVM-hez ugyanis van PostgreSQL csatoló, viszont nagy hibája, hogy nem a Facebook fejleszti, hanem pár arc, mert nekik is kellett és ők úgy gondolták, hogy a perzisztens kapcsolat nem annyira lényeges. Ami miatt viszont elkezdtem vizsgálódni HHVM ügyben, amiatt meg kifejezetten kell nekem egy connection pool. És mivel a fejlesztője nem tervezi a közeljövőben belefejleszteni, kénytelen vagyok magamnak megcsinálni. Ezért gondoltam, felrakok egy QtCreatort.

Negyedik felvonás: LVM

Első probléma ott adódott, hogy az alap 8G-s disk image (-swap) kicsinek bizonyult. Az külön vicces, hogy a tasksel valami totál irreleváns fals semmitmondó hibaüzenetet ad arról, hogy azért nem megy fel a csomag, mert kevés a hely. Itt jött az, hogy de jó, hogy LVM-re telepítettem.

Windowsban azt szeretem, hogy ha van rá mód és az ember tudja, hogy mit akar és nagyjából tudja, hogy hol keresse az adott dolgot, akkor _általában_ viszonylag intuitív (értsd: rájössz magadtól, triviáls dolgok miatt nem kell manualok olvasgatásával kezdeni) módon meg lehet csinálni dolgokat. (Ugyanez igaz OSX-re is, bár ott meg van toldva azzal, hogy néha roppant intuitív módon elrejtenek egy-egy funkciót, hogy ne is tudd, hogy létezik). Erre nagyon jó példa az, amikor kellett egy DNS-t beállítanom. Alapvető fogalmakkal tisztában voltam, a DNS beállító felületet meg kb. bárki elkezeli, aki tisztában van az egyes controlok működésével. Na egy Bind zóna fájlt nem írnék meg fejből magamtól. Ugyanez igaz például a Windowsos Volume Management-re is: jobb click a köteten, átméretez, megadom az új méretet, picit molyol, TADA.WAV.

Ezzel szemben az LVM-hez - bár léteznek grafikus toolok - alapból egy unintuitív CLI-s utilkupac van. Igen, tudom tanuljam meg, meg tök jó mert lehet automatizálni (FYI: ott a PowerShell, meg szerintem volt korábban is CLI-s mód Windowson), meg jajdemenő, hogy nem kattintgatni kell meg a többi. Bullshit. Az nem tudás, hogy tudom fejből, hogy most szóközzel vagy egyenlőségjellel, vagy csak egy betű után írva simán kell írni a paramétereket. Valami random Linux hívő ego-blogján futottam bele egyszer ilyenbe, ahol valaki azzal jött, hogy mennyivel okosabbak a Linuxosok, mert ezeket mind hogy tudják. Aha jó, az, hogy valaki autista és arra áll fel neki, hogy tudja, hogy minek kell szóközzel, minek kell kötőjellel elválasztani a paraméter nevét és értékét, ahelyett, hogy a tényleges feladatot egyszerűen meg lehetne oldani, az szerintem kezelendő. Meg ha pl. lett volna egy egyértelmű UI (és nem definiáltam, hogy console vagy GUI!), akkor valószínűleg nem lettem volna megvezetve, hogy pv-t is át lehet méretezni, nem kell újat létrehozni és arra extendelni a vg-t. Egyébként az is tök jó, hogy egy lépés helyett itt hat volt volt: cfdisk, partprobe (mert a cfdisk annyira intuitív, hogy képtelen szólni a Linuxnak, hogy változott a partíciós tálba, gondolom teljesen értelmetlen a feltételezés, hogy kellene) pvcreate, vgextend, lvextend, fs2resize.

Sluszpoén: ha a köteten nincs hely, az lvextend sem működik. Röhej.

Intuitív eszköz, mondhatni.

Az igazán ironikus meg az, amikor egy törzsgyökeres Linux user jön azzal, hogy "mert szart hasznalsz, yast install disk, aztan mar reg tul lennel rajta kattintgatva". Okay. :)

Ötödik felvonás: X forwarding, VNC, mert Linuxot továbbra is csak bottal vagyok hajlandó piszkálni

Első gondolatom az X11 forwarding volt. Itt meglepődve tapasztaltam, hogy Ubuntuban alapból be volt kapcsolva az X11Forwarding az sshd.conf-ban. A dolog egyébként egészen jól működött (bár teljesen vicces volt W7-es ablakkeretben a Gnome-terminal), egészen addig, ameddig nem akartam indítani egy QtCreator-t. Az ugyanis valami használhatatlanul lassan működött, pedig pl. egy Firefox is teljesen jó sebességgel ment. (100M lan van a két gép között).

Mondom jó, marad a VNC, akármennyire is utálom. Egy kis intuitív tutorial olvasgatás, intuitív konfig fájl heggesztés és intuitív xstartup birizgálás után életre is kelt a VNC szerver. (Hogy hány kőkorszakkal van lemaradva az RDP-hez képest, azt most nem részletezném). Qt Creator is használható sebességgel fut és majdnem jó volt minden, ameddig meg nem nyomtam egy d betűt. Meg a fel/le nyilat. Vagy a tabot. Gyügyüke úgy vette valamiért, mintha mindig megnyomnán a super/meta/cmd/windows keyt is. Neten utánanézve más is belefutott, keyboard configban állítsam át. Oké, nem indult. X11 forwardon elindult, opciót nem találtam. Mondom jó, gconf-editor talán segít. Az adott kulcs nem volt benne, amit írtak fórumon. Meguntam, akkor már dolgozni is akartam, felment az xfce4. Ott csak a tab nem volt jó, de a megfelelő XML-ben legalább meg lehetett találni a megfelelő sort. Hogy Linux + távoli használat még mindig szopás, az hihetetlen. (Legutóbb az rdesktop-al szoptam egy Debianon, hogy legalább a Windowson jó karaktereket kapjon a program. Igaz, ott a helyzetet - nagyban - súlyosbította egy vonalkód olvasó is.)

Konklúzió: 2014-ben (sem) nyűgözött le a "Linux destkop" és a Linuxos toolok kőkorszakisága, unintuitivitása.

Hozzászólások

Ezt a picsogást öcsém ;-)

--
A főnököm mindig megtartja amit ígér, ha pénzt ígér azt is!

Picsogás? Igen, picsogás. Lusta vagyok én már ahhoz (és nincs is arra időm), hogy folyamatosan azt nyomozzam, hogy mi miért nem megy, mikor mehetne 2 kattintással.

Bocs, hogy szóvá merem tenni, hogy ez a szép új világ, amiről a Linuxosok álmodnak, szar. ;)

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Windows-on milyen X-et használtál?
Én úgy tíz-tizenöt éve játszadoztam vele, gyorsan feladtam, hogy VPN+SSH, 512kbps sebességű ADSL-en át próbálgassam, de LAN-on viszonylag jól működött (igaz, akkor ssh nélkül intéztem valahogy)

Tartok tőle, hogy más Qt alapú programok is (annyi widgettel) belassultak volna. Úgy emlékszem, ilyen szempontból a Qt egy elég elcseszett környezet (tévedés joga fenntartva), de ugye nem arra építenek, hogy ssh fölötti X-et használva futtatod az ilyen programokat, szóval nagy általánosságban nem zavar, a kisebbségben maradók meg így jártak. ;)

az a gond, hogy X11 csak a meseben network transparent, barmilyen xterm-nel bonyolultabb program mar bitmapekkel fog dolgozni, amit nagy nem hatekonyan kuld at a halozaton

btw xming helyett: http://sourceforge.net/projects/vcxsrv/

masik josag: http://xpra.org/
ez h.264/vp8-ban tud X appokat atkuldeni halozaton

--
NetBSD - Simplicity is prerequisite for reliability

Ja, hogy épp az ellenkező irány, mint amiben én gondolkodtam. :)

Így viszont a hálózatért felelős egyén... khm... mintha nem lenne a helyzet magaslatán. Legalábbis a saját elvárásaim szerint. Ha már blokkolni akarok bizonyos dolgokat, akkor ott kezdem, hogy csak proxy-n engedek ki bárkit, azt is csak a 80-as, 443-as portokon. Ezt is meg lehet kerülni, de azért X-et futtatni rajta keresztül már macerás. :)

Bocs, de ha jól tudom, ez egy webes cucc, ez nem kerülő út, mint pl egy vpn over http.
Persze, (sok) minden megkerülhető, de nem mindegy, mekkora "költséggel" és hatékonysággal.
Proxy-val, céges hálón akár legálisan is lehet man in the middle-t játszani. Ha ott van megfelelő szűrés, azt egyre nehezebb kijátszani, minden bukás után. ;)

Tévedés jogát természetesen most is fenntartva, mivel hülye vagyok a biztonsági témákhoz.
(Legalábbis a többségükhöz)

Hát ugye attól függ, hogy mi a cél. Ha meg akarod kerülni a céges tűzfalat/proxy-t, mert az mondjuk nem engedélyez bizonyos weboldalakat, bizonyos portokat, stb., de amúgy a 80-as port nincs korlátozva, akkor kb annyi dolgod van, hogy
- fogsz egy olcsó VPS-t (a havi 500-1000 forintos kategória már bőven jó ehhez)
- rá egy X, egy tetszőleges böngésző és a Guacamole
- ???
- PROFIT

Innentől van egy géped, amit elérsz céges hálózatból, és azt használva elérsz bármit a neten. Nyilván ezt is meg lehet akadályozni, de ahhoz már nem elég a portok tiltása és egy website blacklist a proxyn.

Hát ja, mondjuk akkor az új szerver lesz a legkisebb gondod. :) Régi szerver --> image --> új szerver, de inkább az állásod miatt kell akkor aggódni.

Mondjuk az is igaz, hogy ha egy ennyire banális trükkel ki lehet kerülni a rendszert, akkor nem nagyon fogja senki észrevenni, hogy mit csinálsz.

Nem azt mondom, hogy nem lehet, csak ahol egy ilyen egyszerű trükkel keresztbe lehet szopatni a rendszert, addig 99%, hogy magasról le fogják tojni az egészet.

Persze extra paranoid üzemmódban lehet váltogatni a szervereket, csak akkor meg ott vagy, hogy munkában facebookozáshoz már overkill egy picit a dolog. Akkor már telefon/tablet+mobilnet, ha egyszer nem bírja ki az ember naplopás nélkül. :)

En meg csak azt, hogy egy hw tuzfalnak megvan az a hatranya, hogyha Gavaritu Maharima Indiaban ugy dont, hogy xy weboldal karos es berakja a tuzfalaba, akkor sajna a config hozzank is atkuszik....
En meg nem akarok konyorogni, hogy talan azt megsem kellene tiltani, mert napi egy percet ra szeretnek nezni.

--
http://www.micros~1

Hibás a hozzáállásod.
Ha a hálózatért felelős személy valamiért úgy gondolja, hogy adott oldal káros valamiért a cég számára, akkor ezt egy dolgozónak el kell fogadni. Amennyiben a munkádhoz mégis szükség van rá, akkor egyeztetés, egyébként meg veszel mobilnetet, tabletet és intézed arról.
Szerintem ez a normális.

Szerintem meg az a normális, ha csak olyan dolog van tiltva, amit előzőleg az üzemeltetés elfogadtatott a felhasználókkal, és ők megértették, hogy a tiltás az ő érdekükben van. (Nyilván ez mehet kategória szerint is.)

Pl. olvastam olyan esetet, hogy az okos rendszergazda letiltotta a docs.sun.com-ot, merthogy túl sok kérést indítottak a java fejlesztők az oldal fel...

Ahol fontos az ilyen jellegű védelem, ott egyrészt a felelős vezetők dolga eldönteni, hogy mit szabad, mit nem, másrészt ott inkább úgy állnék hozzá, hogy ki kell válogatni azokat az oldalakat, amik engedélyezve vannak és az átlag usert csak oda kiengedni, a kivételeket meg ellenőrzötten kezelni.

ez tenyleg eleg bviktoros lett :-) Btw. en azt a cimet adtam volna, hogy "amikor a dev op foldere teved". Mert ugyan szepen levezeted, hogy a vindoze mennyivel intuitivabb, de lassuk be, egyszeruen arrol van szo, hogy onkent ugrottal par seggest az utszeli dildokba, pl. LVM benazas, 8 GB-os image. Mondjuk ha eleve csak bottal piszkalnad meg (mert az egesz egy idegen es nemszeretem dolog), akkor erdemesebb lett volna olyan valakit megkerni a feladatra, akinek (ennel) egy picit nagyobb rutinja van a dologban, imho...

--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)

" de lassuk be, egyszeruen arrol van szo, hogy onkent ugrottal par seggest az utszeli dildokba"

Igen, pontosan erről van szó. Nagyon jól látod a helyzetet. Önként beleugrottam pár, 2014-ben viszonylag triviális feladatnak számító dologba (lemez növelése, távoli GUI, stb.) és kijött az, hogy az, ami Windowson pár kattintás/feladat, az itt szopás és manual/fórum hegyek olvasgatása. Na, utóbbi tevékenység nem az, ami olcsóvá teszi ezen megoldások használatát, munkahelyen meg ez számít.

"akkor erdemesebb lett volna olyan valakit megkerni a feladatra, akinek (ennel) egy picit nagyobb rutinja van a dologban, imho..."

Pedig kértem segítséget, félre is vezettek ;)

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

hogy az, ami Windowson pár kattintás/feladat, az itt szopás és manual/fórum hegyek olvasgatása.

majdnem jol fogtad meg a dolgot. Ha vindozen ez tenyleg 2 kattintas, es linuxon ez neked ennyire pain in the ass, akkor miert szorakoztok linux-szal? Komolyan kerdezem. Azzal nem akarlak felrevezetni, hogy felenk a lemeznoveles, linux telepites, etc. kb. olyan rutin, mint a reggeli pisiles. Btw. abban igazad van, hogy a debian/ubuntu telepitoje elszabott modon akar dhcp-zni...

--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)

Pedig minden információ benne volt a leírásban, hogy miért kellett Linuxszal és pont Ubuntuval szórakozni. (HHVM).

"kb. olyan rutin, mint a reggeli pisiles. "

Akkor fussunk neki még egyszer, mert láthatóan nem sikerül felfogni: nem azzal van baj, ami már rutin. Azzal van baj, hogy a rutin megszerzése irreálisan sok idő az alternatívákhoz képest. Tudod, usability. Elég népes szakirodalma van neki, hogy miért jó az, ha egy viszonylag egyértelmű user interface-t alakítasz ki és nem lényegtelen dolgokon kell gondolkodni.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Tudod, usability. Elég népes szakirodalma van neki, hogy miért jó az, ha egy viszonylag egyértelmű user interface-t alakítasz ki és nem lényegtelen dolgokon kell gondolkodni.

+1, de továbbra is: a megfelelő disztrókban erre vannak olyan toolok, amiket keresel. Viszont ugyanezeken a disztrókon a grafikus toolok szeretnek kizárólagosságot kapni a garantált működéshez, így pl. egy központosított konfigurációval összeakadhatnak. A lényeg, hogy van szabad választásod [és hogy a leírtak alapján te tényleg az openSUSE-t keresed :) ]

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

hogy miért kellett Linuxszal és pont Ubuntuval szórakozni. (HHVM).

ugy ertem, ha ennyire nem megy a Linux, akkor miert nem vindozen oldjatok meg az egeszet? HHVM is, pgsql is van vindozera, es akkor egy olyan kornyezetben tudnatok dolgozni, ami neked is elegge intuitiv. A rutin megszerzesenek irrealitasahoz csak annyit tennek hozza, hogy egy jol eltalalt google kereses utan kb. copy-paste-elhetoek a parancsok. Ha csak a poen kedveert megnezel egyet, akkor latni fogod, hogy egy 2-3 opcios parancsnal egy picit mellelottel, amikor az "egyertelmu user interface"-en rugozol. Mondom, bedtime sztorinak is elmenne ez a dev az op teruletre tevedt, es azt se tudta, fiu-e vagy lany kezdetu tanmese...

--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)

"HHVM [...] van vindozera,"

Tényleg? Mióta? És ha létezne is, használnád éles környezetben?

"egy jol eltalalt google kereses utan kb. copy-paste-elhetoek a parancsok"

Amiből egyből kiderül az is, hogy arra is képtelen, hogy teli lemezt növeljen. Gondolom az is az én hibám. Amúgy látom nem érted: Windowson NEM kell tutorialt keresgélni, egyértelmű az UI-ról, hogy mit kell csinálni.

"bedtime sztorinak is elmenne"

Látom, szövegértés nem megy még mindig. Nem azzal van bajom, hogy nem tudtam megoldani, azzal van bajom, hogy n db. olyan lépésből áll, amelynek igazából egyetlen egy lépésnek kellene lennie.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Na látod, ez a különbség: szerveren hasznalok Linuxot, Windowst, FreeBSD-t, desktopon Windowst, OSX-et, attol fuggoe,, hogy mi a feladat. Es igen, szoftverfejlesztő vagyok, nem devop, meg ha néha kell is olyan jellegu feladatokat csinálnom, mert pl muszaj, vagy gyorsabb megcsinálni es irni róla egy feljegyzést, mint megírni az egész taskot az uzemeltetesnek, vagy mert pl a sajat jatszoteremrol van szo (jelen események nagyja a tesztszerveren tortent), es szeretnem megismerni azt a kornyezetet, ahova fejlesztek.

Viszont mivel tobb rendszert hasznalok, ossze tudom őket hasonlítani tobb szempont alapján. Es amiota nincs végtelen mennyiségű időm barkácsolni, azóta különösen hangsúlyos szamomra, hogy egy eszközt milyen gyorsan lehet megismerni es mennyire gyors vele dolgozni.

A probléma ott kezdődik, hogy amikor felvetek egy ilyen dolgot, hogy ez máshol sokkal egyszerűbben megoldották, akkor mit kapok vissza? Hülye vagy, nem értesz hozzá, húzzál vissza Windowsra, blablabla. Ahelyett, hogy egy pillanatra elgondolkozna bárki is azon, hogy esetleg nem biztos, hogy a legtökéletesebb rendszer a Linux. Még ha akár csak azzal kényszeríti gondolkodásra az embert, hogy most a random CLI toolt -l1, -l 1 vagy -l=1 módon kell paraméterezni.

---------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

egy kicsit skizofrennek tunik a "bottal sem piszkalnam meg" vs. "szeretnem megismerni azt a kornyezetet, ahova fejlesztek" vs. "nincs ra idom" attitud. Mert ha meg szeretned ismerni, akkor ismerd meg, bar ahhoz meg ido kell. De inkabb csak annyi tortent, hogy akartal valamit, nem tudtad (pontosan) hogy kell, megprobaltad, hatha ugy mukodik, ahogy elkepzelted, de sajna nem ugy mukodott, konkluzio: mar megint szara linux - merthogy tutorialt kell hozza olvasni, mivel nem eleg intuitiv. Bar ha te teli lemezt akarsz megnovelni (akarmit is jelentsen ez), az mar eleve determinalja a vegeredmenyt...

Bar kivancsi vagyok, hogy meddig jutnal el mondjuk vindoze adminisztracioban csak az intuitiv gui-ra tamaszkodva. A php pisti analogiajara max. a vindoze vili szintig - gyanitom.

--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)

akkor a 3 kattintás a gazdaságosabb megoldás.

ob+ a jovoben az en felfogasom helyett inkabb a sajatodra kene fokuszalnod. Kerdezd mar meg azt a par hulyet (ugy ertem nalatok, cegen belul), hogy miert ilyen nem gazdasagos rendszert (ti. linuxot) hasznaltok? Tenyleg erdekel a valaszuk, de foleg a te konkluziod, hogy akkor most ok a hulyek, vagy te...

--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)

Ennyire fogyatékos nem lehetsz: HHVM csak Linuxra van. FreeBSD-re kb. Experimental szintjén.

Másrészt volt már nem egy vitám az üzemeltetéssel, hogy azért egy-két dolog itt-ott picit kőkorszaki módon működik a Linuxban, és ha nem tudnak bizonyos dolgokra adni olyan megoldást, ami a szolgáltatás ideiglenes leállítása nélkül megy (bár esetek nagyja inkabb a "nem bízok benne, hogy ez hiba nélküllemegy/igy sokkal biztosabb") akkor ki lesz dobva a Linux.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Ritka dolog, de ebben egyetertek veled. Nekem mondjuk annyival konnyebb a helyzetem, hogy eleg sokat hasznalok Linuxot, igy nehany dolgot mar anelkul is ki tudok talalni, hogy ismernem az adott utilt, amit hasznalok. De teny es valo, hogy a Linux CLI sokszor nagyon nem intuitiv, es az egyseges szabvanyok hianya hatalmas kaoszt teremt.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

egy kicsit skizofrennek tunik a "bottal sem piszkalnam meg"

Mivan, már megint képtelen vagy olvasni, vagy csak ismételten megpróbálsz szavakat a számba adni. Azt mondtam, hogy Linuxot - nem véletlen - maximum bottal, távolról vagyok használni. Lefordítom a gyengébbek kedvéért: elsődleges desktop rendszernek nem vagyok hajlandó megtűrni, mert annak alkalmatlan szar. SSH-n még hajlandó vagyok foglalkozni vele.

"akarmit is jelentsen ez"

Mondanám, hogy ennyire azért nem lehetsz nehéz felfogású, de már rég kétségbe vontam: Ha tele a partició, és megpróbálod a vg-t növelni - és ugye innen indult ki az egész sztori - akkor a drága LVM picsogni fog, hogy bocs, ez nem fog menni, mert tele a lemez. Ezen mégis mi a tökömet nem lehet érteni?

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

SSH-n még hajlandó vagyok foglalkozni vele.

a bemondo valogatas mintajara kb. ilyen lehet a te foglalkozasod: lepjunk be puttyal, login nev, oke, jelszo, .... oke, sudozzunk, rendben. Na akkor noveljuk meg a teli lemezt, ...., ooo, jaj, vgextend!, na akkor megvan, ill. nincs, jaj, lvextend!, de a df meg mindig nem latja a moegnovelt teli lemezt, jaj, resize2fs! (esetleg: jaj, xfs_growfs /mountpoint!)

Ha tele a partició, és megpróbálod a vg-t növelni

az a tutorial valoszinuleg azert 20 perces, mert leirjak benne a fizikai diszk, az azon kialakitott particio(k), a physical volume (pv), volume group es logical volume viszonyat is, amit ha elolvastal volna, akkor nem probalnal meg tele lemezt noveli probalni (mert hogy fentebb ezt irtad), ami ugy hulyeseg, ahogy van. De az is lehet, hogy csak a fogalmazasod van blintux helyesirasanak szintjen. Namost a vindoze disk manager-eben egy picit mashogy vannak a dolgok, szoval nem feltetlen a linux a szar, mert nem 2 kattintas benne a dolog.

--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)

Bocs, de a leírásod alapján ez inkább PEBKAC kategória lehet. Vg-t, lv-t szét lehet szórni több diszkre is, ha van valahol szabad helyed. Igaz, én hpux-on csináltam ilyet, az meg nem egyezik 100%-ban a linuxossal.

Tudnád picit érthetőbben részletezni, hogy mi volt ami nem ment? Szívesen kipróbálnám egy guestben.

Adott volt egy 8G-s disk image (xenben VM), amin volt egy Ubuntu server. Akartam ra egy ubuntu-desktopot telepíteni, közben elfogyott a hely (ezt egyaltalan miert nem ellenőrzi elotte?) Xenben megnövelték a disk image méretét 14G-re, készítettem új partíciót, azon pvcreate, majd vgextend arra, majd lvextend, ami picsogott, hogy ez nem fog menni, mert nincs eleg hely a köteten. Töröltem par dolgot, egybol lement, aztán mar csak egy fs2resize volt hátra.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Hát pontosan így nem fogom tudni kipróbálni, mert csak virtualboxom van, Xen nincs. (az ubi telepítője meg úgy szar, ahogy van - bejelölöd, hogy rakja fel az update-eket a telepítés során, a "kész" rendszeren egy "apt-get update && apt-get upgrade" mégis kismillió csomagot telepít...)

Viszont gyanús nekem a Xen, a menet közben(?) növelt diszk mérettel.

"Sending a USR1 signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying"

el biza :)

Neked nem trivi, aki meg unixhoz van szokva, az ahhoz is hozzá van szokva, hogy valami signallal elő lehet idézni ilyeneket, és kb 1 perc alatt megnézi a manban. Értem a fenti agymenés jó részét, isten látja lelkem, szerintem kb minden szoftver szar, és bőven van mit javítani a usabilityn, de hidd el, a másik oldalról ugyanez a móka. Bonyolultabb windowsos francoknál (mittomén, utoljára egy Citrix Xenapp evo volt ilyen) a hajamat tépve tudok kurvanyázni, hogy semmit nem találok, de nyilván egy egyszerű mass windows installal is simán hosszabbat szivok, mint aki napi szinten csinálja, mert nem ismerem a toolokat, meg nincsenek összeszedve hozzá a vackok.

--

X meg ja, remoteban szar. Gyenge vonalon látványosan, erősön csak kevésbé. Viszont igazság szerint ha már valami szerver izét grafikusan kell bizgetni, attól eleve agyfasz van, tessék szépen csinálni hozzá cli / tuit. Tudomásul kell venni, hogy ott sokkal jobb a tool támogatottság, mint graf izékkel.

Apropó, dd.

USR1 signal-ra a legtöbbb dd implementáció kiírja, hogy mennyi idő alatt hol tart.

Először CentOS volt a kiszemelt áldozat, majd miután rá kellett jönnöm, hogy *minden* kőkorszak benne a feladat végrehajtásához, így letettem róla, és fogtam egy Ubuntut, amit láthatóan jobban támogatnak.

Azért egy-két héttel a 7-es megjelenése előtt arról picsogni, hogy a 6-os mennyire kőkorszak...

Az egész egy Citrix XenServer-en belül települt, ott kiderült első körben, hogy a drága jó Citrix nem vett át egy kb. egy éves patchet, ami miatt az újabb Ubuntuk csesznek felmenni. De a diverzitás jó, megmondták a hupon! Utána a telepítőn fogtam a fejem több soron.

És ezzel meg is magyaráztuk, hogy miért "kőkorszak" a CentOS - a kiszámíthatósághoz/tervezhetőséghez kell a kiszámítható csomagkínálat.

Ezzel szemben az LVM-hez - bár léteznek grafikus toolok - alapból egy unintuitív CLI-s utilkupac van.

Igen. A lényeg a "bár léteznek grafikus toolok"-on van - ha már úgyis van/lesz X11 forward, nehéz lett volna feldobni egy [random LVM kezelő itt]-t.

"mert szart hasznalsz, yast install disk, aztan mar reg tul lennel rajta kattintgatva"

Bullshit, tessék Yast-ot használni, ad TUI-t, még kattintgatni sem kell ;)

Konklúzió: 2014-ben (sem) nyűgözött le a "Linux destkop" és a Linuxos toolok kőkorszakisága, unintuitivitása.
[...]
Hogy Linux + távoli használat még mindig szopás, az hihetetlen.

Hogy még mindig feldobsz egy olyan disztrót, amit nem erre terveztek, és meglepődsz azon, hogy állítani kell hozzá, az hihetetlen. SuSE alatt ez egész pontosan egy (TUI-s !) yast VNC engedélyezés (kb. tíz billentyűleütés, és beállítja a tűzfalat is etc.)

Szerk.: Masszív fail a részemről, hogy eddig nem jutott eszembe, de: a SuSE telepítő a konfigurációs szakaszban rákérdez, hogy kell-e VNC, ott spec egy kattintással elintézhető az engedélyezés és a tűzfal beállítás.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Ilyen ez a popszakma...

HHVM helyett/mellett esetleg érdemes lehet megnézned egy új kezdeményezést, már amennyiben nem idegenkedsz a JVM-től: http://ceylon-lang.org/ És igen, statikus típusos nyelv, osztom a véleményed ez ügyben teljesen. Ráadásul a JVM miatt lesz Postgres-hez is connection pool implementációd :)

A remoting pedig egy érdekes dolog, a Windózokba épített RDP eléggé jó, linuxon kliensnek Remmina-t szoktam használni, van olyan verziója, ami stabil. Ha viszont linuxra akarsz bejelentkezni, akkor az X11 forwarding sajnos nem túl jó, több okból is. Nagyon érzékeny a hálózati lag-re a rendkívül sok oda-vissza beszélgetés miatt. A másik baj ezzel az, hogy sok program, főleg a Gnome-osok igényelnek bizony dbus-service-t, gnome-session-t, stb, azaz az X régi filozófiája már nem működik. Én erre a nomachines-féle NX progikat próbáltam ki, nagy megelégedéssel. Van működőképes kliens windózra is, kb a windózos RDP-re tudnám hasonlítani inkább.

Felejtős, több szempontból is. HHVM pont ugyanaz az ok miatt érdekes számomra, mint amiatt a Facebooknak: képes futtatni a meglévő PHP kódokat, ez a ceylon langra nem igaz. :) Új projektet egyébként el nem kezdenék ilyen szarokban, C# vagy Java. Eleve nehéz kódert találni, nem fogom még magam nevenincs nyelvekkel szivatni.

A nomachines féle cuccról hallottam már, de sosem volt időm kipróbálni és most sem azzal akartam húzni az időt. Reméltem, hogy a Linux devek képesek megugrani 2014-re azt a szintet, hogy menjen egyből az ilyen használhatóan, de nem, még mindig ott tartunk, hogy valahol kilóg a lóláb.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

En inkabb nem kinlodok az NX-szel, mikor ott van a Gnome-os VINO server, felrakod, egyszer megfuttatod a vino-properties -t, belovod ami kell, es onnantol kezdve elfelejted.

Kulon szerencse, hogy bar GNOME-os a cucc, relative keves fuggese van, es egy XFCE/LXDE kornyezetet is siman atpasszint VNC-n, default 5900 -as porton. Arra kell csak figyelni, hogy nehany DE nem kezeli a gconf-ban engedelyezett serviceket, en ilyenkor le szoktam rakni egy autostart fajlt hozza.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Jó a vino, de attól függ, hogy mi a cél. Nekem az kellett elsősorban, hogy távolról bejelentkezve saját login sessiont kapjak, nem egy már belépett session-t akartam távirányítani. Biztosan meg lehet oldani VNC-vel is, de a nomachine-es nxserver egyszerűbb volt: dpkg -i nxserver satöbbi, aztán kb. kész is volt a dolog.
A másik előnye a VNC-vel szemben a teljesítmény. 100mbit-es local hálón nem tapasztaltam lag-et, vicces módon még vmi filmet is kipróbáltam, és szaggatásmentesen jött a kép és hang :) A VNC protokoll univerzális, de ára van teljesítményben. Nekem nem univerzális kellett, hanem jól és gyorsan működő specifikus.

Na latod, en sose akarok loginolni a VNC-vel. Ha leall a gep, akkor ugyis oda kell valamilyen formaban menni hozza (virtualgepnel a konzoljara, fizikainal meg monitorral kell megdugni) hogy mibaja, akkor mar be is tudok lepni.

Egyebkent IIRC az NX is vagy RDP-t vagy VNC-t hasznal a hatterben kepprotokollnak.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Nem olvasok at minden kommentet, lehet volt mar.

LVM menedzseleshez (meg ugy altalaban diskmgmt.msc alternativakent) en a GPartedet ajanlom. Mindent tud, amit a temaban tudni erdemes, grafikus, kattintgatos, rettenetesen intuitiv. Arra figyelj, hogy az LVM tamogatas relative uj cucc benne, esetleg egy regebbi Debianban vagy CentOS-ben nem biztos, hogy mukodik.

Sajnos TUI feluletet nem tudok az LVM-hez, pedig nem lenne nagy ordongosseg osszerakni egyet.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

A Display Manager elintézi a magic cookie átmásolását. Igaz, ettől még nem lesz biztonságos. A DISPLAY-t meg inkább kiexportálom, minthogy pl. egy Java-s alkalamazás GUI-jára várjak.

------------------------------------------------------------------------------
www.woodmann.com/searchlores/welcome.htm

ezt a display exportolok inkább, mint egy javas guira várjak dolgot nem értem (igazság szerint a másikat se nagyon). De alapvetően az van, hogy megtanítottam a securecrt/putty/cmdline ssh/whatever kliensnek, hogy defaultból kérjen X forwardot, majd dolgozom, és ha kell valami Xes, akkor az esetek nagy százalékában az ssh már elintézte nekem. Amikor esetleg nem, akkor nyilván exportálok egyet. Ennél kevés egyszerűbbet tudok elképzelni...

"Windowsban azt szeretem, hogy ha van rá mód és az ember tudja, hogy mit akar és nagyjából tudja, hogy hol keresse az adott dolgot, akkor _általában_ viszonylag intuitív"

Kiveve az sc.exe, azzal elsore mindenki legalabb fel orat sziv, mire rajon hogy a key=value parameterekben az egyenlosegjel utan kotelezo a space. :)

Windowson _normal_ uzemeltetes mellett nem kellenek registry hackek. Telepitesnel, teljesitmenyoptimalizalasnal esetleg, de a normal uzemeltetes soran otevente 1x vagy 2x kell ilyesmit csinalni, sot, van h egyaltalan nem kell.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Bemész a Disk management-be (diskmgmt.msc), átkonvertálod dinamikus lemezzé (1 kattintás), aztán katt a kötetre, add mirror, kiválasztasz egy másik dinamikus diszket és kész. Van JBOD, RAID5 és winszerverben talán RAID10 is.

Ugyanitt lehet extendelni/shrinkelni, betűjelet/csatolási pontot állítani és particiót/köteteket létrehozni, törölni.

Megjegyzem, a Windowsos Volume Manager alapjai - ha jól tudom - a Windows 2000-ben lettek lefektetve, kb. 15 éve. Plusz, egy ideje van snapshoting, tudsz live rendszerrők konzisztens backupot készíteni (Volume Shadow Services a neve), stb.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

dd if=X of=Y & pid=$!; while sleep 1; do kill -SIGUSR1 $pid; done

`pv' még bitkolbászt is rajzol, bár kevesebb disztróban van fent alapból:

ha X image file:
pv X | dd of=Y

ha X block special
pv -s $amennyi_byte X | dd of=Y

~~~~~~~~
deb http://deb.metaltux.tk/ wheezy yazzy repack

Igen, már fennt emlíették többen is. Csodás, intuitív, magától értetődő csöppet sem okádék megoldás, hogy egy process lelövésére tervezett eszközzel tudsz egy folyamat állapotáról érdeklődni.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

A signalok nem a process lelövésére szolgáló eszoközök. Van köztük kettő, ami arra szolgál, de egyébként még sok másra is szignalok vannak. Abban egyetértek, hogy ha nem killnek hívnák, hanem mondjuk sendsignek, az talán szerencsésebb lenne. Persze akkor meg menne a hiszti, hogy nincs egy parancs a processz lelövésére, hát miért nem intuitív ez a szar. :)

A man page sajnos tényleg úgy nyit nálam, hogy "kill - terminate a process" és tényleg counter-intuitive, hogy a kill-el lehet plusz működésre bírni. Lehet mondjuk annyi kiegészítés, hogy kill argv[0]-val indítva default TERM, sendsig argv[0]-val indítva nincs default signal, és külön man page a sendsig-nek.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

errol a topikon vegigvonulo intuitivitas mindenek felett siramrol az a (regi) Nagy-Bando performansz jut eszembe, amikor Murhpy torvenyeit fejtegette, es azon belul is azt, hogy csinalj egy olyan dolgot, amit a hulyek is tudnak hasznalni, es csak a hulyek fogjak hasznalni...

--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)

Jaj, ez a Linuxos felsőbbrendűségi tudat, amit jobb esetben kinő az ember középsuli második felére.

Elhiszem, hogy jó bemesélni magadnak, hogy te mennyire fasza gyerek vagy, hogy neked jó az, hogy szándékosan szopat a rendszered és végtelen mennyiségű időd van, hogy a rendszeredet babusgasd, én viszont jobb szeretem, ha a rendszerem van értem és jobban örülök, ha tamagochizás helyett inkább egy eszközöm van, amivel a munkám el tudom végezni, gyorsan, hatékonyan.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

amikor en kozepsuliba jartam - a "2. feleben" - akkor meg nem volt linux :-) Szoval nem annyira regi az ismeretsegem a linux-szal, de nem gondolnam, hogy "szandekosan szopatna a rendszerem".

Nem tudom, mennyire illik rad a vadasz es a medve vicce, de en biztosan nem azert jarok az erdobe/medvehez. Az igaz, hogy sokat kiserleteztem, probalkoztam, jatszottam linux-okkal, unix-okkal, es valoban kellett olvasgatni manualokat, meg ugye google baratunk is segit, de amelyik op-nak mindez nem volt meg (sot, az egeszet nyugodtan merem jelen idoben is mondani pl. egy uj technologia kapcsan), az minimum furcsa a szememben.

Az meg, hogy egy dev "linuxfoldere" (ami determinalja, hogy kb. mennyire lehet eltajolva) teved (mondjuk ugy finoman) 'megfelelo ismeretek nelkul', aztan labon lovi magat parszor, merthogy "szandekosan szopatja a rendszer" (jaja, nyilvan csak igy lehet), azon meg max. rohogok egyet, ... inkabb kettot. Ha szerinted ez mar linuxos felsobbrendusegi tudat, akkor agyturkasz nelkul is latjuk, hogy nagyon sziven utott ez a "szandekos szopatas".

Tudom, hogy a te vilagkepedbe nem fer bele az, hogy a linux worksforme (amint korabban is jeleztem, amiben a dev hasraesett, az az op-nak rutinmutet), de ez az igazsag. Ismered azt a mondast, hogy a unix baratsagos, csak eppen megvalogatja a baratait. Amint te is jelezted a max. bottal piszkalnad meg ars poetica-dban, ti nagyon nem vagytok baratok. Mindenesetre sok sikert a prod szerver windowsra migralasahoz ;-)

--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)

Oké, csak a szokásos fellengzős fasság. És látom továbbra sem sikerült túltenned azon magad, hogy képes voltam megoldani a problémákat. Csupán meg mertem jegyezni, hogy ezt máshol azért sokkal kulturáltabban oldották meg. Még ha ez neked komoly lelki törést is okozott.

Egyébként egész meglepő módon, néha még olyan érzésem is van, hogy tudnak ezek az ubuntusok egész konzisztens rendszert is csinálni (ameddig az ember nem akar benne egy picit piszkálni), mert sima desktop-ról telepítve (itthon vmware-ba) egy egész használható rendszer lett a végeredmény. Már, ha nem számítjuk, hogy képes volt 20G disk image-ra 15G swapet csinálnia (16G ram mellé /o\) és az emúlt 3 órában csak 3x sikerült összeomlania a Firefoxnak (kb. 2,5 óra alatt).

Kérdés akkor már csak annyi, hogy a többi részét miért nem tudják összekalapálni.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Oké, csak a szokásos fellengzős fasság.

ha valami masnak mukodik, az fassag. OK, got it. Hogy vindozen intuitivabb a dolog, na paff. Amig te kikattintgatod, azalatt - hidd el - en is boven megcsinalom ugyanazt. Mondom, orulok annak, hogy vegul sikerult megcsinalnod 1-2 benazasbotlassal, de igazabol leszarom. Ezert is irtam fentebb, hogy 'ok, te gyoztel', LOL. A 15 (of 20) GB swapet meg inkabb nem kommentalnam...

--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)

Mert kitalalja, hoyg mit szeretnel :)

Amugy engem most Debianon baszott fejbe agyilag (mondjuk, testing, de akkor is), hoyg az eddig teljesen jol mukodo growisofs nem akart az usernek (nekem) dvd-t irni. Egy frissites utan az usernek hirtelen megszunt az irasi joga a /dev/sr0 eszkozre. Csoportban benne, csoportnak irasi joga megvan, ugy, mint x ev ota (vagyis nem x ev ota, tekintve, hoyg 2013 decemberben a 64 bitre migralas miatt ujrahuztam a 10+ eves Debiant). Bar, elotte is mukodott, most hirtelen nem.

--
http://www.micros~1

felreertesz: szerintem sem kovetkezik. Regen volt egy olyan javasolt szabaly, hogy swap = 2 * memoria, de akkor meg boven 1 GB RAM alatt arultak a gepeket. Mondjuk ez a 15 GB-os default swap nem a linux anti-intuitivitasat jelzi, hanem az elszabott ubuntu telepitoet. Bar ebbol a szempontbol a szuperintuitiv vindoze is mokas, amikor autora allitod, es az szinten sok GB-os pagefile-t kepes osszehozni.

--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)

Idézet belőle: "Linux Programmer's Manual".
És akkor még egy:

which: no signal in (/usr/local/bin:/usr/bin:/sbin:/usr/sbin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/mit/bin)

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

spec a signalok mondjuk a kill manjában is benne vannak, de kissé már túlpörögtük ezt. Tény, hogy lehetne ügyesebben, meg az is, hogy aki rendszeresen tologat unixot, az azért erre előbb utóbb gondol. Kvázi "intuitív", hogy "nincs valami signal, amivel meg lehet kérdezni?". Konkrétan én spec nem emlékeztem, és a man, /, verbose, nem, akkor status, nem akkor signal, ez az módszerrel kerestem meg kb egy perc alatt.

És azért lássuk be, hogy cli-n nehéz azt a kényelmet adni generalice, mint amit a gui tud azzal, hogy előregyártott felületen mutogat mindenfélét. cli-n muszáj olvasni egy kicsit többet, jellegéből adódóan.

Nem szeretnék nagyon a mélyére mászni, de ahhoz a man 7-hez nem árt ismerni a man-t.


man man

abból is legyen itt egy idézet, leírja a kézikönyv fejezeteket:

The table below shows the section numbers of the manual followed by the types of pages they contain.

1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File formats and conventions eg /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
8 System administration commands (usually only for root)
9 Kernel routines [Non standard]

A manual page consists of several sections.

Akkor már nem olyan idegen, hogy
- programozói az a kézikönyv
- nincs olyan parancs, hogy signal.

Mivel többnyire a "man 1" írja le a parancsokat, a "man 7" ellenben a signalokat írta itt le, hogy lássuk a KILL,TERM,STOP,HANG-on túl is van élet

De, ha valaki hajlandó elolvasni a signal manual-t, akkor megismerheti, hogy a kill(2) - azaz rendszerhívás - "sends a signal". Ezért kill a parancs, ami a rendszerhívást használatát biztosítja neki. Ha meg is jegyzi, akkor intuitív lesz a használt rendszere is.

Sending a signal
The following system calls and library functions allow the caller to send a signal:

raise(3) Sends a signal to the calling thread.

kill(2) Sends a signal to a specified process, to all members of a specified process group, or to all processes
on the system.

Azért ezt az "intuitív" témát valahol meg tudom érteni.
Kill = gyilkolni
Erről egy épeszű embernek az jut eszébe, ha annyira képben van, hogy processzekhez van köze, hogy ezzel lehet legyilkolni a feleslegessé váltakat. Amikor először láttam, hogy mennyi mindenre jó a kill (illetve a vele küldhető signalok), akkor anyáztam egy sort, hogy hogy lehet ilyen idióta nevet adni egy programnak, ami valójában nem is az aminek hívják. :)

Köszönöm, ismerem a signal-ok működését, de ahogy HZ írja felettem, továbbra is azzal van baja saxus-nak -- érthető módon --, hogy "de hát a 70-es évekbe' jó volt az" alapon egy ln -s kill signal -ra nem képes a Unix/Linux community. Őszintén, random bash scriptben melyik az olvashatóbb, ha nem ismered a signalok működését:

kill -USR1 $PIDOFDD

signal -USR1 $PIDOFDD

Az egyik a neve alapján megöli a $PIDOFDD-t (mert a PID fogalmát sem biztos, hogy mindenki ismeri), a másik egy jelzést küld. Ugyanazt csinálja a kettő, egész más néven.

És akkor visszakanyarodva a programozói interfészekhez, ahonnan ez származik (és amiről a usernek nem kéne tudnia): melyik a jobb függvénynév:


embrace_the_pink_unicorn(const char *url);
download_file(const char *url);

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Igazából valami olyasmit vártam volna, hogy

dd if=/innen of=/oda --mutiholtartasz

Valami ilyesmit is keresgéltem a manban is, azt viszont elismerem, hogy a signalos részt már nem olvastam. Igen, tudom, ott van alatta (azóta megnéztem).

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Egyszer értek veled egyet és azonnal el kell rontanod? :)

A --mutiholtartasz szerintem továbbra is wrapper kérdése kellene, hogy legyen ennyire alap toolnál (egyszerűen túl sok use case-t kéne lefedni ahhoz, hogy maga a program oldja meg, tényleg jobb, hogy önmagában nem kommunikál, így utána a megjelenítés le van választva. De hogy a kill parancssal lehet plusz működésre bírni, az egy szemantikai katasztrófa :)

Szerk.: Nem neked, csak clarification: azzal sincs bajom, hogy signal-okkal lehet neki üzengetni, erre vannak, még mindig jobb, mintha a D-Bus-on figyelne egy dd :), tényleg csak a kill nevével (és a kill parancs manjában az összefoglalóval).

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Oks, hányszor? Ha egyszer kiírja, azzal nem vagy kisegítve. Ha másodpercenként kiírja, akkor lesz egy marha hosszú kimeneted, mire végzel egy nagyobb fájllal. Milyen user ül a képernyő előtt: aki tudja, hogy az utolsó három sort kell mindig nézni, a többi addigra már csak zaj, vagy aki nem tudja ezt, és mindig le kell takarítani a képernyőt. Esetleg (valószínűleg?) a stdout túlsó felén egy másik script van, annak sem kellene "takarítani a képernyőjét" stb.

És igen, rengeteg esetet le lehet kezelni (pl. terminál milyenségének tesztelése, még több argumentum etc.), de szerintem tisztább az "ez van, ha több kell, kompozitálj" megoldás. Jó példa erre a listsvc, ami - tényleg minimum több oldalas lesz a kapott lista -, de ott nyit, hogy önmaga implementál egy more-t (azt hiszem ha át van irányítva a kimenete fájlba, akkor nem), mert csak. Szerintem annál is tisztább lenne az a megoldás, amit pl. systemd-ék használnak, hogy ha kicsi a terminál, akkor levág, de a kimenet végén kiírja, hogy ha a teljes kimenetre kiváncsi vagy, futtasd ezt. A Listsvc is csinálhatná, hogy kiírja, ha lapozást is akarsz, listsvc | more. Tényleg csak annyi, hogy van, hogy nincs elég információja egy programnak az adott use case-hez, és akkor az új argumentum helyett/mellett számításba kell venni a kompozíciót.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Bár szerintem is jó a signalozás, legyen elszeparálva a feature, a terminál kezelés az, aminek pont nem annyira van helye szerintem benne (a systemdben sem), éppen amiatt, hogy a flowt csinálja csak a terminál, vagy valami, ami épp azért van, hogy a csökött terminál helyett megcsinálja (more / less). Az meg hab a tortán, mikor valami az esetleg parseolt kimenetbe belehányja, hogy "levágtam, nem baj?". Pláne, ha ezt ott teszi, ahol egyébként az érdemi infó van (stdout leginkább). Péklapát díj, ne törjük már össze a scriptelhetőséget, pipeolhatóságot....

Akkor legyen idézet a bash man-ból is :)

kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...

Többnyire a shellek rendelkeznek beépített kill paranccsal, így link esetében más futna a signal és más a kill hívásakor.

> kill -USR1 $PIDOFDD
Miért várod, hogy aki ebből csak a kill-t és a $PID-et nem ismeri, az pont a USR1-et fogja? sőt, tudni fogja, hogy a dd mire használja.

> embrace_the_pink_unicorn(const char *url);
> download_file(const char *url);
Nekem ez öngól gyanús.
Lehet, hogy az

int  kill(pid_t pid, int signal)

rendszerhívásnak jó wrappere a kill shell parancs,
nem olyan konfúz, mintha a kill() wrappere a signal, lenne ami a paramétere.

Az lehet jogos kérdés, hogy miért is kill() a hívás, de az legyen a POSIX gondja, az enyém az lenne, ha hirtelen átneveznék.
(szerintem történelem, kill,term,hangup lehetett a legősibb igény, utána meg már zavaró lett volna újratervezni, de ez részemről találgatás)

Akinek igénye van rá szerintem bátran élhet a lehetőséggel alias, link...
ln -s kill signal
alias kikk-the-process="signal -9"
alias "állj meg kérlek, lécci"="signal -15"
alias "kösd föl magad"="kill -1" # ;)
(nem vagyok jó alias szintaxban, nem használom)

Nem várom, viszont informatívabb az, hogy signal (valamit üzenük), mint az, hogy kill (valamit megölünk, bár mégse)

Azért nem öngól, mert pont arra próbáltam célozni, hogy egy rosszul elnevezett rendszerhívásról van szó, aminek a nevét utána évtizedek óta megörökölte a hozzá kapcsolódó wrapper.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

No csak most értem rá foglalkozni vele. Miért kill a kill, és miért nem send-a-message-to-do-something?

A válasz baromi egyszerű. Első olvasatra javasolt a signal(2) majd innen rögtön érdemes áttérni a signal(7)-re. Rögtön az elején ez látszik: "Each signal has a current disposition ..... Term / Ign / Core / Stop / Cont". Majd ha megnézzük sokkal arrébb a táblázatot ami a különböző szignálok alapértelmezését mutatja, akkor ez látszik: az 1 (SIGHUP)-15(SIGKILL)-ös tartományban (*) van 8 TERM és 7 CORE - magyarul eredetileg a szignálok biza tényleg megölték az adott processzt. STOP/CONT/IGN gyakorlatilag a job-control signalok környékén jelent meg, ezek a mechanizmusok viszont vagy 10-15 évvel a UNIX kialakulása után jelentek meg (valamikor a 4.x BSD környékén, ha jól rémlik).

No ennyit a történelemóráról.

(*) Kb ez a tartomány tekinthető az alapnak. (Ami 15 fölött van, az erősen implementációfüggő - bár itt is vannak kavarások.)

Ez oké, de továbbra is: ha valamiről elnevezel egy programot, aminek utána a jelentése változik - és ráadásul a rendszer lehetőséget ad rá -, akkor miért nem lehet akár link szinten átnevezni, hogy a meghívott program tényleg azt csinálja, amit a neve sugall (argv[0] == kill -> default TERM, argv[0] == ssig -> nincs default, kötelező megadni)*? Szép és jó dolog tisztelni a történelmet (pffft... lol), de a használhatóság rovására nem kéne.

*: btw, ezért imádom, amikor egy hostnevet egy termékről adnak (pl. exchange.foo.bar), gyakorlatilag a teljes infrastruktúra alapjává teszik, aztán egy évtizeddel később, amikor már 5 éve discontinued a termék és már rég más fut a gépen, akkor - 1) mivel túl sok helyen kéne módosítani és 2) "történelmi okok" - senki nem érti, hogy miért az a gépnek neve.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)