DEBIAN TABANLI LINUX DAĞITIMLARINDA PAKET YÖNETİMİ

DEBIAN TABANLI LINUX DAĞITIMLARINDA PAKET YÖNETİMİ

Debian tabanlı bütün Linux dağıtımları için paket yükleme işi aynıdır. Öncelikle Debian tabanlı Linux dağıtımları kavramını biraz açalım. Linux çekirdeği üzerine inşa edilen Linux dağıtımları çeşitlilik sergiler. Debian tabanlı, RedHat tabanlı gibi çeşitlere ayrılırlar. Piyasadaki popüler Debian tabanlı işletim sistemleri Ubuntu, Linux Mint ve Pardus’tur. Bütün Debian dağıtımları için paket yönetimi işleri aynı yollarla yapılır.

Şimdi de biraz paket yönetimi kavramını açmaya çalışalım. Paket yönetimi yeni uygulama yükleme, var olan bir uygulamayı güncelleştirme veya kaldırma şeklinde olur. Paket yükleme iki farklı şekilde yapılabilir. Birinci yöntem internetten yükleme dosyasını bilgisayara indirip kurulumu manuel yapmaktır. İkinci yöntem ise, internette bulunan hazır uygulama depolarından otomatik yükleme yaptırtmaktır.

dpkg ile Paket Yönetimi:

Debian tabanlı dağıtımlar .deb uzantılı paketleri yükleyebilirler. İnternetten uygulamanın kendi web sitesinden, ilgili programın .deb uzantılı dosyası bilgisayara indirilir ve dpkg -i paket_adi.deb komutu ile program bilgisayara kurulabilir. Ama burada dikkat edilmesi gereken bir nokta; bu uygulamanın kurulabilmesi için başka programlara da ihtiyaç duyulabilir. dpkg ile yapılan yüklemelerde bağımlı yükleme dosyalarını kendimiz tespit edip, onları da indirip manuel kurulum gerçekleştirmek zorundayız. Bu yöntem genelde repo adını verdiğimiz depo alanlarında bulunmayan spesifik uygulamaları yüklemek için kullanılır.

Benzer şekilde bir uygulamayı kaldırmak için dpkg -r dosya_adi veya dpkg –remove dosya_adi komutu kullanılır. Yalnız bu komut uygulamayı bilgisayardan kaldırsa da, konfigurasyon dosyalarını kaldırmaz. Onları da kaldırmak için dpkg –purge dosya_adi komutu verilebilir.

Şunu da belirtelim; dpkg komutu root yetkisi ile çalışır. Eğer root olarak oturum açmamış iseniz, dpkg komutunun başına sudo ekleyerek root yetkisi ile çalıştırmanız gerekmektedir.

dpkg -i paket_adi.dep veya dpkg –install paket_adi.dep Uygulama kurmak
dpkg -r paket_adi veya dpkg –remove paket_adi Uygulama kaldırmak
dpkg –purge paket adı Uygulamanın ayar dosyalarını silmek
dpkg -q paket_adi Uygulamanın yüklü olup olmadığını kontrol etmek için kullanılır.

Apt-Get ile Paket Yönetimi:

Bütün Linux dağıtımlarında olduğu gibi Debian dağıtımlarında da repository adı verilen yazılım depoları bulunur. Debian dağıtımları uygulama yüklemek için apt kullanırlar ve apt programı da bu repolardan programları arayıp bulur ve otomatik olarak indirir.

Repository dediğimiz depoların listesi /etc/apt/sources.list isimli bir dosyada tutulur. Bu dosyanın içeriğine bakarak; apt programının hangi kaynaklarda programı arayıp indireceğini öğrenebiliriz.

