CentOS 7 ve RHEL 7 Önyükleme İşlemine Genel Bakış ve Sorun Giderme

Bu makalede, CentOS / RHEL 7.x sistemleri için önyükleme işlemi açıklanır. RHEL 7 ile önceki sürümlere benzer kalsa da, systemd tanıtılmaktadır. Önyükleme işlemine ek olarak, yol boyunca sorun giderme ipuçları ve püf noktaları sunacağım.

Önyüklemeyle ilgili bir sorunu etkin bir şekilde giderebilmeniz için önyükleme işlemini anlamanız gerekir. Sürece aşina olana kadar aşağıdaki adımları inceleyin.

Üst düzey genel bakış

  • Güç + yayın.
  • Bellenim cihazı arama.
  • Bellenim önyükleyiciyi okur.
  • Önyükleme yükleyicisi config (grub2) yükler.
  • Önyükleme yükleyicisi çekirdek ve initramfs yükler.
  • Boot loader kontrolü çekirdeğe aktarır.
  • Çekirdek, donanım + ilkelerini /sbin/initpid 1 olarak başlatır .
  • Systemd tüm initrd hedeflerini yürütür (dosya sistemini bağlar /sysroot).
  • Çekirdek kökü FS, initramfs root ( /sysroot) 'dan sistem rootfs ( /)' e geçiş yaptı ve systemd sistem sürümü olarak yeniden çalışıyor.
  • Systemd varsayılan hedefi arar ve otomatik olarak bağımlılıkları çözerken ve giriş sayfası görünürken birimleri yapılandırıldığı gibi başlatır / durdurur.

Önyükleme işlemi hakkında daha fazla bilgi için sisteminizin resmi işletim sistemi belgelerine bakın.

Systemd hedefleri

Hedefler temel olarak bağımlılık kontrolleridir. Bu hedefi karşılamak için tam olarak hangi hizmetlerin gerekli olduğunu "önce" ve "sonra" yapılandırmaları vardır. Örneğin: arp.ethernet.service, firewalld.serviceve benzeri başlamış olması ve daha önce çalışan ihtiyaç network.targetulaşılabilir. Bu gibi hizmetler sağlanamadığı takdirde httpd, nfsve ldapbaşlatılamaz. RHEL / CentOS 7'de ayarlanabilecek 4 hedef vardır.

  • graphical.target (GUI arayüzü)
  • multi-user.target (çoklu kullanıcı modu, metin tabanlı giriş)
  • rescue.target (sulogin istemi, temel sistem başlatma)
  • emergency.target (sulogin istemi, initramfs pivot complete ve sistem kökü salt okunur olarak / salt okunur olarak monte edilir)

Geçerli varsayılan önyükleme hedefini görüntülemek için aşağıdakileri kullanın:

systemctl get-default

Unutmayın, hedefi izole ederek çalışma zamanında değiştirebilirsiniz. Bu, yeni hedefle ilişkili tüm hizmetleri başlatır / durdurur, bu nedenle dikkatli olun (bkz. systemctl isolate new.target).

Tek kullanıcı modu

İşletim sistemiyle ilgili bir sorunu gidermek için tek kullanıcı moduna önyükleme yapmanız gereken zamanlar vardır. Bu örnekte, rescue.targetRHEL / CentOS 7'de "tek kullanıcı modu" nun nasıl kullanılacağını göstereceğim .

  1. Grub menüsü ile istendiğinde düzenlemek için "e" tuşuna basarak grub2 menüsünü kesin.
  2. Çekirdek sürümünü ( vmlinuz ) belirten satırı bulun ve aşağıdakine ekleyin:systemd.unit=rescue.target
  3. Başlamak için "Ctrl + x" tuşlarına basın.
  4. Daha sonra devam etmek için kök parola girmeniz istenir, kurtarma kabuğundan çıktıktan sonra önyükleme işlemi varsayılan hedefinizi yüklemeye devam eder.

Kök parolasını kurtarma

Bu süreç, geçmiş sürümlerde kullandıklarımızdan biraz farklıdır, ancak bu basit bir görevdir ve bunu yapmak için çok az adım gerektirir. Herhangi bir kimlik bilgisini kurtarmanız gerekirse, bir VM'ye erişmek için bu yöntemi kullanabilirsiniz. Yine de canlı bir CD'den önyükleme yapabilir, kök dosya sistemini bağlayabilir ve parolayı düzenleyebilirsiniz, ancak bu yöntem tarihli ve daha fazla çaba gerektirir.

  1. Sistemi yeniden başlatın.
  2. Grub menüsü ile istendiğinde düzenlemek için "e" tuşuna basarak grub2 menüsünü kesin.
  3. İmleci çekirdeği ( vmlinuz ) belirten satırın sonuna götür . TTY0 dışındaki diğer tüm konsolları kaldırmak isteyebilirsiniz, ancak bu adım ortamınızda gerekli olmayabilir.
  4. Ekleme rd.break( tırnak işaretleri kontrol gerçek sisteme Initramfs 'den teslim hemen önce önyükleme işlemini kıracak).
  5. Önyükleme için Ctrl + x.

Bu noktada, kök dosya sistemi salt okunur modda takılı olarak bir kök kabuk sunulur /sysroot. Yazma ayrıcalıklarıyla yeniden takmamız gerekecek.

Tekrar /sysroot.

# mount -oremount,rw /sysroot

Bir chroot hapishanesine geçin.

# chroot /sysroot

Eski kimlik bilgilerine sahip olduğumuz kullanıcının şifresini değiştirin.

# passwd <username>

SElinux kullanıyorsanız, önyükleme işlemine devam etmeden önce tüm dosyaları yeniden etiketlemeyi düşünmelisiniz. SElinux kullanmıyorsanız bu kısım atlanabilir.

# touch /.autorelabel

İki kez çıkın ve sistem kesildiğimiz noktadan temiz bir şekilde önyükleme yapar.

Önceki botlardaki günlükleri inceleme

Önceki başarısız önyükleme girişimlerinin günlüklerini görüntülemek yararlı olabilir. Dergi günlükleri kalıcı hale getirildiyse (normalde bellekte depolanır ve önyüklemede serbest bırakılır) bu journalctlaraçla yapılabilir . Kalıcı önyükleme günlüğünü kurmanız gerekiyorsa bu adımları izleyin.

Kök olarak, bu bilgilerin depolanması için günlük dosyasını oluşturun.

# mkdir -p 2775 /var/log/journal && chown :systemd-journal /var/log/journal
# systemctl restart systemd-journald

Önceki bir önyüklemenin günlüklerini incelemek için -bile seçeneğini kullanın journalctl. Herhangi bir bağımsız değişken olmadan, -bçıktıyı yalnızca son önyüklemeyle ilgili iletilere filtreleyecektir. Bu bağımsız değişkene yapılan negatif bir sayı önceki önyüklemelere göre filtrelenir. Örneğin:

# journalctl -b-1 -p err

Bu, en sondan önce gerçekleşen önyüklemedeki hata günlüklerini gösterir. Sayısal değeri, görüntülemeniz gereken önyüklemeyi yansıtacak şekilde değiştirmelisiniz.

Disk ve dosya sistemi hatalarını onarma

En yaygın önyükleme zamanı hatalarından biri yanlış yapılandırılmış bir /etc/fstabdosyadır. Sen CAN NOT kullanmak rescue.targetbir düzeltmek için /etc/fstabhata. emergency.target"Kurtarma" daha işlevsel bir sistem gerektirdiğinden bu sorunların çoğunu kullanmamızı gerektirecektir.

Aşağıdakileri gerektiren sorunlara örnekler emergency.target:

  1. Bozuk dosya sistemi.
  2. Konumunda olmayan UUID /etc/fstab.
  3. İçinde olmayan bağlama noktası /etc/fstab.
  4. Konumunda yanlış montaj seçeneği /etc/fstab.

Önemli : /etc/fstabDosyayı acil durum modunda düzenledikten sonra, güvenlik önlemleri için aşağıdakileri çalıştırmanız gerekir:

# systemctl daemon-reload

İşte adım adım bir örnek. Yanlış bir girişi kaldırmak için acil durum moduna geçeceğiz /etc/fstab.

  1. Grub menüsü ile istendiğinde düzenlemek için "e" tuşuna basarak grub2 menüsünü kesin.
  2. Çekirdek sürümünü ( vmlinuz ) belirten satırı bulun ve aşağıdakine ekleyin:systemd.unit=emergency.target
  3. Önyükleme için "Ctrl + x" tuşlarına basın.
  4. Devam etmek için kök parola girmeniz istenir.
  5. Dosyada /değişiklik yapabilmemiz için yeniden takın fstab:# mount -oremount,rw /
  6. mountHangi girdinin hataya neden olduğunu görmek için komutu kullanabiliriz :# mount -a
  7. Sorunlu girişi fstabdosyadan kaldırın .
  8. mount -aHatanın giderildiğinden emin olmak için tekrar kullanın .
  9. Kullanım systemctl daemon-reloadtüm birim dosyalarını yeniden ve tüm bağımlılık ağacını yeniden daha önce bahsettiniz.

Acil durum kabuğundan çıktığınızda, sistem acil durum hedefinden önyüklemeyi bitirir, daha sonra o noktadan itibaren her zamanki gibi devam edebilirsiniz. Bu örnek, yalnızca sistemdeki dosyalarda kalıcı değişiklikler yapmak için acil durum hedefini kullanma işlemini göstermek için kullanıldı.

Grub 2 ile önyükleme yükleyici sorunları

/boot/grub2/grub.cfgDosya ana yapılandırma dosyasıdır. YAPMAYIN hiç el bu dosyayı düzenlemek. Bunun yerine, grub2-mkconfigbir grup farklı yapılandırma dosyası ve kurulu çekirdeklerin listesini kullanarak yeni grub2 yapılandırmasını oluşturmak için kullanın . grub2-mkconfigKomut bakacağız /etc/default/grubdaha sonra komut kümesi kullanmak, bu tür kullanım için varsayılan menü zaman aşımı ve çekirdek komut satırı olarak seçenekler için /etc/grub.d/çıkan yapılandırma dosyası oluşturmak için.

İşte bu ilişkinin metinsel bir diyagramı.

/boot/grub2/grub.cfg
               |
               |__________________
               |                  |
         /etc/default/grub         /etc/grub.d/*

Önemli: Ana grub.cfg dosyasını düzenlemek için, /etc/default/grubdosyalarda /etc/grub.d/ve dosyalarda istenen değişiklikleri yapmanız ve ardından grub.cfgçalıştırarak yeni bir dosya oluşturmanız gerekir :

# grub2-mkconfig > /boot/grub2/grub.cfg

Grub sorunlarını giderme

Sorun gidermeden /boot/grub2/grub.cfgönce dosyanın sözdizimini anlamak önemlidir .

  • İlk olarak, önyüklenebilir girişler 'menü girişi' bloklarının içine kodlanır. Bu bloklarda linux16ve initrd16satırlar diskten yüklenecek çekirdeği (çekirdek komut satırı ile birlikte) ve yüklenecek initramfs'ı gösterir. Önyükleme sırasında etkileşimli düzenleme sırasında, bu satırları bulmak için sekme kullanılır.
  • Bu blokların içindeki "set root" satırları, RHEL / CentOS 7 sistemi için kök dosya sistemini göstermez, bunun yerine grub2'nin çekirdek ve initramfs dosyalarını yüklemesi gereken dosya sistemini gösterir. Sözdizimi harddrive.partitionnerede hd0sisteminde ilk sabit disk ve hd1ikincisidir. Bölümleri olarak belirtilmiştir msdos1ilk MBR bölümü için veya gpt1ilk GPT bölümü için.

Örnek /boot/grub2/grub.cfg:

### BEGIN /etc/grub.d/10_linux ###
menuentry 'CentOS Linux (3.10.0-514.26.2.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-a2531d12-46f8-4a0f-8a5c-b48d6ef71275' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1'  123455ae-46f8-4a0f-8a5c-b48d6ef71275
    else
      search --no-floppy --fs-uuid --set=root 123455ae-46f8-4a0f-8a5c-b48d6ef71275
    fi

Önyükleyiciyi bir aygıta yeniden yüklemeniz gerekirse, aşağıdaki komutu kullanın.

# grub2-install <device>

Bozuk bir grub kurulumunu düzeltme

Grub2 menüsüne ulaştıktan sonra sistemin önyükleme yapmayacağı durumlar için.

  • Grub menüsünü düzenleyerek ve sözdizimi hatalarını arayarak başlamalısınız. Birini bulursanız, düzeltin ve sorunu çözmek için kalıcı değişiklikler yapmak için sisteme girin.
  • Herhangi bir hata bulamazsanız, acil durum hedefine önyükleme yaptığımız yukarıdaki bölüme bakın. Root ( /) 'u tekrar takmanız gerekecektir .
  • Geçerli grub2 yapılandırmasını aşağıdaki komutla görüntüleyin: # grub2-mkconfig
  • Herhangi bir hata görmüyorsanız, büyük olasılıkla birisi /boot/grub2/grub.cfgdosyayı düzenlemiştir. Bu dosyayı değiştirmeyin. Yapılandırmayı aşağıdaki komutla yeniden oluşturun:# grub2-mkconfig > /boot/grub2/grub.cfg

Grub yapılandırmasını yeniden oluşturduktan sonra, herhangi bir sorun yaşamadan yeniden başlatabilirsiniz.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.