# Paket Yönetimi Eklentisi

## Eklentinin Amacı

Paket yönetimi eklentisi mevcut etki alanınızda yer alan bilgisayarların paketlerinin listelenmesine, güncellik durumunun görüntülenmesine, güncellemeye ve paket kaldırmaya yaramaktadır.

## Eklentinin Kullanılacağı Sunucular

Paket yönetimi eklentisi LDAP kaynağı sunucusu üzerinde kullanılmalıdır. Bu konuda mevcut durumda desteklenen Microsoft Aktif Dizin ve SAMBA Etki Alanı Denetçisine resmi olarak destek verilmektedir. İleriki sürümlerde FreeIPA üzerinde de temel özelliklerin kontrol edilmesi sağlanacaktır.

## Gereksinimler

### Bağımlılıklar

* Eklenti kullanımı için gerekli olan port yetkileri aşağıdaki gibidir

| Kaynak IP | Kaynak Port | Hedef IP        | Hedef Port |
| --------- | ----------- | --------------- | ---------- |
| İstemci   |             | Depo Sunucusu   | 80         |
| İstemci   |             | Domain Sunucusu | 445        |
| Liman     |             | İstemci         | 22         |

* Aşağıdaki paketlerin yüklü olması gerekmektedir.

  `gnupg2`

### Temel Gereksinimler

Paket Yönetimi Eklentisini kullanabilmek için Liman'a bu eklentiyi kullanabilecek yetkilerde bir kullanıcı ile giriş yapmak gerekmektedir. Bu ortamın sağlanabilmesi için öncelikle Paket Yönetimi Eklentisi Liman'a, daha sonra ise domain sunucusuna eklenir. Eklentiye giriş yapılarak **Eklenti Ayarları** kısmında **Paylaşımlı LDAP Kullanıcısı** ve **Paylaşımlı LDAP Şifresi** bölümlerine LDAP üzerinde yetkili (politika oluşturma-düzenleme yetkisi) kullanıcının bilgileri girilir (örneğin Administrator). Bu sayede Paket Yönetimi Eklentisini kullanacak olan yetkisiz kullanıcılar, yetkili bir kişiye ihtiyaç duymadan ve onların credentiallarına erişemeden paket politikaları oluşturma ve düzenleme yetkilerine sahip olurlar.

![](/files/fVEr9eaxGZLa9MKdZzzo)

Eklenti eklendikten ve eklenti ayarları doldurulduktan sonra sırası ile:

* LDAP yapısı üzerinde (gruplar eklentisi ile) "**PaketAdmin**" security grubu oluşturulmalı,

![](/files/xDB8esG5Ci3YTpFGRZlF)

* Liman üzerinde Paket Yönetimi Eklentisini yönetecek kullanıcı ve grupları içerecek rol grubu (örnek olarak "**PaketYöneticileri**") oluşturulmalı ve Paket Yönetimi Eklentisini yönetecek eklenti, sunucu ve Paket Yönetimi Eklentisinin tüm fonksiyon yetkileri verilmeli,

![](/files/gjYUSgr1yFujV2ayUaEE)

* Liman üzerinde **LDAPv2 modülü ile PaketAdmin grubu PaketYöneticileri rol grubuna** eklenmeli,

![](/files/BGCubUhuMoyGwDJlT2Br)

* Eklentiyi yönetecek kullanıcılar (kullanıcılar veya gruplar eklentisi ile) **PaketAdmin** grubuna eklenmelidir.

![](/files/25LKBODkhSvcOHkdksgL)

Bu aşamalar haricinde PaketAdmin grubunun makineler üzerinde paket fonksiyonlarını çalıştırabilecek yetkilere sahip olması için kök dizinden politika nesnesi oluşturulup oluşturulan (ya da var olan) politikanın Makine politikaları kısmındaki **Yetkili Kullanıcı** bölümünden **PaketAdmin** grubuna yetki verilmelidir.

![](/files/JdeNCoBYTAf2rCfGNlI3)

Şimdi ise **PaketAdmin grubundan bir kullanıcı ile** Liman'a giriş yapılır. Öncelikle arama kısmından hangi makinede paket ayarları izlemesi ve düzenlemesi yapacaksa o makinenin hostname'i ile arama yapılmalıdır. Arama sonucunda makinenin üzerine tıklanarak makine detayları penceresi açılır.

* Ardından **Makine Politikaları ve Kullanıcı Politikaları** sekmelerinde makinenin çektiği Paket politikaları görüntülenebilir.
  * Eğer ki makinenin çektiği politikalarda hiç Paket makine politikası yoksa **Makine Politikaları** sekmesindeki politika seçim yeri boş gelecektir. Aynı şey **Kullanıcı Politikaları** sekmesi için de geçerlidir.
  * **Kullanıcı Politikaları** sekmesinde **makinenin hangi kullanıcı ile politika çektiği** de yazmaktadır. Böylelikle hangi kullanıcıya tanımlanan kullanıcı politikalarının da çekilmiş olduğu görüntülenebilir. Bir kullanıcı kendisini kapsamayan (tanımlanmayan) kullanıcı politikalarını çekemeyecektir.

Paket yönetimi politika ve task olmak üzere iki şekilde yapılmaktadır

## Kullanım

### TASK: 1-Paketlerin Görüntülenmesi

Solda yer alan ağaçtan ilgili organizasyon seçildikten sonra sağ kısımda listelenen bilgisayarlardan, paketlerinin görüntülenilmesi istenen bilgisayar objesine tıklanır.

![](/files/ioQalXRRVojN5Psti1jy)

Gelen ekranda ilk sekme ilgili bilgisayarın özelliklerini listelerken, paket işlemleri için ikinci sekmeye geçilmelidir.

![](/files/RGBe6tg7VS2TBdcNhKou)

Paketler sekmesi ilk defa açıldığında bilgisayar üzerinde bulunan tüm paketler versiyon, tip ve durum bilgileriyle beraber listelenmektedir.

### TASK: 2-Paket Kurulumu

Sol üstte yer alan Paket Kur butonu ile istenirse depodan istenirse .deb paketi yardımı ile yeni bir paket kurulabilir.

Örnek bir paketi depodan kurmak için Depodan Yükle sekmesinde paketin adı ilgili boşluğa yazılmalıdır.

![](/files/xfajiVW3dJClW0fL1VDp)

Kur butonuna tıklandıktan sonra paketin kurulum çıktıları ekrana bastırılır. İşlem tamamlandığında alttaki bar tamamen dolar ve paket bilgisayara kurulmuş olur.

![](/files/pS9m62eeSS8J8yGFPqFh)

Eğer hali hazırda var olan bir .deb paketi sisteme kurulmak isteniyorsa Paket Yükle (.deb) sekmesinden Gözat butonu ile yüklenecek paket seçilir ve Yükle butonu ile sisteme yüklenir.

![](/files/V1qyjqD4y6qhoFw2u87n)

Sonrasında Kur butonuna tıklayarak ilgili paket sisteme kurulur.

### TASK: 3-Paket Kaldırma

Paket kaldırma seçeneği sistem üzerinde kurulu olan paketlerden bir ya da birden fazlasını kaldırmaya olanak tanımaktadır.

Yalnızca bir paketi kaldırmak için kaldırılacak pakete sağ tıklanır, kaldır seçeneği seçilir.

![](/files/2xYxfFsDeXfLf2n0CwVg)

Gelen ekranda Sil butonuna tıklanarak ilgili paket kaldırılır.

Birden fazla paket kaldırmak için ise kaldırılacak tüm paketler sol tıklanarak seçildikten sonra sağ tıklanarak kaldır butonuna basılır.

![](/files/R6D7ZkluU8SR537G5TPz)

Gelen ekranda sil butonuna tıklanarak ilgili paketler kaldırılır.

### TASK: 4- Depoların Görüntülenmesi

Solda yer alan ağaçtan ilgili organizasyon seçildikten sonra sağ kısımda listelenen bilgisayarlardan, depolarının görüntülenilmesi istenen bilgisayar objesine tıklanır.

![](/files/gug8li9KTYmx1dnnTNQ1)

Gelen ekranda Güncellemeler sekmesine gidilerek Depolar butonuna tıklandığında makinenin Aktif Depo Listesi görüntülenmektedir.

![](/files/aaarrxgrCZsjunGQFd9E)

![](/files/cB2DrW0s7EYgRanQpXbr)

### POLİTİKA: 1- Depo Ekleme

Makinelere apt deposu eklemek için politika uygulanabilir. Öncelikle paket yönetimi politikasının uygulanacağı politika nesnesine girilir.

![](/files/K2oij9Fzj1hHBiAFMnhP)

**Makine** sekmesinden **Apt Deposu** politikası bulunur.

