• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Linux İpuçları

Üyelik Tarihi
11 Tem 2010
Konular
1,909
Mesajlar
2,750
MFC Puanı
110
Selamun Aleyküm Arkadaşlar

Bu başlık altında bundan sonra linux ile ilgili ipuçlarını bulacaksınız. Eklemek istediğiniz ipucu varsa, ne işe yaradığını da anlatarak bu başlığa katkıda bulunabilirsiniz... Ancak konuyla alakasız mesajları(teşekkür, tebrik vs.) bütünlüğün bozulmaması açısından lütfen yazmayın...

İlk ipucumuz kullandığınız çevresek değişkenlerle ilgili. Bazen sevdiğiniz ya da ilgi duyduğunuz programı internette indirip, çalıştırmaya çalıştığınızda "command not found" ya da komut bulunamadı hatası verebilir. Bu durumda ilk yapmanız gereken şu komutu komut satırına yazmaktır:

echo $PATH

Bu komutun çıktısı yaklaşık olarak şöyle olacaktır:

/sbin:/usr/sbin:/bin:/usr/bin


Şimdi çalıştıracağımız programın nerede kurulu olduğunu görmek için şunu yazalım:

whereis Programimiz

Bize vereceği çıktı şöyle bişey olacak:

Programimiz: /usr/local/bin/utilityName

Şimdi programımızın yerini öğrendiğimize göre onu kullandığımız çevresel değişkenlerimize katabiliriz:

export PATH=$PATH:/usr/local/bin
 
Üyelik Tarihi
11 Tem 2010
Konular
1,909
Mesajlar
2,750
MFC Puanı
110
Sistemde var olan modulleri sıralama modprobe -l

Netstat ile aktif portlar netstat -tlp

X Serverler arasında geçiş Ctrl+Alt+F3

Hardisk bölümlerini görme sfdisk -l

İşlemci bilgilerini alma cat /proc/cpuinfo
 
Üyelik Tarihi
11 Tem 2010
Konular
1,909
Mesajlar
2,750
MFC Puanı
110
Servera Dahil Olan Makinalara Oto İp Atamak İçin. ;

Bir linux sunucuda tek bir dosya ile birden fazla ip ekleyebilirsiniz bunun için
DOSYA: ifcfg-eth0-range0 bir dosya yaratın

IPADDR_START=10.0.0.1 (başlangıç ip)
IPADDR_END=10.0.0.50 (bitiş ip)
CLONE_NUM=0 (aynen kalcak)

ve service network restart (redhat için)
Suse için /etc/init.d/network restart
 
Üyelik Tarihi
11 Tem 2010
Konular
1,909
Mesajlar
2,750
MFC Puanı
110
Hangi klasörün boyutu en büyük?
du -S | sort -n

Sistemdeki büyük dosyalar hangileri?
ls -l | sort +4n

Belleği en fazla kullanan program hangisi?

ps -aux | sort +4n
 
Üyelik Tarihi
11 Tem 2010
Konular
1,909
Mesajlar
2,750
MFC Puanı
110
Linux’ta Num Lock’un otomatik açılma özelliğini kapatma !

Yöntem 1: Konsola aşağıdaki komutları yazın

# /etc/init.d/numlock stop
# chkconfig numlock off

Yöntem 2: /etc/rc.d/rc.local dosyasının sonuna, şu eklemeyi yapın

for t in 1 2 3 4 5 6 7 8
do
setleds +num < /dev/tty$t>
/dev/null
done
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830
Sistem'e Yazı Fontları Eklenmesi:

Tüm sisteme fontları eklemek için ;

Terminalden KDE masaüstü kullanıyorsanız
Kod:
sudo dolphin
, Gnome masaüstü kullanıyorsanız
Kod:
gksu nautilus
komutunu çalıştırıp önce fontları seçip kopyaladıktan sonra ardından /usr/share/fonts/truetype dizini içine fontları yapıştırın, ve şu komutu çalıştırın dizin içinde;

Kod:
sudo fc-cache -fv
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830
GNU Linux OS Sistemlerinde (Mekanik HDD'ler İçin Geçerlidir, SSD'lere Kesinlikle Uygulamayın) Disk Birleştirme Ve Optimasyon İşlemi

Genel Komut Yapısı:

Kod:
e4defrag /dev/sdaX  (X burada diskinizin N.bölümünü ifade eder, mesela sda1,sda1 ya da hda1, hda2)

Ek Kontrol Mekanizmaları:

Kod:
sudo -s  e4defrag -c ~/     (Diskiniz de veri parçalanma yüzdesini belirtir.)

Komutun çıktısı şöyle olmalıdır.

Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]

Yukarıdaki çıktının Türkçesi şudur

0-30 ise Disk'in bölümünü birleştirme gerekmiyor
31-55 ise idare eder ama parçalanma başlamış durumda
56 ve daha büyük sayı ise , derhal diskin bölümünü birleştir ve veri bütünlüğünü diskinde doğrula demektir.Bu veri kayıpların önüne geçecektir.

Kod:
sudo-s e4defrag ~/     (Diskiniz de sadece parçalanmış veriler defrag işlemine tabii tutulur.)
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830
Oturumu Açamama Sorunun Kökten Çözümü

Oturum açma ekranında; Ctrl-Alt-F1 tuş kombinasyonuyla tty1 (1.İstasyon Terminal Penceresi) ;

login : kullanıcı adınız
password : kullanıcı şifreniz'i girdikten sonra;


Sonra enter tuşuna basın klavyenizden... ve
Kod:
ls -l ~/.ICEauthority
komutu ile yetki sahibi kullanıcıyı görebilirsiniz.

Daha sonra;

Kod:
sudo chown :kullanıcı adınız~/.ICEauthority

komutunu verip kullanıcı hesabınızı yetkilendiriyorsunuz. (kullanıcı adınız:kullanıcı adınız yazan kısma kendi kullanıcı adınız.)

Daha sonra
Kod:
sudo -s  reboot
komutu ile yeniden başlatırsanız bu olumsuz sorunu aşmış olursunuz.

Yada dosyanın silinmesi ve yeniden oluşturulması

Kod:
sudo rm -f .Xauthority
komutu ile sildikten sonra sistemi
Kod:
sudo -s reboot --force -pf
yada
Kod:
sudo -s  shutdown  -r t30
(30 saniye sonra sistemi yeniden başlatma) başlatarak bu sorun aşabilirsiniz.
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830
GNU-Linux Sistemlerinde "Ram , Önbellek , Network" Optimasyonu.....

Yöntem şudur:

Kod:
gksu gedit /etc/sysctl.conf
komutu ile dosya açılır.

Kod:
vm.swappiness=1
vm.vfs_cache_pressure=50
satırları dosyanın en altına eklenir. Dosya kaydedilir. swappiness değerini 1-100 arasında ayarlayabilirsiniz.

