Un client subțire fără disc bazat pe Ubuntu care nu necesită montarea sistemului de fișiere în rețea. Client subțire fără disc bazat pe Ubuntu, care nu necesită montarea sistemului de fișiere prin rețeaua Livesurf, clientul nu funcționează pe Linux

Imagine de pe getwallpapers.com

Poveste

În 2013, o bancă folosea clienți subțiri bazați pe DisklessUbuntu. Au fost unele probleme cu ele; în opinia mea, montarea sistemului de fișiere rădăcină în rețea în ramuri mari cu o rețea slabă nu a funcționat foarte bine. Apoi, bunul meu prieten @deadroot a realizat prima versiune a unui client subțire care s-a încărcat în întregime în memorie, fără a fi necesar să fie montat nimic în rețea pentru a funcționa.

Apoi am completat activ acest client; acolo s-au făcut multe lucruri utile, specifice cazului nostru de utilizare. Apoi banca sa închis (licența a fost revocată), resturile codului sursă al clientului au fost mutate în github-ul meu: thunclient. De câteva ori l-am terminat ușor la comandă.

Recent, am ajuns să fac o soluție destul de ușor de utilizat din această grămadă de scripturi înfricoșătoare și nesigure:

  • Vagrant oferă o mașină virtuală care poate fi configurată ca o stație de lucru obișnuită.
  • Un script colectează fișiere din el care sunt gata pentru descărcare prin rețea și elimină excesul.
  • Vagrant creează un server PXE virtual și un client de rețea pentru a testa construcția rezultată.

Ce poate sa faca el?

  • Este complet încărcat în memorie și nu necesită montarea sistemului de fișiere rădăcină în rețea pentru a funcționa.
  • Construit pe baza Ubuntu, aproape orice software poate fi instalat din depozitele sale bogate, iar cele terțe pot fi conectate dacă lipsește ceva. Este deosebit de plăcut că actualizările de securitate ajung în Ubuntu destul de repede.
  • Capabil să monteze suprapuneri suplimentare deasupra sistemului de fișiere rădăcină. Puteți adăuga software doar pentru unele stații de lucru fără a construi o nouă imagine
  • Poate face zram - compresie de memorie, utilă pentru clienții vechi cu o cantitate mică de RAM. Deși pentru cele noi, de regulă, nu va strica.
  • Din cutie, este asamblat un desktop ușor (LXDE) cu un client RDP; adresele și parametrii serverelor RDP sunt pur și simplu transferate de pe serverul PXE prin intermediul parametrilor în timpul pornirii.
  • Puteți modifica un parametru în configurație și un sistem de consolă minim va fi asamblat fără software inutil - baza pentru unele dintre versiunile dvs. personalizate.
  • Dacă descărcarea eșuează din cauza problemelor de server sau de rețea, va afișa pentru scurt timp un mesaj de eroare și va încerca să descărcați din nou. Este convenabil ca, atunci când problemele sunt rezolvate, stațiile de lucru se vor ridica singure, fără mișcări inutile.

Banca a folosit VNC pentru a se conecta de la distanță la clientul subțire al utilizatorului (x11vnc pentru a se conecta la o sesiune Xorg care rulează deja). Nu toată lumea are nevoie de acest lucru (de obicei, capacitatea de a se conecta la o sesiune RDP pe un server terminal este suficientă) și totul este foarte individual în ceea ce privește cerințele de confort/securitate. De aceea nu am postat această parte.

Analogii

De ce nu folosiți doar Thinstation?

Dacă sunteți complet mulțumit de Thinstation, atunci este mai bine să îl utilizați; este un proiect mai vechi și mai matur. În plus, este de o ori și jumătate mai mic ca dimensiune; la urma urmei, acesta este un ansamblu special adaptat pentru volumul minim, și nu un Ubuntu obișnuit ușor modificat.

Dar versiunile de software din el sunt destul de vechi și există puține dintre ele acolo. Dacă aveți nevoie de ceva suplimentar, pe lângă clienții RDP/Citrix/…, va trebui să îl asamblați manual și așa mai departe cu fiecare actualizare.

Vagrant vs chroot

Versiunile anterioare foloseau chroot, la fel ca majoritatea proiectelor similare, cum ar fi Thinstation, de exemplu. Acest lucru nu este dificil, dar totuși, un program separat lansat într-un chroot nu corespunde cu ceea ce se întâmplă pe mașina reală: nu există interacțiune cu sistemul init, cu alte programe și servicii. În plus, Vagrant a făcut posibil ca procesul de creare a unui client să fie cât mai simplu posibil: mașina virtuală este configurată ca o mașină obișnuită.

Desigur, utilizarea Vagrant vine cu unele complicații.

Serviciul virtualbox-guest-utils trebuie să ruleze pe mașină pentru ca folderele partajate să funcționeze. În plus, aveți nevoie de un manager de boot (grub), care este obligatoriu pentru o mașină cu disc și inutil pentru un client care pornește printr-o rețea. Am rezolvat aceste probleme excluzând toate fișierele acestor pachete din build. Prin urmare, ele nu afectează dimensiunea imaginii rezultate.

În plus, Vagrant necesită rularea ssh pe mașină, permițând utilizatorului cheia generată. Exclud din build directorul principal al utilizatorului vagabond folosit pentru configurare, împreună cu cheile lui ssh. Cheile pentru Ubuntu al utilizatorului pot fi plasate în directorul său principal.

Ei bine, pentru a funcționa, Vagrant generează setări de interfață de rețea care vor fi eronate pentru o mașină reală. În timpul asamblarii, a trebuit să înlocuiesc fișierul de interfețe și să scriu un script care, pe o mașină reală, generează o configurație pentru configurarea tuturor interfețelor disponibile prin DHCP.

Aprovizionarea se face folosind Ansible. Acesta este un instrument foarte convenabil pentru configurarea tuturor tipurilor de software și hardware. Dar nu aș vrea să includ Ansible și al doilea python pe care îl necesită cu bibliotecile necesare în imaginea finală: este balast inutil. De asemenea, nu vreau să instalez Ansible pe o mașină în care mediul virtual este deranjat: va complica munca.

Vagrant vă permite să faceți un truc: instalați Ansible pe o singură mașină (server PXE de testare) și implementați alte mașini de pe acesta, în cadrul aceluiași manual. Pentru a face acest lucru, mașinile trebuie să aibă un IP static pentru a-l înregistra în inventarul ansible. Ei bine, am rezolvat problema cu configurarea interfeței în ultimul paragraf.

În pregătirea pentru scrierea a 2 articole despre factorii comportamentali (pentru toată lumea și pentru abonații înregistrați), am decis să introduc cititorii în servicii care promit rezultate bune în acest domeniu.

La început m-am uitat pe scurt la serviciul movebo.ru - pare a fi destul de bun și există recenzii bune de la oameni serioși, dar din anumite motive toți optimizatorii decenți nu au experimentat pe propriile lor site-uri. Dar m-a interesat un punct din Întrebările frecvente ale acestora: la întrebarea „Cum să devii executantul sarcinilor tale?” a fost dat un răspuns uimitor - „În principiu, nu implicăm utilizatorii Movebo.ru în instalarea software-ului.” Cu alte cuvinte: în niciun caz!

Dacă o persoană care vine în serviciul lor pentru prima dată și pune o întrebare este deja considerată utilizator, atunci acest lucru trebuie înțeles - în niciun caz nu veți deveni interpret, deoarece recrutăm interpreți în alt loc și sub alt brand. Atunci m-am gândit că se pare că interpreții erau plătiți cu doar bănuți și, pentru a nu-i supăra pe webmasteri și optimizatori, era mai bine să tacă.

Apropo, pentru a avea condiții bune pentru vizitatorii site-ului din punct de vedere al factorilor comportamentali, este necesar să facem o utilizare bună a site-ului. Dacă nu știi cum să o faci corect, apelează la profesioniști, ei știu bine acest lucru.

