Puncte:2

Cum urmărește un System Manager competent TOATE pachetele Python pe care le instalează utilizatorii?

drapel ru

Recent a devenit dureros de evident că pur și simplu nu știu cum ar trebui să gestionez pachetele Python pe sistemele mele.

Pur și simplu TREBUIE să pot știu ce este instalat totul și sub ce ID-uri de utilizator, deoarece comunitatea Python este instruită că nimic nu ar trebui să fie instalat ca root. . . . Asta îmi lasă cu o problemă serioasă!

În acest caz, folosesc distribuții Fedora, MAI MORA, dar nu exclusiv Fedora Server (toate o formă de Fedora Core), DAR, întrebarea se aplică și pentru alte distribuții, sunt sigur.

În cele din urmă, întrebarea este; cum ar trebui un manager de sistem să se ocupe de asta CORRECT?

Rețineți că NU întreb despre cum să instalez Python în sine și nu vorbesc despre un sistem de dezvoltare, în care, dacă dezvoltatorii își strică propriul sistem, ei bine, acesta îi afectează doar pe EI, deși asta încă nu este grozav.

Ceea ce mă concentrez este că UNELE pachete de software care folosesc Python au propriile sub-pachete care nu sunt disponibile prin paradigma obișnuită de instalare a pachetelor de platformă. Și una dintre acestea a fost cea care a determinat această descoperire bruscă a riscului pe care îl am; Mailman3 este doar un astfel de pachet, deoarece instalarea acestuia nu a instalat și toate sub-pachetele necesare, așa că au fost necesare câteva „instalări pip” pentru acestea. Și discutând despre asta cu un coleg, a recunoscut că a distrus un sistem pe care eu sunt responsabil cu gestionarea, doar pentru a afla că l-a dat peste cap printr-un pachet Python pe care l-a instalat pip...

...Simt că s-ar putea să fiu forțat să implementez securitatea, astfel încât utilizatorii individuali NU POT instala pachetele Python și astfel să-mi măresc volumul de lucru, nu numai pentru a face asta, ci apoi pentru a instala pachetele pe care le doresc PENTRU ei și toate necazurile pe care le implică. Sper că nu am nicio idee despre o „funcție” a lui Python! În caz contrar, cred că Python are nevoie de o regândire serioasă cu privire la modul în care face ceea ce face, deoarece cu siguranță pare a fi foarte neprietenoasă pentru managerii de sistem.

Davidw avatar
drapel in
Aici intervine software-ul de management al configurației.
drapel in
Începi să folosești containere pentru software-ul tău python? Și faceți utilizatorii să furnizeze Dockerfiles care includ toate instalările pip? ... `Simt că aș putea fi forțat să implementez securitatea, astfel încât utilizatorii individuali NU POT instala pachete Python` ` dezvoltatorii/utilizatorii tăi nu ar trebui să aibă acces la serverele de producție. Ar trebui să aibă medii de dezvoltare și vă pot oferi fișiere docker, cărți de joc sau altceva care construiește mediul de producție pe o platformă cunoscută.
drapel ru
@Zoredache Persoana care a dărâmat o mașină nu a fost un dezvoltator, a fost cineva care a încercat să instaleze un pachet scris în altă parte, nu Mailman3, dar care îi place. Rețineți că Mailman3 pe Fedora are un pachet formal, dar NU instalează toate componentele. Aici este problema.
Puncte:1
drapel us

Dezvoltatorii dvs. ar trebui să folosească Medii virtuale Python pentru aplicații. Cu aceste medii virtuale, dependențele aplicațiilor sunt instalate în acel mediu special și nu afectează alte medii.

Când aplicația este dezvoltată și testată în mediul virtual, atunci se verifică dacă toate dependențele sunt instalate corect.

Dacă unui pachet îi lipsesc dependențe, atunci trebuie să notificați întreținătorul pachetului pentru a actualiza dependențele.

drapel ru
Dacă sistemul care a fost încurcat de această problemă (instalarea rătăcită a software-ului) ar fi un mediu de dezvoltare, nu aș fi atât de îngrijorat!
Puncte:0
drapel cn

Cineva poate fi responsabil cu automatizarea instalării aplicațiilor necesare și să se asigure că funcționează. Posibil furnizarea de VM sau containere cu aplicații preinstalate. Depinde de organizația dvs. dacă sunt considerați mai mult o persoană operațională sau un dezvoltator.

Administratorii sistemului de operare care preferă managerul de pachete de sistem ar putea încheia fiecare pachet în rpm sau deb. Unifică instalarea, în acest caz, Mailman 3 până la revenirea la dependențele sale Python.Pachetele pot fi semnate și livrate cu aceeași infrastructură care aplică actualizări ale sistemului de operare. Cu toate acestea, necesită o muncă semnificativă de ambalare, pentru lucru și dependențele sale. Se pare că Fedora are o pachetul mailman3 iar infrastructura lor îl folosește.

Dezvoltatorii și alți utilizatori ar putea abandona gestionarea pachetului de sistem în favoarea uneia specifice limbii, în acest caz Python pip. Obține acces la cele mai recente versiuni ale unui număr mare de pachete și le poate instala în directorul unui utilizator neprivilegiat. Cu toate acestea, administratorul are mai puțin control, iar utilizatorii ar putea avea probleme. Probabil că vor avea probleme ca Mailman 3 dependențe are biblioteci C la care să se conecteze, setare MTA și o bază de date și a aplicație web UI separată.

Conflictele pe care le-ați observat între pachetele de sistem și indiciu pip trebuie să alegeți unul. Fie îl ambalați într-un mod compatibil cu sistemul python, fie îl pune într-un virtualenv care conține cerințe. În timp ce ați putea elimina pachet de sâmburi pentru a preveni utilizatorii să se încurce cu lucruri, pip poate fi bootstrap de către un utilizator determinat. În mod ideal, ajutați oamenii să instaleze un set de aplicații de lucru cunoscute.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.