1.swappiness değeri 0'a yaklaştıkça Linux uygulamaları RAM'de tutar, cache'e aktarmaz.
2.Değer 100'e yaklaştıkça ise RAM'de değil de cachte tutar.
3.Bu değeri 1 yaparsanız, uygulamaların RAM'den daha hızlı şekilde çalıştırılmasını sağlarsınız ve sistem önbelleğ'e(cache'e )yük binmeyecektir.
4.Bu ayarlama 4 GB büyük RAM Miktarınız varsa yeterlidir, 2 GB RAM Miktarınız varsa sınır değerde geçerlidir. Çoğunlukla işe yarar, sisteminiz deki RAM Miktarına çok güvenmiyorsanız 1 yerine 10 gibi bir değer de yapabilirsiniz. İstemezseniz silebilirsiniz.

5.Cache pressure parametresi ise dosya sistemi (filesystem) cache ile ilgilidir, arama yaparken ve dosya sistemini browse ederken işe yarar.
6.50 değeri ideal'dir ama oynayarak uygun değer elde edilebilir. 1 değerine doğru yaklaşırsa ki önerilmez, linux sistemi takas dosyasını data ile doldurmaya başlar bu sistem'de ansızın donma veya klavye,fare yada komutlara tepkisiz kalma şeklinde kendini gösterir. 100'e yakın değerler de pek bir kazanç sağlamaz. Bu değeri de istemezseniz sonradan silebilirsiniz. (dosyayı varsayılan ayarlarla kaydetme)

Network Defrag Ve Optimasyonu (sınırlı - kotalı net bağlantılarını ISS servis sağlayıcısının internet hızına göre ayar çekme)

Kod:
Always defragment packets
net/ipv4/ip_always_defrag = 1
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830
Terminal'den UNIX Komutları İle "DVD && CD" Yakma Ve "ISO İmage" Şeklinde Kalıp Çıkartma

Uçbirimden CD Yakma İşlemi:


CD ye .iso uzantılı cd kalıbı yazdırmak için bir sürü grafik arayüzü bulunan program vardır. Eğer sırf bu iş için program yükleyipte oldukça değerli HDD alanınızı doldurmak istemiyorsanız aynı işi komut satırının rahatlığında ve esnekliğinde de yapabilirsiniz.

Önemli Not: Bu işlemleri yapmadan önce Uçbirime

Kod:
wodim devices
yazarak cihazınınızın /dev altında bulunduğu adını örneğin /dev/cdrw öğrenin.

1. CD Kalıbı Alma İşlemi:

CD lerinizden kalıp almak için , CD veya DVD nizi takın ve uçbirime

Kod:
dd if=/dev/cdrom of=/yeni/kalibin/yeri/yedek.iso yazın.

2. Yerel Bir Dizinden ISO Kalıbı Alma İşlemi:

Bilgisayarınızdaki herhangi bir dizinin kalıbını almak isteyebilirsiniz.Bunun için uçbirime :

Kod:
mkisofs o /yeni/kalıbın/yeri/yedek.iso /kalıp/almak/istediğiniz/dizin/
yazmanız yeterlidir.

3.Aldığınız Kalıbı Bağlama (Mount) İşlemi:

Aldığınız bir kalıbı bağlamak isterseniz uçbirime
Kod:
sudo mount t iso9660 /iso/kalıbının/yeri/kalıp.iso /media/iso/ o loop
yazabilirsiniz

4. Kalıbı CD/DVD ye Yakma İşlemi:

Kalıbı CD veya DVD ye yakmak isterseniz Uçbirime
Kod:
wodim eject tao speed=0 dev=/dev/scd0 v data /my/new/iso/image.iso
yazmanız yeterlidir.

5. Kalıp Çıkarmadan CD Kopyalama İşlemi:

Bu işlem için 2 tane sürücünüz olması lazımdır. scd0 okunan alet, scd1 ise yazılan aletin adıdır.

Kod:
dd if=/dev/scd0 | cdrecord v speed=12 dev=/dev/scd1 fs=8 data

6. Kalıp Çıkarmadan CD/DVD' ye: dosya/dizin Yakma İşlemi:

Uçbirime
Kod:
mkisofs r /nerede/bu/dizin/ |cdrecord v speed=12 dev=/dev/scd1 fs=8 data
yazmanız yeterlidir.

Şimdiye kadar gösterilenler, grafik arayüzlü programların zaten yapabildiği fonksiyonel işlemlerdir. Şimdi ki komutlarımız ise bu tür programlarda olmayan extra özelliklerin izahlandırılmasıdır.(işin biraz teknik kısmı da desek daha doğru olur)

7. FTP deki ISO Kalıbını Yazdırma İşlemi:

Normalde FTP deki bir ISO kalıbını önce indirip sonra yazdırırısınız. Bu da büyük zaman kaybı demek. Oysa uçbirimi kullanarak ikisini aynı anda yapabilirsiniz.

Not: Bu işlemi yapabilmek için hızlı bir internet bağlantısı gerektirir

Kod:
curl http://remoteftp.rem/linux/distroimage.iso | cdrecord v speed=12 dev=/dev/scd1 fs=8 data

8. SSH ile Uzaktan CD Yakma İşlemi:

Herşeyi SSH ile uzaktan yapmayı seven biri iseniz, bu özellik tam size göredir.

Kod:
mkisofs -r /path/to/my/files | \ssh user@remote.machine "cdrecord v speed=12 dev=/dev/scd1 fs=8 data

Çeviri Kaynağı : PCLinuxOS Magazin Dergisi Nisan-2011 Sayısı , 31.Sayfa

Not: (Çeviri Kaynağının Tam Listesi)
 
Moderatör tarafında düzenlendi:

saphira

Emektar Üye
Üyelik Tarihi
14 Eki 2019
Konular
754
Mesajlar
6,695
MFC Puanı
53,990
@Ayamutura, merhaba..

sitemizde link paylaşımı YASAK olduğundan, yazdığınız metindeki linki sildim..
buna dikkat ederek paylaşımlarınızı yapabilirsiz..

şimdiden keyifli forumlar :giggle:
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830
Paylaşım alıntı zaten silsende sorun olmaz :D

Yukarıdaki bana ait olan çeviriyi başka mecralarda görüp, bunun alıntı olduğunu idda etmen gayet doğal, çünkü bilmiyorsun.İnsan bilmediğinden "hüznü zan'a" düşebilir.Zaten ülkemiz de en büyük sanal dünya hastalığı'dır bu.Başkasının emek verip, saatler harcadığı bir makale/yazıyı, bir başkası basit bir kopyala-yapıştır ile başka bir web sitesine aktararak popülaritesel olmaya çalışır.

Bu çevirin gerçek sahibi olmasaydım sizlere Çeviri Kaynağının Tam Listesini nasıl verebilirdim.

Üye olduktan sonra ilk yaptığım forum kullarını okumak oldu ve yönetimle bir görüşme gerçekleştirdim , eğer gerekli izinler çıkarsa, 3000 'den fazla çevirisel yazıyı bu forum'a aktaracağım...? Bekleme halindeyim.Ve burada paylaşılan bilgiler "buzdağının görünen kısmının %0,005'lik bölümünü temsil eder/etmektedir.(ısınma turları olup daha maraton koşusu başlamamıştır.)
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830
Not:
Gerçek Bir Alıntı (bu makale yüzden forumdan uzaklaştırılmıştım.Çünkü bu tür uzun yazılar yeni nesil pc kullanıcılarının sıkılmasına yol açar.Kaynağı talep etmiştim ama bu yazının sahibi kaynak göstermekten itina etmiş bende ağır bir eleştiride bulunmuştum.Sonuç forumdan şutlanmakla sonuçlanmıştır.

Yeni Nesil GNU -Linux OS Sistemlerinde Systemd Kullanım Kılavuzu (başlık SEO açısından tarafımdan değiştirilmiştir.)

Servis Yönetimi


Init sistem olarak adlandırılan başlatıcı sisteminin temel işlevi, boot esnasında Linux çekirdeğinin (kernel) yüklenmesinden sonra gerçekleştirilen kullanıcı safhası (userland) elemanlarının başlatılması ve kullanımının yönetilmesidir. Linux işletim sisteminiz çalışırken de servisler systemd tarafından yönetilmeye devam eder. Bu konuyu ifade ettikten sonra bir takım basit işlemlere geçebiliriz.

Systemd için gerçekleştirilecek işlemlerin çoğu unit adı verilen elemanlarla ilgilidir. Unit elemanları, systemd nin anlayacağı şekilde yapılandırılmış dosyalardır. Her bir unit elemanı, sonuna . nokta işaretinden sonra verilen uzantı kullanılarak gruplandırılır. Bu sayede bir unit elemanının hangi işlev ile ilgili olduğu temsil edilir.

Örneğin, mysqld.service unit elemanı MySQL hizmeti ile ilgilidir. tmp.mount unite elemanı ise tmp disk bölümünün mount edilmesi ile ilgili bir elemandır. Komutları kullanırken sonu .service ile biten elemanların .service kısmını yazmasanız da systemd bunu anlayacaktır. Ancak .mount veya .path vb. unit elemanların uzantısını mutlaka yazmanız gerekir. Konvansiyonu takip etme açısından her zaman .service kısmını da yazmanızı tavsiye ediyoruz. TAB otomatik tamamlama işlevi zaten baş kısmını yazdığınız unit elemanının gerisini kendisi tamamlayacaktır.

Servisleri Başlatma ve Durdurma

Servisi Başlatma


Bir systemd servisini başlatmak ve o servise ait unit dosyasında bulunan kuralları çalıştırmak için start komutunu kullanıyoruz. Verdiğimiz komut sistemin çalışma durumunu etkileyeceğinden başına sudo eklemek gerekecektir. Zaten root kulanıcısı ile oturum açtıysanız sudo ifadesine gerek yoktur.

Kod:
sudo systemctl start application.service

Yukarıda bahsettiğimiz konuyu tekrar hatırlatalım. Buradaki örnekte görülen application.service ifadesindeki .service kısmını yazmasanızda komut çalışacaktır.

Kod:
sudo systemctl start application

Servisi Durdurma

Sisteminizde mevcut durumda halen çalışan bir servisi durdurmak için stop komutunu kullanıyoruz.

Kod:
sudo systemctl stop application.service

Tekrar Başlatma (Restarting) ve Tekrar Yükleme (Reloading)

Bir servis mevcut durumda çalışıyorsa ve tekrar başlatmak istersek restart komutunu kullanabilirsiniz.

Kod:
sudo systemctl restart application.service

Çalışan bir servis ile ilgili ayar dosyalarında bir değişiklik yaptınız ancak servisi tamamen yeniden başlatmaya gerek kalmadan, ayarların etkin olmasını isterseniz reload komutunu kulanabilirsiniz.

Kod:
sudo systemctl reload application.service

Yeniden başlatacağınız servisin reload kabiliyeti olmayabilir. Reload işe yaramaz ve restart yapmanız gerekebilir. Bu durumdan emin değilseniz reload-or-restart komutunu da kullanabilirsiniz. Bu durumda servis reload yapabiliyorsa yapar. Böyle bir durum yoksa o zaman otomatik olarak restart yapar.

Kod:
sudo systemctl reload-or-restart application.service

Servisi Aktif ve Pasif Duruma Getirme

Bir önceki başlıkta açıklanan start, stop, restart, reload komutları bir servisi o anda açık bulunan oturum için açma ve kapamaya yarar. Bu komutlar, servisin bilgisayar açılırken başlayıp başlamayacağı ile ilgilenmez. Bilgisayar başlangıcı için ayrı komutlar bulunmaktadır.

Aktif Duruma Getirme

Öncelikle, bir servisin sisteminiz açılırken başlamamaya ayarlandığını farz edelim. Bu servisi, bilgisayar her açıldığında başlayacak şekilde ayarlamak için enable komutu kullanabiliriz. Yani aktif hale getiririz. Aktif hale getirmek, her sistem açıldığında başlaması anlamına gelmektedir. Aşağıda bu duruma örnek verilmiştir.

Kod:
sudo systemctl enable application.service

İLERİ DÜZEY:

Yukarıdaki komut aslında ne yapıyor? Başlatmak istediğiniz servisin unit elemanı pasif halde de olsa genellikle ( /lib/systemd/system veya /etc/systemd/system) klasöründe duruyordur. İşte bu konumun symbolic link olarak adlandırdığımız kısayolunu, systemd nin başlangıçta otomatik başlatılacak servisler için baktığı adrese /etc/systemd/system/application.service.wants.wants şeklinde oluştur.

Pasif Duruma Getirme

Bir servisi, bilgisayar başlangıcında çalışmaması için ayarlamak istediğimizde ise disable komutunu kullanırız.

Kod:
sudo systemctl disable application.service

Bu komut, enable komutu ile oluşturulan symbolic link dosyasını silecek ve servisi pasif hale getirecektir.

Hatırlatma: enable ve disable komutları, sistem başlangıcı ile ilgili olduğundan, halen açık bulunan oturumda servisi başlatmaz veya durdurmaz. Bunun için start veya stop komutları kullanılmaktadır ve birbirlerinden farklı işlevleri olan komutlardır.

Servisin Durumunu Kontrol Etme

Kod:
status

Bir servisin durumunu, çalışıp çalışmadığını status komutunu kullanarak kontrol edebilirsiniz.

Kod:
systemctl status application.service

Bu komut size servisle ilgili durum bilgisi ve en son olay log bilgilerini verecektir. Herhangi bir problem varsa, yine bu çıktı sayesinde görebilirsiniz.
Aşağıdaki örnekte nginx.service çıktısı görülmektedir.

Kod:
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2015-01-27 19:41:23 EST; 22h ago
 Main PID: 495 (nginx)
   CGroup: /system.slice/nginx.service
           ├─495 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid; error_log stderr;
           └─496 nginx: worker process

Jan 27 19:41:23 desktop systemd[1]: Starting A high performance web server and a reverse proxy server...
Jan 27 19:41:23 desktop systemd[1]: Started A high performance web server and a reverse proxy server.
is-active

Şu an çalışılan oturumda, bir servisin çalışıp çalışmadığını is-active parametresini kullanarak görebilirsiniz. Yukarıdaki status komutu kadar detaylı bilgi vermez.

Kod:
systemctl is-active application.service

Kod:
is-enabled

Bir servisin, bilgisayar açılırken başlayıp başlamadığını öğrenmek isterseniz is-enabled parametresini kullanabilirsiniz.

Kod:
systemctl is-enabled application.service

Kod:
is-failed

Bir servisin hata verip vermediğini anlamak için is-failed parametresini de kullanmanız mümkündür.

Kod:
systemctl is-failed application.service

Sistem Genel Durumunu Gözden Geçirme

Yazımızda buraya kadar, tek bir servisin durumu ve başlangıç işlemleri ile ilgili komutları gördük. Sistemin tamamıyla ilgili bilgileri gözden geçireceğimiz bir takım systemctl komutlarına bakma zamanı geldi.

Çalışan Tüm Üniteler

Sistemimizde şu an için çalışan ve yüklenmiş servisleri görmek için aşağıdaki komutu kullanabilirsiniz.

Kod:
systemctl list-units

Bu komut ile, systemd tarafından başlatılmış olan hizmetlerin özet bilgisini görebilirsiniz. Aşağıda örnek çıktı ve sütun açıklamaları bulunmaktadır.

Kod:
UNIT                                      LOAD   ACTIVE SUB     DESCRIPTION
atd.service                               loaded active running ATD daemon
avahi-daemon.service                      loaded active running Avahi mDNS/DNS-SD Stack
dbus.service                              loaded active running D-Bus System Message Bus
dcron.service                             loaded active running Periodic Command Scheduler
dkms.service                              loaded active exited  Dynamic Kernel Modules System
getty@tty1.service                        loaded active running Getty on tty1

. . .
Sütunlar Açıklamalar
UNIT: Systemd unit elemanının adını belirtir.
LOAD: Unit elemanının sistem hafızasına yüklenip yüklenmediğini gösterir.
ACTIVE: Bir unit elemanının başarıyla başlatılıp başlatılmadığını gösterir.
SUB: Alt seviye durum bilgisidir. Bazı servisler bilgisayar başlangıçında çalışıp otomatik kapanabilirler. Bu tür servisleri exited (çalıştı ve çıkış yapıldı) olarak görebilirsiniz. Halen çalışıyorsa running ifadesiyle gösterilirler.
DESCRIPTION: Durumu gösterilen ünitenin kısaca ne işe yaradığını özetler.​

İLERİ DÜZEY AÇIKLAMA:

Yukarıdaki komut (systemctl list-units) sadece aktif halde olan servisleri gösterdiğinden doğal olarak LOAD sütunu daima loaded bilgisini gösterecektir. Loaded yani yüklenmiş servisler haricinde diğer servisleri görmek için demek ki ayrıca bir takım parametreler daha belirtmemiz gerekmektedir. Bunun için ayrı parametre belirtmek gerektiğinden aslında varsayılan durum list-units parametresini kullanmaya gerek bile yoktur. Sadece systemctl komutunu vermek ile systemctl list-units komutunu vermek aynı işe yarar. Kafanız karıştıysa endişelenmeyin, bu bilgi programcılar için gerekli olup çok büyük bir değişiklik ifade etmez.

Çalışan veya Çalışmayan Tüm Üniteler

systemctl komutuna sistemimizde bulunan, ister çalışsın ister çalışmasın, systemd tarafından işlem yapılan tüm ünite elemanlarını listelemesini söylemek için –all parametresini verebiliriz.

systemctl list-units --all

Kod:
–state

Karşımıza gelecek çıktıyı filtrelemek için bir kaç parametre daha kullanabiliriz. Bunlardan bir tanesi --state filtresidir. Aşağıdaki örnekte, state yani durum bilgisi inactive (pasif) olan tüm elemanlar gösterilmektedir. --state parametresine, LOAD, ACTIVE ve SUB sütunlarının alabildiği durumları kriter olarak girebilirsiniz. Burada --all kriterinin daima var olduğuna dikkat edin. Önce hepsi ele alınıp bu liste üzerinden filtreleme yapılmaktadır.

systemctl list-units --all --state=inactive
systemctl list-units --all --state=active
systemctl list-units --all --state=running
systemctl list-units --all --state=exited​

Kod:
–type
Başka bir filtreleme yöntemi ise --type filtresidir. Tipi service olan ünite elemanları listelemek için --type=service kriteri girilebilir.

Kod:
systemctl list-units --type=service

Tüm Unit Elemanları Dosyaları

Burada açıklanacak olan list-unit-files ile list-units bazen karıştırılabilir. Öncelikle aralarındaki farkı açıklayalım sonra bir örnek verelim.

list-units: systemd tarafından bilgisayarın başlangıcından itibaren işleme tabi tutulmuş (parse edilmiş) tüm unite elemanları ile ilgilenir.

list-unit-files: Systemd envanterinde bir ünite elemanı olarak ayar dosyası var olan ve sizin sisteminiz için çalışmayanlarla birlikte çalışanlarında içinde bulunduğu tüm elemanlarla ilgilidir. Örneğin systemd dosyaları içerisinde bluetooth.service ünite elemanı vardır. Sizin sisteminizde bluetooth özelliği olmasa da o servis elemanı dosyası bulunur. İşte list-unit-files bu tip dosyalar da dahil hepsiyle ilgilidir. İşin özeti, list-unit-files içerisinde ayarların bulunduğu dosyalarla ilgilenir. list-units servislerin durumlarıyla ilgilenir diyebiliriz.

Kod:
systemctl list-unit-files

Yukarıdaki komutun çıktısı iki sütundan oluşur. UNIT FILE ve STATE sütunları. State sütunu, “enabled” “disabled” “static” veya “masked” değerlerini alır.

Kod:
UNIT FILE                                  STATE   
proc-sys-fs-binfmt_misc.automount          static  
dev-hugepages.mount                        static  
dev-mqueue.mount                           static  
proc-fs-nfsd.mount                         static  
proc-sys-fs-binfmt_misc.mount              static  
sys-fs-fuse-connections.mount              static  
sys-kernel-config.mount                    static  
sys-kernel-debug.mount                     static  
tmp.mount                                  static  
var-lib-nfs-rpc_pipefs.mount               static  
org.cups.cupsd.path                        enabled

. . .
“static” durumu: Sistemde kurulum için herhangi bir program bulunmadığını veya doğrudan çalışmayıp başka bir program tarafından bağımlılık (dependency) olarak kullanıldığını bildirmek için kullanılır.

“masked” durumu: Sistemde var olan bir servisin tamamen yasaklandığını belirtir. Bilgisayar başladığında başlayıp başlamayacağını “enable” ve “disable” ile ayarladığımızı hatırlayın. “masked” durumunda olan bir servis, otomatik veya elle dahi olsa “enable” edilemez. Tamamen yasaklanmıştır diyebiliriz.

Son notlar:

Yukarıda bulunan örneklerde application.service yerine sisteminizde bulunan bir service yazılmalıdır. Sistemde application.service diye bir servis yoktur. Doğrudan örneği kopyalayıp yapıştırmayın. Örneğin sudo systemctl stop application.service yerine sudo systemctl stop ufw.service . Peki biz bu servisleri nereden bileceğiz? systemctl komut çıktısı size yol gösterecektir.
 
Üst