[email protected]:~$ cat /etc/apt/sources.list
#deb cdrom:[Ubuntu 17.10 _Artful Aardvark_ – Release amd64 (20180105.1)]/ artful main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://tr.archive.ubuntu.com/ubuntu/ artful main restricted
# deb-src http://tr.archive.ubuntu.com/ubuntu/ artful main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://tr.archive.ubuntu.com/ubuntu/ artful-updates main restricted
# deb-src http://tr.archive.ubuntu.com/ubuntu/ artful-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://tr.archive.ubuntu.com/ubuntu/ artful universe
# deb-src http://tr.archive.ubuntu.com/ubuntu/ artful universe
deb http://tr.archive.ubuntu.com/ubuntu/ artful-updates universe
# deb-src http://tr.archive.ubuntu.com/ubuntu/ artful-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://tr.archive.ubuntu.com/ubuntu/ artful multiverse
# deb-src http://tr.archive.ubuntu.com/ubuntu/ artful multiverse
deb http://tr.archive.ubuntu.com/ubuntu/ artful-updates multiverse
# deb-src http://tr.archive.ubuntu.com/ubuntu/ artful-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://tr.archive.ubuntu.com/ubuntu/ artful-backports main restricted universe multiverse
# deb-src http://tr.archive.ubuntu.com/ubuntu/ artful-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical’s
## ‘partner’ repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu artful partner
# deb-src http://archive.canonical.com/ubuntu artful partner

deb http://security.ubuntu.com/ubuntu artful-security main restricted
# deb-src http://security.ubuntu.com/ubuntu artful-security main restricted
deb http://security.ubuntu.com/ubuntu artful-security universe
# deb-src http://security.ubuntu.com/ubuntu artful-security universe
deb http://security.ubuntu.com/ubuntu artful-security multiverse
# deb-src http://security.ubuntu.com/ubuntu artful-security multiverse
[email protected]:~$

Başında # işareti olan satırlar yorum satırıdır ve işlem yapılmaz. Diğer satırları inceleyerek Ubuntu bir bilgisayarın repo kaynaklarını görüntüleyebiliriz. Hatta istersek bu dosya üzerinde oynamalar yaparak değiştirebiliriz.

Bilgisayar kendi hafızasında, bu kaynaklardaki programların son versiyon bilgileri yükleme noktaları gibi verileri tutarlar. Buna cashleme denir. Biz bir programı aradığımızda kendi hafızasındaki bilgileri getirir bize. Tabi yükleme yapmak istersek de kendi hafızasındaki verilere göre indirme ve yükleme yapar.

Örneğin abc isimli bir programın 5.15 versiyonu mevcut olsun ve bizim bilgisayarımız da abc.1.15 şeklinde bu programın son sürümünü hafızasına kaydetsin. Daha sonra 5.16 versiyonu çıkan programı biz yüklemek istersek; Ubuntu kendi hafızasındaki verilere bakacak ve abc programının 5.15 versiyonunu yükleyecektir. Demek ki bir uygulama yüklemeden önce bilgisayarın cash verilerini update etmek mantıklı bir iş olacaktır. Bunun için komutumuz apt-get update. Tabi ki bu komut da root yetkileriyle çalıştığından başına sudo eklememiz gerekecektir.

[email protected]:~$ sudo apt-get update
Get:1 http://security.ubuntu.com/ubuntu artful-security InRelease [83,2 kB]
Hit:2 http://tr.archive.ubuntu.com/ubuntu artful InRelease
Get:3 http://tr.archive.ubuntu.com/ubuntu artful-updates InRelease [88,7 kB]
Get:4 http://tr.archive.ubuntu.com/ubuntu artful-backports InRelease [74,6 kB]
Get:5 http://security.ubuntu.com/ubuntu artful-security/main amd64 DEP-11 Metadata [27,8 kB]
Get:6 http://security.ubuntu.com/ubuntu artful-security/main DEP-11 64×64 Icons [31,8 kB]
Get:7 http://security.ubuntu.com/ubuntu artful-security/universe amd64 DEP-11 Metadata [39,6 kB]
Get:8 http://tr.archive.ubuntu.com/ubuntu artful-updates/main amd64 Packages [256 kB]


Reading package lists… Done
[email protected]:~$

apt-get update komutu, yüklü uygulamaları güncelleştirmez. Sadece uygulama verilerinin tutulduğu dosyayı güncelleştirir. Yüklü uygulamarı güncelleştirmek için apt-get upgrade komutunu kullanmamız gerekir. apt-get upgrade uygulama_adi şeklinde yazarsak, sadece o uygulamayı günceller. apt-get update şeklinde uygulama adı girmezsek, yüklü bütün uygulamaların var ise yeni güncelleştirmelerini yükler.

sudo apt-get upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done

Repo güncelleştirme işlemleri bittikten sonra şimdi de sıra geldi uygulama yüklemeye. Bir uygulama yüklemek için apt-get install komutunu kullanırız. apt-get install uygulama_adi şeklinde uygulama yükleyebiliriz. Örnek olarak biz nmap uygulamasını yükleyelim.