* **Değeri** kısmına ekleyeceğimiz deponun değeri girilir. Bu değerler depoların internet sitelerinde ve **işletim sistemlerime/sürümlerine özel** olarak paylaşılır. Örnek olarak görselde

  * `deb http://19.depo.pardus.org.tr/pardus/ ondokuz main contrib non-free`
  * `deb http://19.depo.pardus.org.tr/guvenlik/ ondokuz main contrib non-free`&#x20;

  depoları kullanılmıştır.
* **İşletim Sistemi** kısmına politikanın uygulanması istenen işletim sistemleri girilir. Boş bırakılırsa tüm işletim sistemlerine uygulanır.
* **İşletim Sistemi Sürümü** kısmına politikanın uygulanması istenen işletim sistemi sürümleri girilir. Boş bırakılırsa tüm sürümlere uygulanır.

![](/files/WWw2AniyCH6FmsWyXsr5)

Görselde verilen değer Pardus 19 bir makina için veriliyor olduğundan İşletim Sistemi kısmına **pardus**, sürümüne ise **19** verilmiştir. Kaydedildikten sonra verilen değerlere uyumlu bir makineye gidip `gpupdate` komutu çalıştırıldığında makinenin depolarına verilen değerlerin eklendiği görülür.

![](/files/mYER1fUM1ChTR5nOAY4w)

### POLİTİKA: 2- Üçüncü Parti Depo ve GPG Anahtarı Ekleme

Makinelere depo liste dosyası ve GPG anahtarı eklemek istendiğinde ise politika nesnesine girildikten sonra **Makine** sekmesindeki **Apt Depo Liste Dosyası** ve **GPG Key** politikaları düzenlenmelidir.

* **Dosya Ad**ı kısmına eklenen depo değerinin /etc/apt/sources.list.d/ dizininde hangi dosya adıyla oluşturulacak dosyaya yazılması gerektiği girilir. Örnek olarak `postgre-sql.list` verilmiştir.
* **Değeri** kısmına ekleyeceğimiz deponun değeri girilir. Örnek olarak görselde `deb http://apt.postgresql.org/pub/repos/apt buster-pgdg main` kullanılmıştır.
* **ANAHTAR** kısmına ekleyeceğimiz deponun anahtarı girilir. Bu anahtar depo sağlayıcısı tarafından paylaşılır. İlgili deponun içerisinde veya sağlayıcının depo ile ilgili web sayfasında bulunabilir.
* **İşletim Sistemi** kısmına politikanın uygulanması istenen işletim sistemleri girilir. Boş bırakılırsa tüm işletim sistemlerine uygulanır.
* **İşletim Sistemi Sürümü** kısmına politikanın uygulanması istenen işletim sistemi sürümleri girilir. Boş bırakılırsa tüm sürümlere uygulanır.

![](/files/0hvv73tlQQdH2rXT2emK)

Yine Pardus 19 makine için politika uygulanmak istendiğinden buna uygun değerler girilmiştir. Kaydedildikten sonra verilen değerlere uyumlu bir makineye gidip `gpupdate` komutu çalıştırıldığında makinenin depolarına verilen değerin eklendiği görülür.

![](/files/YfpS4vT8WBNEix59OcWz)

### POLİTİKA: 3- Paket Kurma

Makinelere politika ile paket kurmak istendiğinde ise politika nesnesine girildikten sonra **Makine** sekmesindeki **Kur** politikası düzenlenmelidir.

* **Değeri** kısmına kurulmak istenen paketin adı, **Versiyon** kısmına ise istenen versiyon değeri girilmelidir.
* Kurulan paketin otomatik olarak güncel tutulması isteniyorsa, **Güncel Tut** seçeneği **Evet**'e getirilmelidir.

![](/files/StRbpIdrorIpsAqyb8He)

Kaydedilip ilgili makinede `gpupdate` komutu çalıştırıldığında paketin kurulduğu görülür.

![](/files/litsBrKinQz916jY9mne)

### POLİTİKA: 4- Paket Kaldırma

Makinelerden politika ile paket kaldırmak istendiğinde ise politika nesnesine girildikten sonra **Makine** sekmesindeki **Kaldır** politikası düzenlenmelidir. Politikadaki **Değeri** kısmına kaldırmak istenen paketin adı girilerek kaydedilip ilgili makinede `gpupdate` komutu çalıştırıldığında paketin kaldırıldığı görülür.

![](/files/7HRyRahtm9He6AulyKYQ)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.liman.dev/liman-eklentileri/politika-eklentileri/paket-yonetimi-eklentisi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
