• 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.

GNU-Linux'da Systemd Hakkında Bilgilendirme.... (Linux svchost.exe'si)

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830

"systemd" Nedir? Genel Yapısı Nasıldır?​


ÖnSöz

L
inux İşletim Sistemi kullanıyorsanız, "systemd" ifadesiyle mutlaka karşılaşmışsınızdır. En azından systemd haberlerine rastlamışsınızdır. Bu konuda yaptığımız aramada, detaylı bir Türkçe kaynak bulmakta zorlandık. Bu sebeple, systemd hakkında bir çalışma yaptık.

Kısaca systemd Hikayesi

2
010 yılında, Lennart Poettering, bir blog yazısıyla konuyu açıklar. Lennart Poettering, Kay Sievers, Harald Hoyer, Daniel Mack, Tom Gundersen, ve David Herrmann tarafından, C programlama diliyle geliştirilen yazılımın ilk sürümü 30 Mart 2010 tarihinde yayınlanmıştır. Programın resmi web sitesine buradan ulaşabilirsiniz.

systemd olarak adlandırılan program, Linux işletim sistemleri için geliştirilmiştir. Amacı; bilgisayardaki sistem ve servislerin çalışmasını organize etmektir. Bu yönetimi, systemctl, journalctl, notify, analyze, cgls, cgtop, loginctl ve nspawn olarak adlandırılan araçlar sayesinde gerçekleştirir. Bu araçların detaylarını başka bir yazıya bırakıyoruz.

"systemd" Kullandığı Temel Yaklaşım​

systemd kullanmayan Linux sistemlerinde, açılış yöneticisi, PID 1 numara olarak, öncelikle açılış işlemlerini yönetecek programı (init) çalıştırır. Devamında diğer servisler başlatılır. Örneğin, Avahi hizmeti, D-Bus hizmetine ihtiyaç duyar. O zaman, açılışta önce D-Bus başlatılacak, Avahi sırada bekleyecektir. livirtd ve X11 servisleri, HAL hizmetine ihtiyaç duyarlar. O zaman önce HAL servisi başlayacaktır. Tüm bu servisler, syslog servisine ihtiyaç duyduklarından, hepsinden önce syslog başlayacaktır. Klasik Linux açılışı bu mantıkla çalışır.

Bu programlar, birbirleriyle soketler üzerinden haberleşirler. D-Bus başlamadan, soketi açılmaz ve Avahi, D-Bus soketine bağlanamaz. Systemd, bu yaklaşımı değiştirmeyi amaçlamıştır. Systemd, tüm hizmet ve servislerin ihtiyaç duyduğu bağlanma noktalarını -soketleri-, ilgili hizmet başlamasa dahi önceden başlatma ve diğer bekleyen programların sırada beklemesini ortadan kaldırmayı amaçlar. X11, başlamak için HAL soketinin açılmasını bekliyorsa, X11 servisine bağlanacağı bir soket verilir. Dikkat edilirse, HAL servisi gerçekte başlamamıştır. Bilgisayarın, o anda boşta bekleyen işlemci gücü, mümkün olan kapasiteyle azami oranda kullanılır. Servislerin, birbirlerini beklemesinden meydana gelen zaman kaybı en aza indirilmeye çalışılır. Bu durumda, X11 servisinin gönderdiği mesajlar, geçici bir kuyrukta bekletilir ve hizmetler başladıkça yerine getirilir.

Bu işlemler, sadece başlangıç süreci ile ilgili değildir. İşletim sisteminizin çalışması esnasında, systemd servisinin, çalışan yazılım ve donanımlarla ilgili bir çok işlevi olduğunu da belirtmeliyiz. systemd yaklaşımının, kısaca hangi mantık üzerine kurulduğunu anlatmaya çalıştık. Çok detaya girip, yazıyı teknik dokümana çevirmenin, şu an için gereksiz olduğunu düşünüyoruz.

İtirazlar, Çekinceler​

systemd, anlatılan bu işlemleri, önceden derlenmiş binary programlarla yapar. Kullanıcının müdahalesine pek müsaade etmez. Bir takım parametreleri kontrol etmenize izin verilse de genelde işlemler önceden ayarlanmıştır. systemd öncesinde kullanılan hizmet programları (Upstart veya sysvinit), uyguladıkları prosedürleri kabuk -shell- aracılığıyla yaparlar. Bu sebeple, kullanıcıların, kabuk -shell- kullanarak kişisel ayarlamalar yapabilme imkanı vardır. systemd ise kabuk üzerinden işlem yapmaz. Bu nedenle, fayda ve mahzurları üzerinde çok tartışılmaktadır. Açık kaynak kodlu, özgür yazılım mantığına ters olduğu için kabul etmeyenler, systemd programının, windows svchost.exe olmaya aday olduğu belirtmektedir. Kullanılabilir bularak, tercihli veya varsayılan olarak dağıtımlara dahil edenler de bulunmaktadır. Yazının son kısmında, systemd kullanmaya başlayan bir kaç dağıtım listelenmiştir.

Paul Venezia, 2014 Ağustos ayında InfoWorld’te yayınlanan makalesinde, systemd yaklaşımının, tüm işlemleri kendisi yapmaya çalışan bir yapı olduğunu, bunun “hiç hata yapmayan bir program olduğunu iddia etmesi” demek olduğundan, Unix felsefesini ihlal ettiğini belirtmiştir.

Dağıtım ve başlangıç tarihleri​

Fedora, Mayıs 2011

openSUSE, Eylül 2012

ArchLinux, Ekim 2012

Red Hat Şirket Sürümü, Haziran 2014

Debian, Nisan 2015

Ubuntu, Nisan 2015

Debian içerisinde systemd kullanımını kabul etmeyenler, systemd yüklenmemiş halde, Devuan dağıtımı yayınlanmıştır. Tarihsel gelişimi içerisinde, bir çok konuda farklı dağıtımlar oluşturan Linux, yeni bir konuda da yol ayrımına gelmiş bulunuyor.

Kısa bir giriş olarak, systemd hakkında temel bir takım bilgiler verilmiştir.

Kaynak :
HTML:
https://siberoloji.github.io/categories/
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830

"systemd" Araçları - Genel Kullanım Alanları​

ÖnSöz

G
ünümüzde, Debian, Fedora, Red Hat, Ubuntu ve ArchLinux vb. ana dağıtım olarak kabul edilen linux işletim sistemleri, systemd kullanmaya başlamıştır. Gelişmeler, kullanımın yaygınlaşacağını göstermektedir. Linux kullanıcılarının, bu alanda kendini geliştirmeleri gerekecektir.

Bu konuda internette kaynak arandığında, genelde geliştiricilerin hazırladığı İngilizce manpages (wiki) veya kısa blog yazıları ile karşılaşıyoruz. Türkçe, detaylı bir kaynak bulmak oldukça zor. İşletim sistemini, görsel olarak kullananlar ve gerisine karışmam diyenler için sorun yok. Ancak, arka planda olanları merak edenler veya sorun çözme işlemlerinde bilgi sahibi olmak isteyenlerin, systemd araçlarını öğrenmesi kaçınılmaz olacak. Bu düşünceden hareketle, yazıları bir sıra dahilinde devam ettirmeyi düşünüyoruz.

systemd, sistem ve servis yöneticisi olarak tanımlanan bir program. Windows İşletim Sistemi kullanıcılarının, Çalıştır kutusuna services.msc komutunu yazdığında çalışan servisler programının bir benzeri. Komut satırından kontrol edilebildiği gibi görsel bir kullanıcı arayüzü de bulunuyor (systemd-ui).

Bilgisayarda Mevcut Servislerle İlgili Neler Yapılabilir?​

Yapılabilecek işlemlere Başlatmak (start), Durdurmak (stop), Tekrar Başlatmak (restart), İptal Etmek (disable), Kullanıma Sokmak (enable) örnek olarak verilebilir. İşte systemd ile bunları yapmak mümkün. Zaten sysvinit ile yapılıyordu ancak şimdi daha hızlı yapılabiliyor. En azından systemd öyle olmalı ki ana dağıtımlar geçmeyi tercih ettiler.

systemd konusunda adım adım gitmek ve temel bilgileri anlamak önemli. Şu ana kadar servisler olarak bahsettiğimiz bilgisayar hizmetlerinin tamamına, systemd literatüründe ünite (unit) adı verilmektedir. Yazılarımızda kavram bütünlüğü olması açısından “ünite” ifadesi kullanılacaktır. Servis (service) ifadesi, systemd içerisinde ünite ifadesinden biraz ayrı kullanılıyor.

Sisteminizde, systemd çalışıyorsa, istediğiniz soruyu sorup cevabını alabilirsiniz. O zaman, kullanıcılar olarak bizim “soru sormayı” öğrenmemiz ve hangi aracı kullanarak bunu yapacağımızı bilmemiz gerekiyor. systemd içerisinde, en dış katmanda, kullanıcı ile etkileşimli, 8 adet araç bulunmaktadır. Bunlar, systemctl, journalctl, notify, analyze, cgls, cgtop, loginctl ve nspawn olarak isimlendirilirler. Bu araçların seçeneklerini, parametrelerini ve ünite isimlerini kullanarak systemd ile etkileşim kurabilirsiniz. Durum sorgulayıp cevap beklersiniz, aldığınız cevaba göre bir hizmeti başlatıp, durdurabilir veya devre dışı bırakabilirsiniz.

İPUCU: Hatta isterseniz, snapshot hizmetini kullanarak, sisteminizin çalışan servislerinin durumunu fotoğraflayıp, bir arıza olduğunda bu duruma sisteminizi geri yükleme imkanınız da var. (Bilgisayarınızı kapatmadığınız sürece. Kapatınca, snapshot silinir.)

Systemd Araçları​

systemctl​

systemd sistemini ve servislerini kontrol eden aracı ifade eder.

journalctl​

olayları kontrol edip raporlayabilmek için systemd log dosyalarını kontrol eden aracı ifade eder.

systemd-notify​

Ünitelerin durumlarında bir değişiklik olduğunda, diğer hizmetleri ve kullanıcıları bilgilendirmek için kullanılan bir araçtır. Genelde, açılış esnasında meydana gelen hatalarla ilgilidir.

systemd-analyze​

Sisteminizin açılış esnasında geçen zamanın istatistik ve incelemesini analiz eder. Çekirdek (kernel) başlangıç zamanı ve kullanıcı işlemleri başlangıç zamanı ayrı ayrı ölçülür ve gösterilir. Bu süreleri analiz etmeye yarayan araçtır.

systemd-cgls​

systemd çalışma mantığında yer alan kontrol gruplarının durumunu ve hangi kontrol grubunda ve alt basamaklarında hangi servislerin çalıştığını kontrol etmeye yarayan araçtır.

systemd-cgtop​

systemd-cgls aracında, tüm ana grup ve üyeleri hiyerarşik olarak gösterilirken, systemd-cgtop aracında ise en üstte bulunan ana grup ve sistem kullanımı görüntülenir. sysvinit içerisinde “service --status-all” komutuna benzer.

systemd-loginctl​

İşletim Sisteminin oturum açma işlemlerini kontrol eden araçtır. Oturum açma yöneticisi diye tanımlanabilir.

systemd-nspawn​

Hata ayıklama ve simülasyon yapmak için kullanılan bir araçtır. chroot aracına benzer ancak daha fazlasıdır. Bir programın, hatta başka bir işletim sisteminin, izole edilmiş halde, sistemin gerçek kaynaklarına zarar vermeden çalıştırılmasını sağlar. Yazılım geliştiriciler için oldukça kullanışlıdır.

Kaynak :
HTML:
https://siberoloji.github.io/categories/
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830

"systemd" - "systemctl" Kullanım Başlangıç Seviye....​


ÖnSöz

Bildiğiniz gibi, systemctl aracı, systemd’nin kendisini ve servis yöneticisini kontrol etmeye yarıyor. System Control ifadesinin kısaltılmış halidir. Öncelikle, systemctl komutu ile sistemimizin başlangıçta ne durumda olduğunu kontrol edelim. Bunun için komut satırına systemctl yazmanız yeterli.

Bash:
systemctl

Komut Çıktısı :


Bash:
NIT                 LOAD   ACTIVE SUB         DESCRIPTION
...
rc-local.service     loaded failed failed      /etc/rc.local Compatibility
resolvconf.service   loaded active exited      Nameserver information manager rsyslog.service      loaded active running     System Logging Service
...
LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
152 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

Bunun sonucunda sisteminizin başlama durumunda yüklenen, yüklenmeyen tüm servisler ile ilgili bir rapor ekrana görüntülenir. Bu ekranda, LOAD - ACTIVE - SUB sütünları, yüklenen ünitenin durumu hakkında bilgiler verir. Bu sütunlardaki bilgilere göre sisteminizin hatalarını tespit edip, diğer systemd araçlarının da yardımıyla hataları düzeltebilirsiniz.

Yukarıda verilen komutun çıktısı, normalde çok daha detaylı ve uzundur ancak buraya kısa halini aldık. Raporun sonunda, 152 loaded units listed ifadesiyle, toplam 152 ünitenin listelendiğini görebiliyoruz.

Komutun çıktısında, kırmızı ikaz ile gösterilen problem hakkında detaylı bilgi almak için systemctl aracının status unite komutunu ve bilgi almak istediğimiz unitenin ismini kullanacağız.

Bash:
systemctl status rc-local.service

Komut Çıktısı :


Bash:
● rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)
Active: failed (Result: exit-code) since Paz 2015-05-10 10:04:17 EEST; 42min ago
Process: 696 ExecStart=/etc/rc.local start (code=exited, status=1/FAILURE)
May 10 10:04:17 ubuntu systemd[1]: Starting /etc/rc.local Compatibility...
May 10 10:04:17 ubuntu systemd[1]: rc-local.service: control process exited, code=exited status=1
May 10 10:04:17 ubuntu systemd[1]: Failed to start /etc/rc.local Compatibility.
May 10 10:04:17 ubuntu systemd[1]: Unit rc-local.service entered failed state.
May 10 10:04:17 ubuntu systemd[1]: rc-local.service failed.

Detaylarını daha sonra açıklayacağımız bu durum raporları, sistemimiz hakkında nerelerde problem yaşandığını öğrenmekte oldukça faydalı olacaktır. Systemctl aracının kullanımı, yukarıda gösterilen ve benzeri şekillerde, durum komutları ve parametrelerle olmaktadır.

Kaynak :
HTML:
https://siberoloji.github.io/categories/
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830

Systemd ile Açılışta Başlayan Servisleri Kontrol Etme​


ÖnSöz

Bilgisayarınızı kullanırken ihtiyacınız olan bir çok programı indirir, yükler ve denersiniz. Bunların bir kısmı yüklü olarak dururken, bir kısmını da beğenmez ve kaldırırsınız. Yüklü olan programların bir kısmını da çok sık kullanmazsınız. Örneğin, bilgisayarınıza yüklediğiniz Virtualbox Sanallaştırma yazılımını her zaman kullanmıyor olabilirsiniz. Şunu bilmelisiniz ki, bu tür programlar bilgisayarın açılışında başlatılmak üzere bir takım servisleri çalıştırırlar.

Sisteminizi açtığınızda kullanmayacağınız bu servisler, açılışta otomatik yüklendiklerinden başlangıç süresini arttırırlar. Sistemde arka planda çalıştıkları için kaynak israfına da yol açarlar. Bu yazıda sizlere, systemd , systemd-analyze ve systemctl kullanarak bilgisayarınızın açılışında başlamasını istemediğiniz servisleri nasıl iptal edebileceğinizi açıklancaktır.


Sisteminizde systemd Var mı?

Bu yazıda anlatılanlar, systemd sistem yönetim altyapısını kullandığından, bilmiyorsanız öncelikle işletim sisteminizin systemd kullanıp kullanmadığını tespit etmelisiniz. Bunu, aşağıdaki komut ile yapabilirsiniz.

Bash:
systemd --version

Bash:
systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN
Yukarıdaki örneğe benzer bir çıktı aldıysanız, sisteminizde systemd var demektir. Bu çıktıdan; sürüm numarasının 229 olduğu görebiliriz.

Sisteminizin Boot Süresi Ne kadar?​

Bilgisayarınız açılmaya başladığında arka planda öncelikle kernel, ardından kullanıcı düzeyi servisler yüklenir. Bu sürenin kısaca özetini aşağıdaki komutu kullanarak görebilirsiniz.

Bash:
systemd-analyze

Bash:
Startup finished in 4.891s (kernel) + 38.844s (userspace) = 43.735s

Yukarıdaki çıktıda görülüyor ki sistem topam 43 saniyede açılmış. Bu sürenin ~4.8 saniyesini kernel yükleme işlemi kullanırken, ~38.8 saniyesi kullanıcı düzeyi uygulamalar için harcanmış. Peki bu uygulamaların hepsini, gerçekten kullanıyor musunuz veya ihtiyacınız var mı? Bunlardan bazıları açılışı geciktirirken aynı zamanda arka planda sistem kaynağı kullanıyor olabilirler.

Açılış Raporunu Detaylı İnceleme​

Bir önceki başlıkta verdiğimiz komut çıktısı, özet raporu verirken, şimdi kullanacağımız komut ise detaylı olarak servis düzeyinde zaman miktarını bize verecektir.

Bash:
systemd-analyze blame
         16.351s mysql.service
          9.098s apache2.service
          8.162s NetworkManager-wait-online.service
          5.641s activdevices.service
          5.566s dev-sda1.device
          4.645s NetworkManager.service
          4.074s accounts-daemon.service
          3.413s qemu-kvm.service
          3.234s rsyslog.service
          3.131s arpalert.service
          3.065s speech-dispatcher.service
          2.677s rc-local.service
          2.524s gpu-manager.service
          2.511s console-kit-log-system-start.service
          2.440s ufw.service
          2.430s vboxdrv.service
          2.212s networking.service
          2.107s thermald.service
          1.802s grub-common.service
          1.616s apparmor.service
          1.571s systemd-udevd.service
          1.291s systemd-tmpfiles-setup-dev.service
          1.201s irqbalance.service
          1.068s keyboard-setup.service
          1.058s loadcpufreq.service
          1.025s avahi-daemon.service
           845ms ondemand.service

Çıktıyı incelediğimizde, en fazla sürenin 16.351s mysql.service tarafından kullanıldığını görmekteyiz. Bu servis veya listede bulunan diğer servislerden hangilerine sürekli ihtiyaç duymuyorsak, açılışta yüklenmesini iptal edebiliriz. Dikkat etmelisiniz ki, sistemden tamamen kaldırmıyoruz. Sadece başlangıçta yüklenmesini devre dışı bırakıyoruz.

Açılışta Yüklenen Bir Servisi Devre Dışı Bırakma​

Farz edelim ki mysql.service bu servisin açılışta başlamasına ihtiyacımız yok. İstediğimiz zaman kendimiz başlatabiliriz veya ileride tekrar başlangıçta yüklenecekler listesine ekleyebiliriz. Bunun için systemctl tarafından sağlanan enabled - disabled anahtarlarını kullanabiliriz.

Bash:
sudo systemctl disable mysql.service

Komut Çıktısı :

Bash:
Synchronizing state of mysql.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install disable mysql

Devre Dışı Bırakılan Servisi Başlatma​

Sisteminizi kullandığınız esnada, açılış esnasında yüklenmesini iptal ettiğiniz sistemi başlatmak isteyebilirsiniz. Bu durum 2 farklı şekilde ortay çıkabilir.

Bilgisayarınızda çalışırken servisi hemen başlatmak​

Yukarıdaki örnekte gördüğümüz mysql.service servisini hemen kullanmak için başlatmak isteyebilirsiniz. Bu durumda systemctl tarafından sağlanan start anahtarını kullanmanız yeterli.

Bash:
sudo systemctl start mysql.service

Servisi tekrar açılış esnasında başlatmak​

Önceden iptal ettiğiniz servise çok sık ihtiyaç duymaya başladınız. Üzerinde çalıştığınız proje farklılaştı ve açılışta başlamasını istiyorsunuz. O zaman, aşağıdaki komut örneğindeki yöntemle servisi tekrar başlangıçta yüklenecek şekilde ayarlayabilirsiniz.

Bash:
sudo systemctl enable mysql.service

Komut Çıktısı :

Bash:
Synchronizing state of mysql.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable mysql

Son Notlar​

İptal ettiğiniz servisin adını unutabilirsiniz. İptal ederken kullandığınız sistemin adını tekrar bulmak için, sisteminizde bulunan servislerin listesini ve durumunu aşağıdaki komut yardımıyla görebilirsiniz.

Bash:
sudo systemctl list-unit-files --type=service

Komut Çıktısı :

Bash:
[FONT=courier new]UNIT FILE                                  STATE   
accounts-daemon.service                    enabled
acpid.service                              disabled
alsa-restore.service                       static 
alsa-state.service                         static 
alsa-utils.service                         masked 
anacron-resume.service                     enabled
anacron.service                            enabled
apt-daily.service                          static 
atd.service                                enabled
auditd.service                             enabled
autovt@.service                            enabled
avahi-daemon.service                       disabled
binfmt-support.service                     enabled
bluetooth.service                          disabled
bootlogd.service                           masked 
bootlogs.service                           masked 
bootmisc.service                           masked 
brltty-udev.service                        static[/FONT]

Kaynak :
HTML:
https://siberoloji.github.io/
 

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830

Systemd İçerisinde Runlevel Durumları​


Linux işletim sistemlerinin bir çoğu systemd kullanımına başladılar. Aşağıdaki tabloda, çalışma seviyelerinin init ve systemd içerisinde nasıl isimlendirildiğini görebilirsiniz.

RunlevelTarget
0poweroff.target
1rescue.target
2,3,4multi-user.target
5graphical.target
6reboot.target


Tablodan da göreceğiniz gibi, init içerisinde çalışma seviyesi (runlevel) olarak adlandırılan kademeler systemd ile birlikte hedef (target) olarak ifade edilmeye başlamıştır. Komutlarda İngilizce yazımı kullanmanız gereken hedefleri şimdi tek tek açıklayalım.

poweroff.target: Sistemi, tüm servisleri durdurarak kapanma durumuna getirir.

rescue.target: Sistemi, yönetimsel işlemler için tek kullanıcı moduna getirir. Dosya ve disklere erişim ile bazı temel servisler çalışmaya devam eder.

multi-user.target: Text modunu ifade eder. Grafik arayüz olmadan çok kullanıcının oturum açabileceği durumdur.

graphical.target: Sistemi, görüntü yöneticisinin de çalıştığı konuma getirmeyi ifade eder.

reboot.target: Sistemi, tüm servisleri durdurarak kapatmayı ve tekrar başlatmayı ifade eder.

Yukarıda bahsedilen çalışma seviyeleri için ortak bir kriter bulunmaktadır. “Sistem aynı anda sadece bir durumda bulunabilir.” Sisteminiz multiuser.target durumunda iken aynı anda graphical.target durumunda bulunamaz.

Sisteminizde şu an aktif olan .target durumlarını aşağıdaki komut ile listelediğinizde active durumunda olan .target uzantılı üniteleri görebilirsiniz.

Bash:
systemctl list-units --type target

Bash:
UNIT                   LOAD   ACTIVE SUB    DESCRIPTION
basic.target           loaded active active Basic System
cryptsetup.target      loaded active active Encrypted Volumes
getty.target           loaded active active Login Prompts
graphical.target       loaded active active Graphical Interface
local-fs-pre.target    loaded active active Local File Systems (Pre)
local-fs.target        loaded active active Local File Systems
multi-user.target      loaded active active Multi-User System
network-online.target  loaded active active Network is Online
network.target         loaded active active Network
nss-user-lookup.target loaded active active User and Group Name Lookups
paths.target           loaded active active Paths
remote-fs-pre.target   loaded active active Remote File Systems (Pre)
remote-fs.target       loaded active active Remote File Systems
slices.target          loaded active active Slices
sockets.target         loaded active active Sockets
sound.target           loaded active active Sound Card
swap.target            loaded active active Swap
sysinit.target         loaded active active System Initialization
time-sync.target       loaded active active System Time Synchronized
timers.target          loaded active active Timers

7.sırada görülebileceği gibi graphical.target durumu aktif ve çalışıyor.

Şimdi birlikte sistemi isolate fonksiyonunu kullanarak multiuser.target durumuna geçirelim. Bu durumda, tüm grafik uygulamalar kapanacak ve ekranınız komut satırına dönüşecek (Alt+Ctrl+F1,F2,....F6 kullanın). Oturum açma ekranı text modunda karşınıza gelecek. Kayıt etmediğiniz çalışmalarınızı kaydetmenizi öneriyoruz çünkü hepsi kapanacak. Ayrıca tekrar grafik arayüzüne geri dönmek için gerekli komutu da bir yere not etmek isteyebilirsiniz.

Bash:
sudo systemctl isolate multi-user.target

Multiuser durumuna geçince, Alt+Ctrl+F1 ile komut satırına girebilirsiniz. Text modunda oturum açarak ulaşacağınız komut satırında, aşağıdaki komutu yazarak tekrar grafik arayüzüne dönebilirsiniz.

Bash:
sudo systemctl isolate graphical.target

Geçmişe dönük olarak işlerliği sürdürmek açısından systemd .target durumlarına runlevel1,2,3 vb. şekilde isimlendirme de yapılmıştır.

Aşağıdaki iki örnek örnek komut aslında aynı işlem yapılmaktadır.

Bash:
sudo systemctl isolate graphical.target
Bash:
sudo systemctl isolate runlevel5.target

Kaynak :
HTML:
https://siberoloji.github.io/
 
Üst