[email protected]:~$ sudo apt-get install nmap
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages were automatically installed and are no longer required:
linux-headers-4.13.0-21 linux-headers-4.13.0-21-generic
linux-headers-4.13.0-36 linux-headers-4.13.0-36-generic
linux-image-4.13.0-21-generic linux-image-4.13.0-36-generic
linux-image-extra-4.13.0-21-generic linux-image-extra-4.13.0-36-generic
Use ‘sudo apt autoremove’ to remove them.
The following additional packages will be installed:
libblas3 liblinear3 libpython-stdlib ndiff python python-bs4 python-chardet
python-html5lib python-lxml python-minimal python-pkg-resources python-six
python-webencodings python2.7 python2.7-minimal
Suggested packages:
liblinear-tools liblinear-dev python-doc python-tk python-genshi
python-lxml-dbg python-lxml-doc python-setuptools python2.7-doc
binfmt-support
The following NEW packages will be installed:
libblas3 liblinear3 libpython-stdlib ndiff nmap python python-bs4
python-chardet python-html5lib python-lxml python-minimal
python-pkg-resources python-six python-webencodings python2.7
python2.7-minimal
0 upgraded, 16 newly installed, 0 to remove and 0 not upgraded.
Need to get 8.571 kB of archives.
After this operation, 35,9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Bu aşamadan sonra y tuşuna basılırsa, uygulama bilgisayara yüklenir. apt-get ile yüklemenin en büyük avantajları, hem programların en güncel versiyonlarını yükleme şansımız var, hem de bu uygulama ile birlikte yüklenmesi gereken başka uygulamalar var ise, onlar da otomatik olarak yüklenir. Bizim extra çaba harcayıp bu uygulamaları bulup yükleme zorunluluğumuz ortadan kalkıyor.

Eğer bir uygulamanın adını tam bilmiyorsak, tahmini bir arama yapmak için apt-cache search nmap şeklinde arama yapabiliriz. Burada belirteceğimiz kelime, uygulama adı açıklama başlık gibi bölümlerde aranır ve eşleşen uygulamalar karşımıza çıkar. Biz de istediğimizi seçip yükleyebiliriz.

[email protected]:~$ apt-cache search nmap
lxd-tools – Container hypervisor based on LXC – extra tools
ndiff – The Network Mapper – result compare utility
nmap – The Network Mapper
atac – genome assembly-to-assembly comparison
dindel – determines indel calls from short-read data
doscan – port scanner for discovering services on large networks
forensics-extra – Forensics Environment – extra console components (metapackage)
fusioninventory-agent-task-network – Network device discovery for FusionInventory Agent
libfile-map-perl – Perl module providing simple and safe memory mapping
libnmap-parser-perl – parse nmap scan results with perl
libwlocate-dev – Library for doing location lookup based on free openwlanmap.org data
libwlocate0 – Library for doing location lookup based on free openwlanmap.org data
mapsembler2 – bioinformatics targeted assembly software
masscan – TCP port scanner
ncrack – High-speed network authentication cracking tool
nmapsi4 – graphical interface to nmap, the network scanner
p0f – Passive OS fingerprinting tool
pads – Passive Asset Detection System
pbnj – a suite of tools to monitor changes on a network
piwi – P(erl|relude) IDS Web Interface – A frontend to your Prelude database
pnscan – Multi threaded port scanner
psad – Port Scan Attack Detector
python-nmap – Python interface to the Nmap port scanner
python-otherstuf – Attribute accessible collections inspired by stuf
python-scapy – Packet generator/sniffer and network scanner/discovery
python-stuf – Python dictionary types with attribute style access
python3-nmap – Python3 interface to the Nmap port scanner
python3-scapy – Packet crafting/sniffing/manipulation/visualization security tool
umit – network tool and graphical frontend for nmap
xprobe – Remote OS identification
xscreensaver-gl – GL(Mesa) screen saver modules for screensaver frontends
zenmap – The Network Mapper Front End
[email protected]:~$

nmap için yaptığımız aramada yukarıdaki sonuçları aldık.

Bu makalemizde Debian Linux dağıtımları için paket yönetimini anlatmaya çalıştım. Bu kapsamda uygulama yükleme, kaldırma ve güncelleştirme işlemlerini uyguladık. Umarım faydalı olmuştur. Başka bir makalede görüşmek dileğiyle. Esen kalın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir