Provided by: manpages-ro_4.27.0-1_all bug

NUME

       ar - creează, modifică și extrage din arhive

SINOPSIS

       ar [-X32_64] [-]p[modificator] [--plugin nume] [--target nume-bfd] [--output nume-director]
       [--record-libdeps dependențe-bibliotecă] [--thin] [relpos] [număr] arhivă [membru...]

DESCRIERE

       Programul GNU ar creează, modifică și extrage din arhive. O arhivă este un singur fișier care conține o
       colecție de alte fișiere într-o structură care face posibilă recuperarea fișierelor individuale originale
       (numite membri ai arhivei).

       Conținutul, modul (permisiunile), data și ora, proprietarul și grupul fișierelor originale sunt păstrate
       în arhivă și pot fi restaurate la extragere.

       GNU ar poate menține arhive ale căror membri au nume de orice lungime; cu toate acestea, în funcție de
       modul în care ar este configurat pe sistemul dumneavoastră, se poate impune o limită a lungimii numelor
       membrilor pentru compatibilitatea cu formatele de arhivă menținute cu alte instrumente. Dacă există,
       limita este adesea de 15 caractere (tipic pentru formatele legate de a.out) sau de 16 caractere (tipic
       pentru formatele legate de coff).

       ar este considerat un utilitar binar deoarece arhivele de acest tip sunt cel mai adesea folosite ca
       biblioteci care conțin subrutine necesare în mod obișnuit. Deoarece bibliotecile vor depinde adesea de
       alte biblioteci, ar poate înregistra, de asemenea, dependențele unei biblioteci atunci când este
       specificată opțiunea --record-libdeps.

       ar creează un index al simbolurilor definite în modulele de obiecte realocabile din arhivă atunci când se
       specifică modificatorul s. Odată creat, acest index este actualizat în arhivă ori de câte ori ar modifică
       conținutul acesteia (cu excepția operației de actualizare q). O arhivă cu un astfel de index accelerează
       crearea de legături către bibliotecă și permite rutinelor din bibliotecă să se apeleze între ele fără a
       ține cont de plasarea lor în arhivă.

       Puteți utiliza nm -s sau nm --print-armap pentru a lista acest tabel de indici. În cazul în care o arhivă
       nu are acest tabel, se poate utiliza o altă formă de ar numită ranlib pentru a adăuga doar tabelul.

       GNU ar poate crea opțional o arhivă subțire „thin”, care conține un index de simboluri și referințe la
       copiile originale ale fișierelor membre ale arhivei. Acest lucru este util pentru crearea de biblioteci
       pentru a fi utilizate în cadrul unui arbore de construcție local, în cazul în care se așteaptă ca
       obiectele realocabile să rămână disponibile, iar copierea conținutului fiecărui obiect nu ar face decât
       să irosească timp și spațiu.

       O arhivă poate fi subțire sau poate fi normală. Nu poate fi ambele în același timp. Odată creată o
       arhivă, formatul acesteia nu poate fi modificat fără a o șterge mai întâi și a crea apoi o nouă arhivă în
       locul ei.

       Arhivele subțiri sunt, de asemenea, compactate, astfel încât adăugarea unei arhive subțiri la o altă
       arhivă subțire nu o anidează, așa cum s-ar întâmpla în cazul unei arhive normale. În schimb, elementele
       primei arhive sunt adăugate individual în cea de-a doua arhivă.

       Rutele către elementele arhivei sunt stocate în raport cu arhiva însăși.

       GNU ar este conceput pentru a fi compatibil cu două facilități diferite. Îi puteți controla activitatea
       cu ajutorul opțiunilor din linia de comandă, precum diferitele varietăți de ar de pe sistemele Unix; sau,
       dacă specificați opțiunea unică -M din linia de comandă, îl puteți controla cu ajutorul unui script
       furnizat prin intrarea standard, precum programul «librarian» al MRI.

