]>

# Manualul Kpackage

Toivo
Pedaste

    toivo@ucs.uwa.edu.au

21 iulie 1999
Versiunea 1.3.8

Acest manual descrie Kpackage versiunea 1.3.8

KDE
package
package
manage

## Introducere

Kpackage este o interfață grafică pentru managerele de pachete RPM, Debian, Slackware și managerele de pachete BSD, ce este similară într-o oarecare măsură cu GLINT. Kpackage face parte din K Desktop Environment și, ca rezultat, este proiectat să se integreze cu managerul de fișiere KDE.

### Jurnal modificări

- kpackage-1.3.8

  - A fost fixată eroarea de indentificare a pachetelor KISS

- kpackage-1.3.7

  - Lucrează cu toate funcțiile pentru pachetele KISS

  - Texte pentru limba coreană în `kpackage.spec` - KIM Kyung Heon tody@tody.sarang.net

  - Completări la traducerea în limba română și petice pentru i18n - Claudiu Costin claudiuc@calderon.pcnet.ro

- kpackage-1.3.6

  - Traducere în limba română - Claudiu Costin claudiuc@calderon.pcnet.ro

- kpackage-1.3.5

  - Se compilează cu RPM 3.0, 3.0.1 și ultima versiune 3.0.2

- kpackage-1.3.4

  - Se compilează cu RPM 3.0.2

- kpackage-1.3.3

  - Traducerea în limba poloneză - Dariusz Pawlak (C)drAGO pawlakd@pl.pims.org

  - Atenționează despre cerința pachetului popt

- kpackage-1.3.2

  - Fixat fanionul `upgrade` cu RPM

  - Fixat mesajul de eroare `need root` cu `rpm`

  - Fixată instalarea fișierului `index-4.html`

- kpackage-1.3.1

  - O altă încercare de a găsi un `include` să sesizeze `rpm3.0`

- kpackage-1.3

  - Suport pentru pachete FreeBSD - Alex Hayward xelah@ferret.lmh.ox.ac.uk

  - Lucrează cu QT2 și ultimul CVS KDE

  - Lucrează cu RPM3.0

  - Lucrează cu glibc2.1

  - Fixări RPM 3.0 - prigaux@mandrakesoft.com

  - Fixări ale mesajelor de eroare pentru verificări rpm

  - Fixată schimbarea pachetului cînd un fișier e selectat

- kpackage-1.2.1

  - Fixată problema verificării dependențelor pentru dezinstalarea pachetelor RPM

- kpackage-1.2

  - Utilizează clasa KAccelMenu pentru a simplifica configurarea acceleratorilor și să permită acceleratorilor să fie setați apăsînd tasta cînd un item de menu este selectat. Caracterul ' este cerut pentru a precede tastele. (KDE post versiunea 1.1)

  - Am adăugat dialogul Taste ca altă cale de a seta acceleratorii.

  - Am adăugat manipularea pachetelor KISS (KDE post 1.1)

  - Am adăugat lucrul cu pachete SLACKWARE

  - Am mutat funcționalități comune pentru tipurile de pachete în clasa de bază

  - Am înlocuit QString `mid` cu `right` unde era necesar

  - Am setat corespunzător filtrul în KFileDialog

  - Am curățat clasa procbuf

- kpackage-1.1.3

  - Am dat fundal transparent iconițelor (fontul cooper)

  - Actualizare la traducerea în limba rusă - Serguei Koubouchine ksi@ksi-linux.com

  - Traducere în limba daneză - Steen Rabol rabol@get2net.dk

  - Actualizare building - Stefan Siegel siegel@informatik.uni-kl.de

- kpackage-1.1.2

  - Am fixat problema cu directoarele duplicate

  - Am fixat instalarea documentației în limba engleză

- kpackage-1.1.1

  - Afișează mărimea fișierului din arborele de pachete dacă nu are o mărime instalată

  - Am actualizat config ca să refere la qt 1.4

  - Acum manipulează numărul de versiune RPM, DEB

  - Am fixat itemul Arată din bara de unelte

  - Traducere în limba ungară

- kpackage-1.1.01

  - Am încercat fixarea problemei de compilare cu gcc vechi

- Kpackage-1.1

  - Acum cere QT 1.4

  - Utilizează QTreeView: mult mai rapid, permite coloane, arată informații despre versiune

  - Am adăugat modul de selectare multiplă pentru instalare și dezinstalare de pachete multiple în același timp

  - Am accelerat semnificativ viteza de inserție în listă nefăcînd "insort"

  - Am accelerat viteza de ieșire din program evitînd ștergerea obiectelor

  - Meniu pentru expandarea și contragerea pachetelor din arbore

  - Meniu pentru ștergerea selecțiilor

  - Am eliminat Ieșire din bara de unelte

  - Am fixat problema cu rpmlib 2.5. Utilizează `rpmlib.h` pus la dispoziție

  - Am fixat specificarea unui fișier în panou pentru citirea directoarelor

  - Am fixat ștergerea cache-ului de directoare cu schimbarea directorilor

  - Am fixat compararea versiunilor de pachete

- Kpackage-1.0

  - Manipulează pachetele neinstalate la fel ca pe cele instalate

  - Face cache pentru directoarele de pachete neinstalate non-locale în `.kpackage`

  - Face cache pentru pachete în directorul `.kpackage` sub numele lor

  - Dialog Opțiuni pentru caching al directorului de pachete

  - Dialog Opțiuni pentru caching al pachetelor

  - Dialog Opțiuni pentru afișarea pachetelor

  - Am făcut dialogul Opțiuni cu subferestre

  - Am pus separator de panouri în fereastra principală

  - Lista de proprietăți a sortării pachetelor

  - Am adăugat traducerea în limba rusă

  - Am fixat șirul Terminate în KpMsg

  - Am fixat mesajul de eroare pentru fișiere din pachete, negăsite

  - Am fixat aducerea de fișiere din kfm cînd fișierul nu este găsit

  - Am fixat deschiderea unui fișier local dialogul de selectare a fișierelor

  - Am fixat proprietatea de afișare a pachetelor cînd bara de defilare dispare

  - Am fixat URL-urile non-fișier din dialogul de deschidere a fișierelor

  - Am fixat problema cu legarea librăriei zlib (probabil)

- kpackage-0.9.02

  - Am adăugat traducerea în limba franceză

  - Am fixat segfault cu Opțiuni...

  - Am fixat Verificare dependențe cu Dezinstalare RPM

  - Am schimbat iconițele în afișarea arborelui

- kpackage-0.9.01

  - Am adăugată traducerea în limba spaniolă

  - Am fixat compilarea fără RPM

- kpackage-0.9

  - Am adăugat căutarea pentru pachete ce includ un fișier (dialog cu drag-and-drop)

  - Utilizează selectorul de fișiere kfile

  - Creează lista de fișiere numai cînd este accesat

  - Nu reîncarcă arborele de pachete după adăugare sau ștergere

  - Am adăugat bara de unelte (previne toolbar envy)

  - Am adăugat meniul Opțiuni (opțiune pentru oprirea verificării fișierelor)

  - Am actualizat fișierele pentru automake, autoconf și make

  - Am fixat ceva slăbiciuni cu fd și memoria

  - Am fixat mini-iconițele

  - Salvează mai multă informație de stare la ieșire

  - Am fixat culorile din panelul de descriere

  - Am adăugat mai multă internaționalizare

  - Am pus mai multe lucruri pentru traducere

- Kpackage 0.8

  - Afișează probleme de dependențe RPM în GUI

  - Afișează pachetele Debian parțial instalate

  - Am actualizat iconițele

  - Nu reconstruiește arborele de pachete dacă nu este necesar

  - Am fixat alte slăbiciuni cu descriptorul de fișier RPM

  - Acum încearcă să pună fișierele tmp în directorul utilizatorului (/tmp are probleme de securitate)

  - Am adăugat internaționalizare

    - Portugheză: Pedro Morais pmmm@camoes.rnl.ist.utl.pt

    - Slovacă: Juraj Bednar bednar@isternet.sk

  - Permite punerea mai multor fișiere

  - Am adăugat imagine pentru directoare și grupuri de pachete

  - Am fixat căutarea pentru a nu pierde mărimea pachetelor

  - Am schimbat documentația ca să aibă un aspect KDE

- kpackage-0.7

  - Am restructurat comportamentul intern pentru a implementa manipularea pachetelor Debian și RPM ca subclase și permite adăugarea altor tipuri

  - Se compilează fără suport RPM dacă librăriile corecte nu sînt disponibile

  - Am adăugat funcția "Caută" pentru a căuta pachete instalate

  - Acum utilizează widget-ul ktreeview

  - Am schimbat erorile RPM de la STDERR la ferestre popup de erori

  - Iconițe cu culori diferite pentru DEB și RPM în arborele de pachete

  - Am fixat să lucreze cu noul kprocess

  - Am fixat problema cu fd

  - Am fixat niște erori de alocare a memoriei

- kpackage-0.6.2

  - Am fixat instalarea pachetelor .DEB cu număr mare de fișiere

  - Am făcut manipularea librăriilor mult mai inteligentă

- kpackage-0.6

  - Am fixat imaginile; am adăugat verificarea fișierelor pentru Debian

  - Am adăugat un meniu de fișiere deschise recent

  - Selectînd un fișier în listă îl deschide

  - Am mărit viteza pentru o listă mare de fișiere

  - Am fixat manipularea URL-urilor non-fișier

  - Am fixat prăbușirea cînd Debian nu este instalat

  - Acum recunoaște formatul vechi Debian

- kpackage-0.5

  - Am adăugat manipularea pachetelor DEB

  - Am fixat problema cu pierderea liniilor de text în descriere

  - Am actualizat pentru manipularea sesiunilor

  - Acum utilizează kfm pentru I/O de rețea

  - Am adăugat meniul Deschide

Toivo Pedaste toivo@ucs.uwa.edu.au

## Instalarea

### De unde se poate lua Kpackage

Kpackage poate fi găsit la ftp://ftp.uwa.edu.au/pub/k. Există și o pagină de web la http://www.general.uwa.edu.au/u/toivo/kpackage. Kpackage poate fi dealtfel găsit la ftp://ftp.kde.org/pub/kde/, principalul site FTP al proiectului KDE.

### Cerințe

Pentru instalarea KPackage aveți nevoie de:

- librăriile Qt 1.4 și KDE 1.1

- sau

- Qt2.0 și KDE 2 din CVS

Pentru listarea pachetelor Debian nu este nevoie de alt program, dar pentru instalare și dezinstalare de pachete aveți nevoie de:

- managerul de pachete DPKG instalat

Pentru pachetele BSD aveți nevoie de programele de manipulare a pachetelor:

- pkg_info

- pkg_add

- pkg_delete

Pentru pachete Slackware aveți nevoie de:

- installpkg

- removepkg

Pentru lucrul cu pachete Redhat aveți nevoie de:

- RPM și RPM-DEVEL: 2.3, 2.4 sau 3.0

- aceleași librării de care are nevoie RPM la compilare. Ele sînt:

  - libdb - librăria de baze de date Berkeley

  - libz și libz-dev - librăria de compresie

  - Ultimele versiuni de RPM cer rutina `gettext` care se găsește în `libc6` sau în `libintl`

  - RPM 3.0 poate cere pachetul `popt`

De asemenea, pentru a putea lucra corect cu pachetele RPM, baza de date de pachete RPM trebuie inițializată. Dacă dînd comanda `rpm -qa` obțineți o eroare de genul

    unable to open....

atunci executați comanda `rpm --rebuilddb`.

### Compilarea și instalarea

Pentru a compila și instala Kpackage pe sistemul dumneavoastră, executați următoarele comenzi în directorul de bază al distribuției `kpackage`:

    % ./configure
    % make
    % make install

S-ar putea să fie nevoie să setați QTDIR și KDEDIR pentru a indica unde sînt instalate librăriile Qt și KDE. Deoarece Kpackage utilizează `autoconf` ar trebui să nu existe multe probleme la compilarea lui.

## Elemente de bază ale interfeței

Kpackage are două paneluri. Panelul din stînga afișează un arbore de pachete instalate, iar cel din dreapta afișează informații despre pachetele instalate.

### Drag-and-Drop

Kpackage utilizează protocolul drag-and-drop al KDE. Aceasta înseamnă că puteți trage și pune pachete în Kpackage pentru a le deschide. Trăgînd un fișier peste dialogul Caută fișier va determina căutarea pachetului ce conține acel fișier.

### Manipularea pachetelor cu arborele de pachete

Cînd Kpackage este pornit normal (adică nu a fost invocat prin drag-and-drop și nu i-au fost dați parametrii), el va afișa două paneluri cu arborele de pachete în stînga (acest arbore arată pachetele instalate și opțional pachetele neinstalate și actualizările de asemenea), iar în dreapta informații despre pachetul selectat.

Arborele de pachete arată numele pachetului, mărimea lui, versiunea și în cazul pachetelor neinstalate care ar actualiza un pachet instalat, versiunea pachetului instalat. Selectînd un pachet din arbore va determina afișarea de informații despre el în panelul din dreapta și permite:

- Afișarea informațiilor de stare ale pachetului

- Observarea fișierelor ce sînt incluse în pachetul instalat. Selectînd un fișier din listă, îl va deschide utilizînd managerul de fișiere

- Verificarea fișierelor din pachet. Fișierele care există sînt marcate cu un semn de marcare verde, iar fișierele care nu există cu o cruce roșie.

- Dezinstalarea unui pachet instalat

- Instalarea unui pachet neinstalat

Arborele de pachete poate opera în două moduri:

- în modul Selecție simplă selectînd un pachet îl deselectează pe cel precedent

- în modul Selecție multiplă mai multe pachete pot fi selectate și acestea pot fi instalate sau dezinstalate ca un grup

### Integrarea pachetelor neinstalate în arborele de pachete

Kpackage poate lucra cu colecții de pachete neinstalate ale distribuțiilor RPM, Debian, Slackware sau BSD.

Pentru pachetele RPM, Kpackage poate citi un director conținînd pachetele și să le adauge la arborele de pachete ca pachete noi sau actualizări. Este posibil să poată fi examinate sau instalate aceste pachete direct din arborele de pachete. Implicit, informația despre pachet este extrasă din formatul standard al numelor fișierelor și de asemenea este necesară utilizarea butonului Examinează în modul Selecție simplă pentru a vedea întreaga descriere. Este posibilă setarea unei opțiuni astfel încît, pentru directoarele locale, să fie citit fiecare fișier din pachet. Acest lucru determină o viteză mai mică dar oferă o descriere completă.

Pentru pachetele Debian, directoarele de pachete pot fi manipulate în același fel ca pachetele RPM dar este posibilă și utilizarea fișierelor `Packages` care asigură directoare pentru distribuțiile Debian. Locația distribuției Debian este specificată în corespondență cu fișierele `Packages` pentru părțile distribuției care interesează. Acele pachete sînt apoi adăugate la arborele de pachete și pot fi examinate sau instalate. Dacă este utilizat programul `dselect`, atunci fișierul `/var/lib/dpkg/available` poate fi utilizat ca fișier `Packages` ce descrie distribuția utilizată de `dselect`.

Pentru pachetele Slackware există foarte puțină informație stocată în pachetele instalate, dar este posibil să se utilizeze ca sursă de informații despre pachetele instalate un fișier `PACKAGES.TXT`. Fișierul `PACKAGES.TXT` este echivalent cu un fișier `Packages` Debian. Distribuțiile Slackware sînt structurate cu un arbore de directoare ce conține pachetele `.tgz` și un fișier `PACKAGES.TXT` ce descrie pachetele. La fel ca la distribuțiile Debian, pachetele dintr-o distribuție Slackware pot fi integrate în arborele de pachete. Din păcate, pachetele Slackware nu transportă informații despre versiune, astfel încît nu este posibil să se determine care pachete neinstalate sînt mai noi decît cele instalate.

Pentru pachete BSD, Kpackage va considera ca director ce conține distribuția de pachete acel director care conține un fișier `INDEX` (ce descrie toate pachetele) și mai conține și un director `All` (cu toate fișierele pachet în el).

Pentru pachetele KISS (care au numele terminat în `.installer`), Kpackage poate citi directorul conținînd pachetul și să-l adauge la arborele de pachete.

Pentru fișiere pachet distante și directoare distante (de exemplu cele aduse prin FTP), Kpackage va face caching. Pachetelelor li se face cache în `~/.kpackage` și directoarelor în `~/.kpackage/dir`

OBSERVAȚIE: pentru ca manipularea directoarelor distante să meargă (FTP), `kfm` nu trebuie să aibă opțiunea Proxy FTP setată în dialogul Opțiuni navigator de web.

### Instalarea pachetelor

Pentru a instala un pachet puteți să:

- localizați în `kfm` pachetul pe care doriți să îl instalați și să-l îl trageți peste o fereastră Kpackage ce rulează;

- dați clic pe un fișier pachet în `kfm` și va porni o copie nouă a Kpackage;

- utilizați meniul Deschide din Kpackage;

- selectați un pachet neinstalat din arborele de pachete

În modul Selecție simplă butonul Examinează va deschide fișierul pachet (aducînd-ul de la gazda distantă dacă este necesar) și afișează opțiunile de instalare în panelul din stînga și informații despre pachet în panelul din dreapta.

În modul Selecție multiplă butonul Instalează deschide un dialog cu opțiuni de instalare, unde instalarea este selectată în acest dialog și pachetele distante sînt aduse prin FTP și după aceea pachetele selectate sînt instalate.

Pachetele RPM și Debian sînt manipulate un pic diferit. Pachetele RPM sînt instalate de către Kpackage, pe cînd pachetele Debian au nevoie de utilitarele DPKG ce sînt invocate într-o fereastră KVT (acesta permite interacțiunea cu utilizatorul dacă este nevoie).

### Dezinstalarea pachetelor

Pachetele pot fi dezinstalate prin selectarea lor în arborele de pachete și utilizînd butonul Dezinstalează. Aceasta va determina afișarea unui dialog cu opțiunile de dezinstalare, iar apăsarea butonului Dezinstalează din dialog va determina dezinstalarea pachetelor.

## Meniurile

Această secțiune descrie meniurile programului Kpackage. Este posibil să asociați acceleratori de tastatură cu elementele meniurilor prin selectarea unui item de meniu și apoi apăsînd tasta ghilimele ' o singură dată, urmată de tasta ce se dorește a fi asociată la itemul de meniu (pentru KDE versiunea post 1.1).

### Meniul Fișier

Itemii din meniul Fișier sînt:

- Deschide

  - Aduce în primplan dialogul de selectat fișiere locale sau prin FTP.

- Deschide URL

  - Permite introducerea de adrese URL pentru fișiere locale, FTP sau HTTP.

- Deschide recent

  - Prezintă o listă a celor mai recent deschise fișiere pachet.

- Caută pachet

  - Caută în lista de pachete instalate un pachet al cărui nume conține șirul introdus.

- Caută fișier

  - Produce o listă de pachete ce conțin numele de fișier introdus. Selectînd o linie va determina afișarea de informații despre acel pachet. Se comportă un pic diferit pentru RPM (unde trebuie să se introducă numele de fișier exact) și DEB (unde se poate introduce o expresie regulată).

- Actualizează

  - Recitește datele despre pachete și reconstruiește arborele de pachete.

- Ieșire

  - Determină ieșirea din programul Kpackage.

### Meniul Pachete

Itemii din meniul Pachete sînt:

- Expandează arbore

  - Expandează în întregime arborele de pachete.

- Contrage arbore

  - Contrage arborele de pachete astfel încît se afișează numai structura arborelui.

- Anulează selecția

  - Deselectează toate pachetele.

- Mod de selectare multiplă / Mod de selectare simplă

  - Comută între modul în care un singur pachet se poate selecta la un moment dat și modul în care pot fi selectate mai multe pachete.

### Meniul Opțiuni

Itemii din meniul Opțiuni sînt:

- Opțiuni

  - Afișare pachete

    - Acesta determină care pachete sînt afișate în arborele de pachete: toate pachetele, numai cele noi, numai cele de actualizare și cele instalate.

  - Cache de directoare

    - Permite să se seteze cînd să se facă cache pentru directoare (aduse prin FTP).

  - Cache de pachete

    - Permite să se seteze cînd să se facă cache pentru fișierele pachet distante ce se aduc prin FTP.

  - Altele

    - Verifică lista de fișiere

      - Dacă este marcată această opțiune, fișierele dintr-un pachet sînt verificate dacă sînt efectiv instalate.

    - Citește informații din toate fișierele pachetelor locale

      - Dacă este marcată această opțiune, toate fișierele dintr-un director (local) de pachete sînt citite în loc să se utilizeze numai numele de fișiere. Această metodă e mai lentă dar arată mai multe informații.

- Taste

  - Dialogul standard al KDE pentru setarea acceleratorilor de tastatură (KDE post 1.1).

- Locația pachetelor neinstalate

  - Locația RPM

    - Acesta asigură specificarea locației directoarelor de pachete (fie locale, fie FTP). Fiecare linie include o linie de editare unde pot fi scrise numele URL-ului sau cel al directorului. Un buton `"..."` deschide un dialog de selecție a fișierelor și o căsuță de opțiune Utilizează determină dacă directorul dat în linia de editare este utilizat sau nu. Pentru a face manipularea listei de directoare mai ușoară sînt prezente subferestre multiple.

  - Locația KISS

    - Cele două subferestre specifică directoarele conținînd pachetele KISS.

  - Locația BSD

    - Prima subfereastră asigură specificarea locației arborelui de porturi în sistemul de fișiere.

    - Cealaltă subfereastră permite specificarea locației directoarelor `packages`, ca de exemplu acelea conținînd fișierele `INDEX`.

  - Locația DEB

    - Primele două subferestre lucrează în același fel ca la RPM, celelalte permițînd specificarea distribuției Debian și locația fișierelor `Packages` în acea distribuție.

  - Locația SLACK

    - Pentru pachetele Slackware sînt trei tipuri de subferestre:

      - Prima subfereastră precizează locația fișierului `PACKAGES.TXT` ce este utilizat pentru a asigura informații despre pachetele instalate

      - Următoarele patru subferestre pot fi utilizate pentru a specifica locația distribuțiilor cu arborele de directoare conținînd fișierele `.tgz` și locația fișierelor `PACKAGES.TXT` corespunzătoare.

      - Ultimele două subferestre sînt pentru directoarele care nu au un fișier `PACKAGES.TXT` corespunzător.

- Ascunde bara cu unelte

  - Activează/dezactivează bara de unelte

- Salvează opțiunile

  - Salvează opțiunile curente imediat în loc să o facă în momentul cînd se iese din Kpackage

### Meniul Cache

Itemii din meniul Cache sînt:

- Șterge cache-ul directorului de pachete

  - Șterge cache-ul de copii ale directoarelor de pachete distante și fișierele `Packages`.

- Șterge cache-ul pachetelor

  - Șterge cache-ul de copii ale pachetelor distante ce au fost aduse prin FTP.

### Bara de unelte

- Deschide

- Expadează arborele de pachete

- Contrage arborele de pachete

- Caută pachet

- Caută fișier

- Actualizează

- Ieșire

## Epilog

- Autor program KPackage: Toivo Pedaste toivo@ucs.uwa.edu.au

- Autor documentație: Toivo Pedaste toivo@ucs.uwa.edu.au

- Traducerea în limba română: Claudiu Costin claudiuc@interplus.ro