De unde le pot lua? Îți dau un indiciu. De exemplu, dacă locuiți în Zelenograd, atunci aceasta este cererea pe care trebuie să o faceți pentru a le găsi - „dezvoltare site web în Zelenograd”. Acest lucru este deosebit de important dacă intenționați să realizați un site web cu un accent comercial clar, de exemplu, un magazin online.

Descrierea modului în care funcționează sistemul Live Surf este destul de atractivă.

Principiul de funcționare este acesta. Fiecare utilizator al sistemului poate instala software pe computerul său care va simula vizitarea site-ului web al altcuiva. În schimb, veți primi vizitatori pe site-ul dvs.: timpul de așteptare este de 30 de secunde (standard), dar îl puteți mări, adăuga mai multe vizualizări de pagină etc. Se recomandă modul automat - conectați-l și tăiați cupoanele fără a face nimic altceva. Adică, prezența crește treptat și problema refuzurilor va fi aproape rezolvată (și, parcă, se luptă cu asta).

Mai mult, la înregistrarea la serviciul livesurf.ru primești 100 de credite (moneda locală) gratuit, pentru care poți obține 100 de vizitatori.

Creditele pot fi câștigate scriind recenzii, plasând bannere, participând la un program de afiliere sau pur și simplu cumpărându-le la prețul ridicol de 0,001 ruble sau, ceea ce este același, pentru 0,1 copeici ale unui vizitator aproape real. Imaginați-vă, pentru niște nefericite 100 de ruble veți obține un întreg zece mii de vizitatori– și lasă-i pe proști să scrie articole, să le optimizeze, să lupte pentru TOP etc.

Crezi că am făcut o greșeală la preț, vezi singur (pentru a mări, click pe poză):

Dar puteți chiar să obțineți vizitatori gratuit folosind programul instalat. Acest lucru, aparent, este pentru cei care nu au nici măcar 0,1 copeici. Cine sunt ei? - Sunt în pierdere. Chiar și școlarii pot economisi 100 de ruble pe înghețată. Se adresează grădinițelor?

Când vă înregistrați (nume + e-mail), trebuie doar să vă activați contul în e-mailul trimis, apoi să indicați site-ul dvs. și gata - sistemul începe să funcționeze instantaneu. Am fost surprins să văd cum împrumuturile au început să fie anulate și numărul de vizite a început să crească. Dar încă nu am făcut nicio setare! Apoi s-a dovedit că modul implicit este automat și există și un mod manual, dar cu asta, la fel ca în multe alte lucruri, nu mi-am dat seama și am fugit: esența problemei a devenit clară chiar de la început. început.

Nu am avut timp să mă gândesc prea mult la toate acestea, pentru că am vrut să folosesc Yandex. Webvisor pentru a vedea ce fel de vizitatori sunt și ce fac aceștia pe site. Privind puțin în perspectivă, voi spune că serviciul Live Surf își îndeplinește promisiunile: conform datelor lor, pe blogul meu au venit 12 vizitatori și Webvisor i-a înregistrat pe toți.

Eh, ar fi mai bine dacă nu ar veni. Judecă singur:

  • Toți cei 12 au accesat cererea „www.site”;
  • Toate cele 12 au fost pe blogul meu pentru prima dată (și cum ați aflat URL-ul?);
  • Toți cei 12 au stat 15 secunde (au promis 30 de secunde);
  • Toate cele 12 erau doar pe pagina principală - au venit acolo, de acolo și au plecat (unde este vizualizarea paginii?);
  • Toate cele 12 nu au făcut o singură acțiune pe site, chiar și urmărirea Webvisor nu a fost activată.

Tot ce am până la urmă sunt 12 mesaje Webvisor de genul acesta:

Desigur, am retras imediat site-ul din serviciu: de câțiva ani practic nu am avut solicitări cu numele site-ului, dar aici vor fi 30 în fiecare zi, tot la fel. Nu, IP-ul fiecăruia este diferit, dar aceeași pagină este întotdeauna vizitată și toți vizitatorii nu fac nimic pe ea. Și 30 de vizite fiecare pentru că aceasta este implicită - am văzut asta mai târziu.

Ce ai face dacă ai fi un motor de căutare cu un astfel de site?