OPȚIUNI

       GNU ar vă permite să amestecați codul de operație p și fanioanele modificatoare mod în orice ordine, în
       cadrul primului argument din linia de comandă.

       Dacă doriți, puteți începe primul argument al liniei de comandă cu o liniuță.

       Litera cheie p specifică ce operație trebuie executată; poate fi oricare dintre următoarele, dar trebuie
       să specificați numai una dintre ele:

       d   Șterge  module  din  arhivă.  Specificați  numele  modulelor  care  urmează  să  fie șterse sub forma
           membru...; arhiva rămâne neatinsă dacă nu specificați niciun fișier de șters.

           Dacă specificați modificatorul v, ar enumeră fiecare modul pe măsură ce este șters.

       m   Utilizați această operație pentru a muta membri într-o arhivă.

           Ordinea membrilor într-o arhivă poate face o diferență  în  modul  în  care  programele  sunt  legate
           folosind biblioteca, dacă un simbol este definit în mai mult de un membru.

           Dacă  nu se utilizează modificatori cu „m”, toți membrii pe care îi numiți în argumentele membru sunt
           mutați la sfârșitul arhivei; puteți utiliza modificatorii a, b sau i  pentru  a-i  muta  într-un  loc
           specificat.

       p   Imprimă  membrii  specificați  ai  arhivei,  în  fișierul  de  ieșire  standard. Dacă este specificat
           modificatorul v, afișează numele  membrului  înainte  de  a  copia  conținutul  acestuia  la  ieșirea
           standard.

           Dacă nu specificați niciun argument membru, se imprimă toate fișierele din arhivă.

       q   Adăugare rapidă; Din punct de vedere istoric, adaugă fișierele membru... la sfârșitul arhivei, fără a
           verifica dacă sunt înlocuite.

           Modificatorii  a,  b  și  i  nu  afectează  această operație; noii membri sunt întotdeauna plasați la
           sfârșitul arhivei.

           Modificatorul v face ca ar să listeze fiecare fișier pe măsură ce este adăugat.

           Deoarece scopul acestei operații este viteza, implementările lui ar au opțiunea  de  a  nu  actualiza
           tabelul  de  simboluri  al  arhivei,  dacă există unul. Cu toate acestea, prea multe sisteme diferite
           presupun că tabelele de simboluri sunt întotdeauna actualizate, astfel încât  GNU  ar  va  reconstrui
           tabelul chiar și în cazul unei adăugări rapide.

           Notă  -  GNU ar tratează comanda qs ca pe un sinonim pentru r - înlocuind fișierele deja existente în
           arhivă și adăugând altele noi la sfârșit.

       r   Inserează fișierele membru... în arhivă (cu înlocuire). Această operație diferă de q prin  faptul  că
           toți membrii existenți anterior sunt șterși dacă numele lor se potrivesc cu cei care sunt adăugați.

           În  cazul în care unul dintre fișierele numite în membru... nu există, ar afișează un mesaj de eroare
           și lasă neschimbate toate fișierele existente din arhivă care corespund acelui nume.

           În mod implicit, membrii noi sunt adăugați la sfârșitul fișierului, dar puteți  utiliza  unul  dintre
           modificatorii a, b sau i pentru a solicita plasarea în raport cu un membru existent.

           Modificatorul  v  utilizat  cu  această  operație  generează  o linie de ieșire pentru fiecare fișier
           inserat, împreună cu una dintre literele a sau r pentru a indica dacă fișierul a fost adăugat  (nu  a
           fost șters niciun membru vechi) sau înlocuit.

       s   Adaugă  un  index  la arhivă sau îl actualizează dacă există deja. Rețineți că această comandă este o
           excepție de la regula conform căreia nu poate exista decât o singură literă de comandă, deoarece este
           posibil să o utilizați atât ca o comandă, cât și ca un modificator. În ambele  cazuri,  aceasta  face
           același lucru.

       t   Afișează  un  tabel care listează conținutul arhivei sau al fișierelor listate în membru... care sunt
           prezente în arhivă. În mod normal,  se  afișează  numai  numele  membrului,  dar  dacă  se  specifică
           modificatorul  O,  se  afișează  și  poziția corespunzătoare a membrului.  În cele din urmă, pentru a
           vedea modurile (permisiuni), data  și  ora,  proprietarul,  grupul  și  dimensiunea,  trebuie  inclus
           modificatorul v.

           Dacă nu specificați niciun argument membru, sunt listate toate fișierele din arhivă.

           Dacă  există mai multe fișiere cu același nume (să zicem, fig) într-o arhivă (să zicem b.a), ar t b.a
           fig listează numai prima instanță; pentru a le vedea pe toate, trebuie să cereți o listă  completă  -
           în exemplul nostru, ar t b.a.

       x   Extrage  membri  (membrii  numiți)  din  arhivă.  Puteți utiliza modificatorul v cu această operație,
           pentru a solicita ca ar să listeze fiecare nume pe măsură ce îl extrage.

           Dacă nu specificați un membru, toate fișierele din arhivă sunt extrase.

           Fișierele nu pot fi extrase dintr-o arhivă  subțire  și  există  restricții  privind  extragerea  din
           arhivele create cu P: Rutele nu trebuie să fie absolute, nu pot conține „..”, iar orice subdirectoare
           din  rute  trebuie  să  existe.  Dacă  se  dorește  evitarea acestor restricții, atunci se utilizează
           opțiunea --output pentru a specifica un director de ieșire.

       O serie de modificatori (mod) pot urma imediat după litera cheie  p,  pentru  a  specifica  variații  ale
       comportamentului unei operații:

       a   Adaugă  fișiere  noi  după un membru existent al arhivei. Dacă utilizați modificatorul a, numele unui
           membru existent al arhivei trebuie să fie prezent ca argument relpos, înainte de specificația arhivă.

       b   Adaugă fișiere noi înainte de un membru existent al arhivei. Dacă utilizați modificatorul  b,  numele
           unui  membru  existent  al arhivei trebuie să fie prezent ca argument relpos, înainte de specificația
           arhivă (la fel ca i).

       c   Creează arhiva. Arhiva arhivă specificată  este  întotdeauna  creată  dacă  nu  exista,  atunci  când
           solicitați  o  actualizare.  Dar  se  emite  un  avertisment  dacă  nu specificați în prealabil că vă
           așteptați să o creați, prin utilizarea acestui modificator.

       D   Funcționează în modul determinist. La adăugarea fișierelor și a indexului arhivei, se utilizează zero
           pentru UID-uri, GID-uri, marcaje de timp și se utilizează moduri  de  fișier  coerente  pentru  toate
           fișierele.  Atunci  când  se utilizează această opțiune, dacă se utilizează ar cu opțiuni identice și
           fișiere de intrare identice, execuțiile multiple vor crea fișiere de ieșire identice,  indiferent  de
           proprietarii, grupurile, modurile de fișier sau orele de modificare ale fișierelor de intrare.

           Dacă  binutils a fost configurat cu --enable-deterministic-archives, atunci acest mod este activat în
           mod implicit. Acesta poate fi dezactivat cu modificatorul U, de mai jos.

       f   Trunchiază numele din arhivă. În mod normal, GNU ar permite nume de fișiere de orice  lungime.  Acest
           lucru  îl  va  determina  să  creeze  arhive  care nu sunt compatibile cu programul nativ ar pe unele
           sisteme. În cazul în care acest lucru reprezintă o problemă, modificatorul f poate fi utilizat pentru
           a trunchia numele fișierelor atunci când le introduce în arhivă.

       i   Inserează fișiere noi înainte de un membru existent  al  arhivei.  Dacă  utilizați  modificatorul  i,
           numele  unui  membru  existent  al  arhivei  trebuie  să  fie  prezent ca argument relpos, înainte de
           specificația arhivă (la fel ca b).

       l   Specifică dependențele acestei biblioteci. Dependențele trebuie să urmeze imediat acest  caracter  de
           opțiune, trebuie să utilizeze aceeași sintaxă ca linia de comandă a editorului de legături și trebuie
           să  fie  specificate  într-un  singur argument. Adică, dacă sunt necesare mai multe elemente, acestea
           trebuie să fie puse între ghilimele pentru a forma un singur argument de linie de comandă. De exemplu
           l "-L/usr/local/lib -lmydep1 -lmydep2"

       N   Utilizează parametrul număr. Acesta este utilizat în cazul în care există mai multe intrări în arhivă
           cu același nume. Extrage sau șterge din arhivă instanța număr ale numelui dat.

       o   Păstrează  datele  originale  ale  membrilor  la  extragerea  acestora.  Dacă  nu  specificați  acest
           modificator, fișierele extrase din arhivă sunt inscripționate cu ora de extracție.

       O   Afișează pozițiile membrilor în interiorul arhivei. Se utilizează împreună cu opțiunea t.

       P   Utilizează numele complet al rutei atunci când se potrivesc sau se stochează nume în arhivă. Arhivele
           create  cu  nume  de  rute  complete  nu  sunt  conforme cu POSIX și, prin urmare, este posibil să nu
           funcționeze cu alte instrumente decât cele GNU actualizate. Modificarea unor astfel de arhive cu  GNU
           ar fără a utiliza P va elimina numele complete ale rutelor, cu excepția cazului în care arhiva este o
           arhivă  subțire.  Rețineți  că  P  poate  fi util atunci când adăugați fișiere într-o arhivă subțire,
           deoarece r fără P ignoră ruta atunci când alege ce element să înlocuiască. Astfel,

                   ar rcST arhiva.a subdir/fișier1 subdir/fișier2 fișier1

           va avea ca rezultat  înlocuirea  primului  „subdir/fișier1”  cu  „filșier1”  din  directorul  curent.
           Adăugarea lui P va împiedica această înlocuire.

       s   Scrie  un  index  de fișier obiect în arhivă sau actualizează un index existent, chiar dacă arhiva nu
           suferă nicio altă modificare. Puteți utiliza acest indicator de modificare fie cu orice operație, fie
           singur.  Rularea ar s pe o arhivă este echivalentă cu rularea ranlib pe aceasta.

       S   Nu generează un tabel de simboluri de arhivă. Acest lucru poate accelera construirea unei  biblioteci
           mari  în  mai  multe  etape. Arhiva rezultată nu poate fi utilizată cu editorul de legături. Pentru a
           construi un tabel de simboluri, trebuie să omiteți modificatorul  S  la  ultima  execuție  a  ar  sau
           trebuie să executați ranlib pe arhivă.

       T   Alias  depreciat  pentru  --thin. T nu este recomandat deoarece în multe implementări de «ar» T are o
           semnificație diferită, așa cum este specificat de X/Open System Interface.

       u   În mod normal, ar r.... inserează toate fișierele listate în arhivă. Dacă  doriți  să  inserați  doar
           acele fișiere din lista pe care o listați care sunt mai noi decât membrii existenți cu aceleași nume,
           utilizați  acest  modificator.  Modificatorul u este permis numai pentru operația r (reamplasare). În
           special, combinația qu nu este permisă, deoarece verificarea  marcajelor  de  timp  ar  pierde  orice
           avantaj de viteză din operația q.

           Notă  -  în  cazul  în  care  o  arhivă  a  fost  creată într-o manieră deterministă, de exemplu prin
           utilizarea modificatorului D, atunci înlocuirea va avea loc întotdeauna, iar modificatorul  u  va  fi
           ineficient.

       U   Nu  funcționează  în modul determinist. Acesta este inversul modificatorului D, de mai sus: fișierele
           adăugate și indexul arhivei vor primi valorile lor  reale  UID,  GID,  marca  temporală  și  valorile
           modului de fișier.

           Aceasta  este  valoarea  implicită,  cu  excepția  cazului  în  care  binutils  a  fost configurat cu
           --enable-deterministic-archives.

       v   Acest modificator solicită versiunea detaliere a unei operații. Multe  operații  afișează  informații
           suplimentare, cum ar fi numele fișierelor procesate, atunci când se adaugă modificatorul v.

       V   Acest modificator arată numărul de versiune al ar.

       Programul  ar  acceptă,  de  asemenea, unele opțiuni din linia de comandă care nu sunt nici modificatori,
       nici acțiuni, dar care îi modifică comportamentul în anumite moduri:

       --help
           Afișează lista opțiunilor liniei de comandă acceptate de ar și apoi iese.

       --version
           Afișează informațiile despre versiunea lui ar și apoi iese.

       -X32_64
           ar ignoră o opțiune inițială ortografiată -X32_64,  pentru  compatibilitate  cu  AIX.  Comportamentul
           produs  de  această  opțiune  este cel implicit pentru GNU ar. ar nu acceptă niciuna dintre celelalte
           opțiuni -X; în special, nu acceptă -X32, care este valoarea implicită pentru AIX ar.

       --plugin nume
           Opțiunea opțională din linia de comandă --plugin nume face ca ar să încarce modulul numit nume,  care
           adaugă  suport  pentru  mai  multe  formate  de  fișiere,  inclusiv  fișiere  obiect cu informații de
           optimizare a timpului de legătură.

           Această opțiune este disponibilă numai în cazul în care lanțul de instrumente  a  fost  construit  cu
           suportul pentru module activat.

           Dacă  --plugin  nu  este  furnizată,  dar  suportul  pentru module a fost activat, atunci ar parcurge
           fișierele din ${libdir}/bfd-plugins în ordine alfabetică și se utilizează primul modul care revendică
           obiectul în cauză.

           Vă rugăm să rețineți că acest director de căutare de module nu este cel folosit de opțiunea -plugin a
           ld. Pentru ca ar să utilizeze modulul editorului de legături, acesta  trebuie  copiat  în  directorul
           ${libdir}/bfd-plugins.  Pentru  compilațiile bazate pe GCC, modulul editorului de legături se numește
           liblto_plugin.so.0.0.0.0. Pentru compilațiile bazate pe Clang, acesta se numește LLVMgold.so. Modulul
           GCC este întotdeauna compatibil cu versiunile anterioare, astfel încât este suficient să  se  copieze
           doar cel mai nou.

       --target ținta
           Opțiunea  opțională  din  linia de comandă --target nume-bfd specifică faptul că membrii arhivei sunt
           într-un format de cod obiect diferit de formatul implicit al sistemului dumneavoastră. A se vedea

       --output nume-director
           Opțiunea --output poate fi utilizată pentru a specifica o rută către  un  director  în  care  să  fie
           extrași membrii arhivei. Dacă această opțiune nu este specificată, se va utiliza directorul curent.

           Notă  -  deși  prezența  acestei  opțiuni  implică o operație de extracție x, opțiunea trebuie totuși
           inclusă în linia de comandă.

       --record-libdeps dependențe-bibliotecă
           Opțiunea --record-libdeps este identică modificatorului l, doar că este tratată în forma lungă.

       --thin
           Transformă arhiva specificată într-o arhivă subțire. Dacă există deja și  este  o  arhivă  obișnuită,
           membrii existenți trebuie să fie prezenți în același director ca arhiva.

       @fișier
           Citește  opțiunile  liniei  de  comandă  din fișier. Opțiunile citite sunt inserate în locul opțiunii
           originale @fișier. Dacă fișier nu există sau nu poate fi citit, atunci opțiunea va fi tratată literal
           și nu va fi eliminată.

           Opțiunile din fișier sunt separate prin spații albe. Un caracter de spațiere poate fi  inclus  într-o
           opțiune prin includerea întregii opțiuni între ghilimele simple sau duble. Orice caracter (inclusiv o
           bară  oblică  inversă)  poate  fi inclus prin prefixarea caracterului care urmează să fie inclus cu o
           bară oblică inversă. fișier poate conține la rândul său opțiuni @fișier suplimentare; orice astfel de
           opțiuni vor fi procesate în mod recursiv.

CONSULTAȚI ȘI

       nm(1), ranlib(1), and the Info entries for binutils.

DREPTURI DE AUTOR

       Drepturi de autor © 1991-2025 Free Software Foundation, Inc.

       Se acordă permisiunea de a copia, distribui și/sau modifica acest document în  conformitate  cu  termenii
       Licenței  GNU  Free Documentation, versiunea 1.3 sau orice versiune ulterioară publicată de Free Software
       Foundation; fără secțiuni invariante, fără texte de copertă și fără texte de contra copertă.  O  copie  a
       licenței este inclusă în secțiunea intitulată „GNU Free Documentation License”.

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  sau  o
       versiune   ulterioară   cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se  asumă  NICIO
       RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să  trimiteți  un  e-mail  la  translation-team-
       ro@lists.sourceforge.net.

binutils-2.44                                     3 martie 2025                                            AR(1)