Ghidul Freebsd

4.6. Unele întrebări și răspunsuri

  • Q. Am crezut că modemurile sunt discutate aici.
A. Ar trebui să vă gândiți la porturile seriale de pe spatele calculatorului. Folosim cuvântul "port" aici pentru a se referi la rezultatul transferării programului de la o versiune de Unix la alta. (Folosind acelasi cuvant pentru a face referire la lucruri complet diferite, din pacate, a devenit un obicei prost in lumea computerizata.
  • Q. Am crezut că voi folosi pachetele pentru a instala programe suplimentare?







    A. Destul de bine, acesta este de obicei cel mai rapid și mai ușor mod de a face acest lucru.
  • Deci, de ce vă faceți griji despre porturi atunci?

    A. Patch este un fișier mic (de obicei) care descrie modul de schimbare a unei versiuni a unui fișier în altul. Conține text care, de fapt, constă în lucruri precum "ștergeți linia 23", "adăugați aceste două linii după linia 468" sau "modificați linia 197 la aceasta". Este, de asemenea, cunoscut ca `` diff '', pentru că acesta este numele programului care le generează.
  • Î. Ce este un tarball?

    A. Acesta este un fișier care se termină cu .tar.gz (posibil .tar.Z sau chiar .tgz)

    În esență, aceasta este o arhivă a structurii de directoare (.tar) și apoi comprimată (.gz). Inițial, această tehnologie a fost folosită pentru arhive pe benzi (T ape AR chive - de aici numele "tar"), dar acum este una dintre cele mai utilizate metode de distribuire a codului sursă al programelor pe Internet.

    Puteți vedea ce fișiere se află în interiorul dvs. sau chiar le dezarhivați, utilizând utilitarul standard UNIX - tar. Acesta vine cu sistemul de bază FreeBSD. De exemplu:

  • Î. Ce este o sumă de control?

    A. Acesta este numărul care este rezultatul însumării tuturor octeților din fișierul pe care îl testați. Dacă valoarea oricărui octet se modifică, suma de control se va schimba prea mult, astfel că o simplă comparație cu standardul va determina modificarea fișierului. (În practică, sunt utilizați algoritmi mai complexi decât sumarea simplă, pentru a observa astfel de modificări complexe ale fișierelor, cum ar fi permutarea octeților.

  • Î. Am acționat pe instrucțiunile de compilare a porturilor de pe CDROM și totul a funcționat bine până am încercat să instalez portul kermit: - De ce nu există? Am un disc defect?

    A. Termenii de licență pentru kermit nu ne permit să punem tarball-ul pe CDROM, deci trebuie să îl descărcați singur. Motivul pentru care ați primit aceste mesaje de eroare este că nu aveați o conexiune la Internet în acel moment. Odată ce descărcați dreptul de tarball de undeva, puteți încerca din nou să faceți portul. (descarcati-l din cel mai apropiat loc pentru a va salva atat timpul, cat si Internetul de latime de banda)

  • Î. Am făcut acest lucru, dar când am încercat să o pun în / usr / ports / distfiles, am primit un mesaj că nu aveam drepturi de acces.

  • Q. Mecanismul de porturi funcționează numai dacă puneți totul în / usr / ports. Administratorul meu de sistem a spus că ar trebui să stochez totul numai sub / u / people / guests / wurzburger. și nu pot face portul.

    A. Puteți utiliza variabilele PORTSDIR și PREFIX pentru a specifica necesitatea utilizării altor directoare. De exemplu,

    Această comandă compilează portul în / u / people / guests / wurzburger / ports și îl instalează în / usr / local ?.

    și următoarea comandă va compila portul în / usr / ports și îl va instala în / u / people / guests / wurzburger / local.

    combină ambele efecte (comanda completă este prea lungă și nu se încadrează în întregime pe pagină, dar sunt sigur că ați înțeles deja ideea)







    Dacă nu doriți să introduceți astfel de linii de fiecare dată când instalați portul, introduceți aceste variabile în mediul dvs.

  • Q. Nu am un CDROM FreeBSD, dar vreau să copiez în prealabil toate tarbalele necesare, astfel încât să nu trebuiască să aștept mult timp de fiecare dată când instalez port. Există o modalitate ușoară de a le descărca pe toate odată?

    A. Pentru a descărca toate tarballs-urile pentru colecția de porturi, executați:

    Pentru a descărca toate tarballs pentru un director separat, rulați:

    Ei bine, cred că ați ghicit deja cum să descărcați un tarball pentru un port.

    A. Da. dacă credeți că, de exemplu, ftp.FreeBSD.ORG este mult mai apropiat decât nodurile din lista MASTER_SITES, utilizați exemplul următor.
  • Q. Aș dori să știu ce fișiere sunt necesare pentru compilare, înainte ca make-ul să le descarce.

    O. 'make fetch-list' vă va afișa lista de fișiere necesare pentru acest port.

  • Î. Există o modalitate de a preveni compilarea? Vreau să fac unele corecții în codul sursă înainte de a compila, dar m-am săturat de ideea de a păzi momentul în care apăs eu controlul-C.

    A. Utilizarea "extract extras" va opri procesul după descărcarea și despachetarea surselor.
  • Q. Încerc să-mi fac propriul port și vreau să pot opri procesul înainte de compilare pentru a vedea cum funcționează patch-urile mele. Exista ceva de genul "face extract", dar pentru patch-uri?

    A. Da, "faceți patch" este ceea ce căutați. Apropo, vă mulțumesc pentru ceea ce faceți!

  • Î: Am auzit că unele opțiuni de compilator pot cauza erori. Este adevărat? Cum pot fi sigur că am compilat portul cu opțiunile corecte?

    A. Da, în versiunea 2.6.3 gcc (această versiune a fost livrată cu FreeBSD 2.1.0 și 2.1.5), opțiunea -O2 ar putea duce la un cod cu erori dacă nu utilizați opțiunea -fno-strength-reduce. (Majoritatea găurilor nu utilizează -O2). Ar trebui să puteți specifica steaguri folosind:

    sau prin editarea /etc/make.conf, dar nu pare să funcționeze întotdeauna. cea mai fiabilă metodă este să utilizați "make configure", apoi să mergeți la directorul sursă și să verificați Makefile, dar ar putea fi dificil dacă arborele sursă conține o grămadă de subdirectoare, fiecare cu propriul Makefile.

  • V. Prea multe porturi diferite - este greu să găsesc unul de care am nevoie. Există o listă cu toate porturile?

    A. Consultați INDEX din directorul / usr / ports.
  • Î. Am fost de gând să instalați portul "foo", dar sistemul sa oprit brusc și a început compilarea port "bar". Ce sa întâmplat?

    A. Portul "foo" necesită ceva care vine cu "bar" - de exemplu, dacă "foo" utilizează grafică, atunci "bar" poate avea o bibliotecă cu proceduri grafice utile. Sau "bar" poate fi un instrument care este necesar pentru a compila portul "foo".

  • Î. Am instalat un program imens și, cred că este doar un spațiu inutil pe disc. Aș dori să o șterg, dar nu știu unde sunt fișierele incluse în acest pachet. Orice idei?

    A. Nici o problema, doar alerga

  • B. Așteptați o secundă, trebuie să știți numărul versiunii pentru a utiliza această comandă. Te aștepți serios să-mi amintesc de ea.

    A. Nu, desigur, o puteți recunoaște după cum urmează

    Rezultatul va fi ceva de genul: -

  • Q. La întrebarea privind spațiul pe disc, directorul de porturi pare să ia mult spațiu. Este în siguranță să ștergeți unele fișiere în el?

    A. Da, dacă ați instalat deja programul și nu îl reinstalați din nou, atunci nu este necesar să stocați sursele. Cel mai bun mod de a scăpa de ele este:

    Prin urmare, în toate subdirectoarele din / usr / ports, toate fișierele vor fi șterse, cu excepția celor care intră în cadrul.
  • Î. Am făcut acest lucru, dar în directorul distfiles, aceste tarballs sunt încă păstrate sau orice le numiți. Pot să le șterg?

    A. Da, dacă sunteți sigur că nu mai aveți nevoie de ele.

  • Îmi place să am multe programe. Este posibil să instalați simultan toate porturile?

    A. Faceți-o.

  • V. Ok, am făcut-o, dar, deși am crezut că va dura mult timp, așa că m-am culcat și am lăsat calculatorul să lucreze. Dimineața am descoperit că au fost făcute doar trei porturi și jumătate. Ce sa întâmplat?

    A. Nu, problema este că unele porturi încep să pună întrebări (de exemplu - "Folosiți hârtie de dimensiune A4 sau Letter?") Și au nevoie de cineva să introducă răspunsul.

  • Dar nu vreau să petrec toată ziua uitându-mă la monitor. Aveți idei mai bune?

    O. Faceți asta înainte de a merge la culcare / la locul de muncă / parc local: -

    Prin urmare, toate porturile care nu necesită participarea omului la instalare vor fi instalate. Atunci când te întorci, alerga

    pentru a termina lucrarea.
  • Î. La muncă folosim frobble. care este în colecția dvs. de porturi, dar am modificat foarte mult versiunea noastră pentru a obține efectele de care aveam nevoie. Există o modalitate de a face propriile noastre pachete astfel încât să le putem distribui cu ușurință pe computerele noastre?

    A. Nu există nicio problemă dacă știți cum să faceți patch-uri corespunzătoare schimbărilor dvs.:

  • Î. Acest sistem este destul de complicat. Vreau să înțeleg cum funcționează acest lucru. Care e secretul?







    Articole similare

    Trimiteți-le prietenilor: