Aș dori să ia și împușcat, sau un program educativ despre motivul pentru care nu ar trebui să facă uz de instalare - Linux

Aș dori să ia și împușcat, sau un program educativ despre motivul pentru care nu trebuie să utilizați make install

Aș dori să ia și împușcat, sau un program educativ despre motivul pentru care nu ar trebui să facă uz de instalare - Linux

Linia de jos se reduce la faptul că comanda sub formă de «make install» sau «sudo make install» nu pot fi utilizate în distribuțiile moderne.

digresiune


După cum știți, pentru funcționarea normală, cele mai multe software-ul nu ar trebui să fie compilate numai, ci este instalat corect în sistem. Programele se așteaptă pentru a găsi fișierele de care au nevoie, în anumite locuri, și plasează acestea, în cele mai multe sisteme de * nix-protecție în la momentul compilarii. În afară de acest aspect, principala diferență a procesului de instalare în Linux / FreeBSD / indiferent de cele din Windows și MacOS este faptul că programul nu pur și simplu adăugați o grămadă de fișiere într-un dosar separat în Program Files / sau aplicații, și „frotiuri“ în sine în întregul sistem de fișiere. Bibliotecile sunt în lib, fișierele binare bin, fișiere de configurare în etc, tot felul de date în var, și așa mai departe. Dacă aveți nevoie dintr-o dată să-l actualizeze, atunci tot ceea ce este necesar, în primul rând ca un exfoliant, t. Pentru a. Cu noua versiune a resturilor de fișiere vechi pot duce la consecințe imprevizibile. de multe ori rău. Probabilitatea acestui eveniment nu este atât de mare, dar ai nevoie de ea pentru a combate server?

Și ce?


Deci, dacă faceți instalarea direct de make install, este normal pentru a elimina sau de actualizare softinu nu va fi cel mai probabil în măsură să. Mai mult decât atât, instalarea noii versiuni peste cea veche, probabil, va suprascrie modificările aduse config. make install face exact ceea ce spune - instalează fișierele în locurile potrivite, ignorând faptul că există ceva deja acolo. După acest proces este absolut nici o informație despre ce și în cazul în care pentru a pune, pentru a primi într-o formă de digerare este imposibil. Uneori, desigur, Makefile sprijină acțiunea de dezinstalare, dar nu este la fel de comună, și nu faptul că funcționează corect. În plus față de magazin pentru a dezinstala reguli neambalate și de asamblare într-un mod ciudat.

Cum să se ocupe?


Deoarece distribuțiile de pachete tind să fie uneori încă actualizate pentru a aborda problema a inventat un astfel de lucru ca un manager de pachete. Când se utilizează, instalarea este similară cu aceasta:

  1. luate anumite arhive făurite
  2. Informațiile extrase din aceasta că este vorba, ce versiune, ceea ce depinde, ce conflicte, dacă este necesar să se instaleze / elimina / configurare pentru a rula orice script-uri, etc.
  3. Ia măsuri pentru a închide instalația
  4. Toate datele despre unde și ceea ce a fost livrat se adaugă la baza de date de gestionare a pachetelor.

În acest caz, actualizarea poate fi în condiții de siguranță poudalyat de prisos, și în același timp pentru a vedea, nu a schimbat dacă fișierele din sistem, listate ca și configurație cere ce să facă în cazul în care noua versiune a conținutului este diferit. În plus, managerul de pachete nu va suprascrie fișierele de același pachet în timpul instalării unui alt. În general, o mulțime de lucruri utile el poate face.

Dacă sunteți din ignoranță / lene skopipastit make install din instrucțiunea, fișierele de sistem apar, pe care managerul de pachete nu știe. Cu toate consecințele, dacă faci un lucru mic, care a fost listat mai devreme.

Ce să fac?

Deci, este necesar să se colecteze pachetul.

Nu am timp să *** tsya acest lucru, este mai bine din nou, voi face make install, totul este simplu și clar!


Ușor, ușor. El este legat de picioare. Nu e atât de înfricoșător și dificil pe cât pare la prima vedere.

CheclInstall


Acest utilitar minunat, în loc de a fi o rulare make install va pune câteva întrebări, după care se va colecta și va instala pachetul. Toate upgrade-ul este nici o problema cu purjate de gunoi vechi, nu vei face.

Elaborați manual deb-pachet


Daca nu sunt înclinați să aibă încredere în această automatizare (uneori încă kosyachit), sau doresc să facă câteva modificări, dar pentru a face față cu procesul normal de pachet construi este încă leneș, puteți pune împreună un pachet de mânere. Eu dau modalitate de a construi pentru sistemele bazate pe Debian, t. Pentru a. Cel mai familiar este cu ei. Nu este ideologic corect, dar rezultatul este pachet destul de corect, fără a implica alte entități. Acest lucru se face după cum urmează.
Pentru a colecta de start moale, cu o pre-specificate pentru a configura parametrii sau autogen.sh --prefix = / usr și --exec-prefix = / usr.
Mai departe producem configurare într-un director temporar. scrie:


După aceea, vom ajunge în directorul nou creat al tuturor fișierelor set de fișiere. Apropo, suntem în fakeroot-mediu, adică. E. Puteți schimba proprietarul și fără obstacole și fișiere permisiuni, dar fizic în sistemul va rămâne proprietarul de tine. Software-ul în interiorul fakeroot-sesiune vor primi informații actualizate, care vor fi ambalate într-un fișier arhivă cu permisiunile corecte.
În continuare, vom crea în „pachetul rădăcină“ directorul DEBIAN, și se adaugă în lista debian / conffiles din toate fișierele care au nevoie pentru a obține în / etc:


După aceea a crea un fișier DEBIAN / de control după cum urmează:

Dacă este necesar, se poate crea, de asemenea, script-uri preinst, postinst, prerm și postrm.

Toate fac dpkb tempintall -b și a ajunge la tempinstall.deb de ieșire, care poate incita dpkg -l și care instalează corect, să actualizeze sau să șteargă.

proces „corect“ cu stabilirea preliminară a pachetului sursă este dincolo de domeniul de aplicare al acestui articol și nu va fi descrisă, deoarece, dar de obicei nu este necesar pentru scopuri.

concluzie

După cum puteți vedea, nu este absolut nimic complicat, dar punerea în aplicare a acestor acțiuni vă va salva de la un număr foarte mare de probleme în viitor.

articole similare