De asta mi-e frică.

Desigur, site-ul va dura ceva timp, dar apoi... Și atunci am înțeles de ce expresia „site-ul este blocat” se repetă de multe ori pe site-ul lor de servicii, au chiar și un subiect special pentru scrisori - despre blocarea site-ului . Site-ul dvs., apropo. Apropo, în „Ajutorul” lor se indică imediat că, dacă site-ul este blocat, nu există nimic pe care să te bazezi pentru ajutorul lor.

Deci, dacă doriți să obțineți o interdicție de 100% pentru cele 100 de ruble, nu va trebui să așteptați mult.

Și nu vei putea cumpăra împrumuturi: nu le mai vând pentru bani, scriu – din motive tehnice. Acum poți obține împrumuturi doar instalând un program pe computer, de care, apropo, mulți sunt foarte nemulțumiți. Citiți recenzii online. Unii meșteri de pionierat din rândul „producătorilor de bani cool” chiar se plâng despre sarcina de 15% a procesorului. Sunt amuzante, dar cum altfel poți câștiga 0,05 copeici pe vizită (Webmasterul primește jumătate de credit pentru o vizită).

Prin urmare, chiar și astfel de vizitatori falși nu pot fi cumpărați pentru bani - sunteți pur și simplu forțat să instalați programul. Aș vrea să știu de ce?

Și din moment ce părinții fondatori ai Live Surf nu doresc să câștige ruble și bănuți de la participanții la serviciu, este logic să presupunem că ei (webmasterii participanți) sunt folosiți în secret în servicii mai decente precum movebo.

Trageți propriile concluzii: dacă participați sau nu la astfel de jocuri. Am fost membru al acestui serviciu timp de 50 de minute - atât de mult pentru că am ieșit să beau ceai.

Adăugat mai târziu. Și dacă doriți să influențați factorii asupra comportamentului dvs., atunci iată un serviciu bun pentru dvs. - Liked.ru. Acesta este un schimb de sarcini în care pentru foarte puțini bani (în limita unei ruble) puteți cere pe cineva să scrie un comentariu, să îl publice pe rețelele sociale sau să participe la vot etc. Mai mult, acolo se verifică îndeplinirea sarcinilor tale și abia apoi se face plata.

Citiți articolul despre acest serviciu - „”. Sau mergi imediat.

P.S. Crezi că Yandex și Google îmi vor considera acest articol ca pe o mărturisire? LAUGH OUT LOUD

P.P.S. Apropo, am uitat complet să scriu imediat în articol: în loc să îmbunătățești ratele de respingere, le vei înrăutăți. Fondatorii serviciului ar trebui să citească ajutorul de la Google și Yandex, care afirmă în mod explicit că un refuz este luat în considerare atunci când a fost citită o singură pagină. În schimb, încearcă să ne convingă că (citate) „Setările implicite nu pot crea suspiciuni în rândul serviciilor de statistică”. Haha.

P.P.P.S. Vă rugăm să vă avertizați prietenii despre acest serviciu, butoanele sunt mai jos.

1) Pool de adrese. Pentru a face acest lucru, adăugați următoarea linie la sfârșitul fișierului /var/lib/tftpboot/ltsp/i386/lts.conf:
MY_SERVER_LIST = „192.168.1.170 192.168.1.171”

2) Venim cu un algoritm (tocmai l-am furat) și îl scriem într-un fișier:
#!/bin/sh max_rank=-1 max_server="" pentru server din $MY_SERVER_LIST; do rank=$(nc $server 9571 | sed -n "s/rating://p") if [ "$rank" -gt "$max_rank" ]; apoi max_rank="$rank" max_server="$server" fi terminat echo "$max_server"
Noi facem:
chmod a+x /opt/ltsp/i386/usr/share/ltsp/get_hosts
Nimic complicat, doar parcurgem toate serverele NetCat și îl selectăm pe cel mai puțin încărcat. Acest script poate fi modificat astfel încât să folosească serverul de echilibrare, dar nu vreau să fac acest lucru, deoarece folosind un script atât de simplu, în principiu, va fi posibil să scapi de lbagent și lbserver.

3) În timpul configurării și instalării tuturor serverelor suplimentare, am generat deja perechi de chei DSA și RSA. Pentru ca clienții să se conecteze la servere suplimentare, cheile publice generate de la serverele suplimentare trebuie copiate mai întâi pe serverul principal și apoi pe imagine. Pentru a face acest lucru, mai întâi faceți următoarele pe fiecare server suplimentar:
ltsp-update-sshkeys --export ssh_known_hosts.192.168.1.171 scp ssh_known_hosts.192.168.1.171 [email protected]:/etc/ltsp/
Și pe serverul principal:
ltsp-update-sshkeys && ltsp-update-image --arch i386 && echo -e "ltsp\nlabel implicit ltsp\nkernel vmlinuz\nappend ro initrd=initrd.img quiet splash nbdroot=192.168.1.170\n:20" > var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default
Verificăm:
cat /opt/ltsp/i386/etc/ssh/ssh_known_hosts

Singurul lucru pe care nu îl înțeleg este de ce avem nevoie deloc de un server de echilibrare... Probabil că în versiunile viitoare va exista un fișier /opt/ltsp/i386/usr/share/ltsp/get_hosts, dar în acest moment nu este cazul. Dar într-un fel sau altul, acum echilibrarea funcționează cu siguranță.

Apropo, puteți verifica cât de încărcat este un anumit server de aplicații folosind scriptul /usr/share/pyshared/lbserver/test_comm.py. Mai întâi, indicați adresa serverului necesar din acesta:
rpcserver = xmlrpclib.ServerProxy("http://192.168.1.171:8000")
Și apoi îl executăm și ne uităm la rezultat:
$ python /usr/share/pyshared/lbserver/test_comm.py [("nume": "MEMTOTAL", "valoare": 507788), ("nume": "CPUFREQ", "valoare": 3502.64), ("nume" ": "CPUCOUNT", "valoare": 1), ("nume": "DISTRO", "valoare": "Ubuntu 11.04"), ("nume": "IP", "valoare": "192.168.1.171" ), ("nume": "HOSTNAME", "valoare": "ltsp-appserv01"), ("nume": "ADRESE", "valoare": "192.168.1.171"), ("nume": "MEMFREE" , "valoare": 476144), ("nume": "MEMUSED", "valoare": 31676), ("nume": "LOADAVG", "valoare": 0,0), ("nume": "UTILIZATOR", " valoare": "kafeg"), ("nume": "NBUSERS", "valoare": 1), ("nume": "NBX11SESS", "valoare": 1)]
Nu mai puțin util este scriptul /usr/share/pyshared/lbserver/test_mgmt.py, care poate contacta serverul principal și, de asemenea, poate returna câteva informații:
rpcserver = xmlrpclib.ServerProxy("http://192.168.1.170:8001") $ python /usr/share/pyshared/lbserver/test_mgmt.py [(„implicit”: Adevărat, „noduri”: [(„activ”: Adevărat, „lastWeight”: 100, „valori”: [(„critic”: Fals, „nume”: „MEMTOTAL”, „valoare”: 507788), (“nume”: „LOADAVG”), („critic”: Fals, „nume”: „ADRESE”, „valoare”: „192.168.1.171”), („critic”: fals, „nume”: „IP”, „valoare”: „192.168.1.171”), („critic” ": Fals, "name": "HOSTNAME", "value": "ltsp-appserv01"), ("critic": False, "name": "NBUSERS", "value": 1), ("critic": Fals, „nume”: „NBX11SESS”, „valoare”: 1), („critic”: fals, „nume”: „MEMFREE”, „valoare”: 476052), („critic”: fals, „nume”: „CPUCOUNT”, „valoare”: 1), („critic”: fals, „nume”: „CPUFREQ”, „valoare”: 3502,64), („critic”: fals, „nume”: „UTILIZATOR”, „valoare” ": "kafeg"), ("critic": Fals, "nume": "MEMUSED", "valoare": 31768), ("critic": Fals, "nume": "DISTRO", "valoare": "Ubuntu 11.04")], "nume": "ltsp-appserv01", "adresă": "http://192.168.1.171:8000")], "nume": "implicit")] Adăugați etichete


PROCEDURA DE OPERARE:

La prima lansare, programul solicită utilizatorului să introducă adresa de e-mail introdusă în timpul înregistrării.

Programul are un modul de actualizare automată (Laucher). Dacă este disponibilă o versiune mai actuală, programul își actualizează fișierele și funcționalitatea.
Fișierele vechi sunt înlocuite cu altele noi. Se verifică suma de control a datelor și fiabilitatea acestora. Toate operațiunile au loc fără casete de dialog sau întrebări. Programul creează o comandă rapidă de rulare automată în mod implicit. Funcționează în tavă, fără ferestre funcționale. Dacă nu există nicio conexiune la Internet sau la domeniu, aplicația este în modul de așteptare și stabilește o conexiune cât mai curând posibil.
Este posibil să trimiteți reclamații (indicând tipul) direct în programul pentru site-ul curent, deschizând site-ul curent într-o fereastră nouă.
Puteți închide programul făcând clic dreapta pe pictograma programului din tavă și selectând „Ieșire”.

OS:

Windows Linux Mac
Windows 7, XP, 2000
Și, de asemenea, alte versiuni
Lucrul este posibil prin emulatorul Wine
Descărcați WINE

Ubuntu, Suse, Debian, CentOS, Fedora, FreeBSD etc.

Instalați Windows sub o mașină virtuală pe Mac OS X utilizând unul dintre programele: Parallels Desktop, Vmware Fusion, Virtual Box;

ACORD DE LICENȚIERE:

Serviciul LiveSurf.ru vă oferă dreptul neexclusiv de a utiliza o copie a programului pe fiecare computer pe care îl dețineți.

Prin descărcarea și utilizarea programului, sunteți de acord cu regulile sistemului; pentru încălcarea regulilor, contul este blocat.

Îți este INTERZIS: modificarea, corectarea, decompilarea, dezasamblarea codului software-ului obținut în orice mod, inclusiv lucrările conexe care conțin una sau mai multe componente ale acestui software; postarea de software pe resurse de Internet (inclusiv site-uri de partajare a fișierelor) fără acordul prealabil al administrației.

Aveți PERMIS: copierea, transferul către terți, inclusiv prietenii/sau recomandările dvs., utilizarea legală în cadrul regulilor serviciului LiveSurf.ru Utilizați acest program pe riscul și riscul dumneavoastră. Este furnizat „Așa cum este”, fără nicio garanție de funcționare neîntreruptă sau funcționare fără erori. De asemenea, administrația nu garantează că serviciile de descărcare și interacțiune a software-ului cu serverul vor fi furnizate neîntrerupt, fără erori și/sau imposibilitatea de a accesa serviciul. Descărcând acest program, sunteți de acord că administrația serviciului nu este responsabilă pentru eventuale daune, pierderi de profit etc. Toată răspunderea pentru deteriorarea echipamentelor, datelor, programelor și/sau persoanelor revine în întregime utilizatorului care a lansat software-ul pe orice computer. Cererile pentru daune/profituri pierdute NU vor fi acceptate. Codul sursă al programului nu este furnizat. Programul nu este rescris pentru a se potrivi nevoilor utilizatorilor individuali decât dacă această dorință este exprimată de un grup de utilizatori (mai mult de două persoane). Pentru a elimina problemele asociate cu programele viruși, ar trebui să urmați instrucțiunile pentru protejarea sistemului de operare, programe și date stocate pe computere conectate la Internet: Utilizarea unei mașini virtuale, programe de filtrare, firewall-uri și antivirusuri. Neglijând protecția, vă riscați datele și echipamentele. Utilizarea corectă a măsurilor de securitate face posibilă eliminarea anumitor probleme cu programe, resurse și mijloace tehnice. Dacă nu sunteți de acord cu acordul de licență sau cu regulile de lucru în sistem, nu aveți dreptul de a utiliza serviciul LiveSurf.