diyelim Fedora ve Ubuntu?
... ikisi de günümüzde işletim sistemidir.
Systemd işletim sistemlerinde ne olur
doğal mekanizma
Systemd çeşitli birimler kullanır. .mount
birim dosyaları birimlere bağlanmasını bildirir. .swap
birim dosyaları, çekirdeğe takas bölümleri hakkında bilgi vermesini söyler. ( .service
birim dosyaları, hizmetlerin nasıl çalıştırılacağını anlatır. Bunları yürürlüğe koymak için, systemd kendisi ilgili sistem çağrılarını yapan alt süreçleri kaldırır.
Böyle bir systemd işletim sisteminde systemctl
(with --all
) komutunu kullanırsanız , yüklü .swap
birimler hakkında bilgi verir . Örneğin:
dev-disk-by \ x2dpartuuid-40549710 \ x2d05.swap yüklü etkin etkin / dev / disk / by-partuuid / 40549710-05
dev-disk-by \ x2duuid-1bb589e8 \ x2d929f \ x2d4041 \ x2d81f4 \ x2dff2b339b4e2a.swap yüklü etkin etkin / dev / disk / tarafından-uuid / 1bb589e8-929f-4041-81f4-ff2b339b49
dev-sda5.swap yüklü etkin etkin / dev / sda5
Ayrıca .mount
birimler hakkında da bilgi verecektir .
Bir sistem yöneticisi aslında böyle yazabilirsiniz .swap
Xe yazabilir, tıpkı elle birim dosyaları .service
, .socket
ve elle diğer birim dosyaları. systemd kendisi sadece dosya sistemindeki birim dosyalarını arar. Bunlar kendi doğal mekanizmasıdır.
Birisi size bu birim dosyalarında ne olduğunu ve dosya sisteminde nerede bulunduğunu göstermek için systemd alabilir:
$ systemctl cat dev-disk-tarafından \\ x2duuid-1bb589e8 \\ x2d929f \\ x2d4041 \\ x2d81f4 \\ x2dff2b339b4e2a.swap
# /run/systemd/generator/dev-disk-by\x2duuid-1bb589e8\x2d929f\x2d4041\x2d81f4\x2dff2b339b4e2a.swap
# Systemd-fstab-generator tarafından otomatik olarak oluşturulur
[Birim]
KaynakYolu = / etc / fstab
Dokümantasyon = erkek: fstab (5) erkek: systemd-fstab-jeneratör (8)
[Değişim]
by-Uuid / 1bb589e8-929f-4041-81f4-ff2b339b4e2a Ne = / dev / disk /
Seçenekler = sw
$
otomatik oluşturulan birim dosyaları
Bunları elle yazabilirsiniz. Ancak genellikle bu tür .mount
ve .swap
birim dosyaları, jeneratörler olarak bilinen programlar tarafından otomatik olarak oluşturulur . Bu tür iki jeneratör systemd-fstab-generator
ve systemd-gpt-auto-generator
. Her ikisi de önyükleme işleminin başlarında ve bir systemctl daemon-reload
komuta yanıt olarak çalışır ve (yukarıda görebileceğiniz gibi), birim dosyalarının bir dolu yükünü belgelenmemiş bir alt dizine oluştururlar /run/systemd/
. systemd'nin kendisi sadece oluşturulan birim dosyalarını kullanır .
Eski jeneratör /etc/fstab
, bu dosya biçimindeki birkaç systemd uzantısını tanıyarak okur . Bir cevap açıklamasında işaret ettiğim gibi, geleneksel olarak takas bölümleri bağlama türüne sahiptir sw
ve diğer işletim sistemlerinin bu tablodaki takas kayıtlarını tanımasını bu şekilde bulacaktır. Ancak Linux yazılımları VFS türünü aramak yerine VFS türünü tanımak için alternatif bir yol swap
izledi. systemd-fstab-generator
burada bir istisna değildir /etc/fstab
ve yerel mekanizmalara dönüştürürken bu şekilde yorumlanır .
İkinci jeneratör, çeşitli tanınmış bölüm tipi GUID'leri olan EFI bölüm tablosu girdilerini arayan, EFI Sistem Bölümü'nü tutan aynı diskte bulunan EFI bölüm tablosunu işler . Bu GUID'lerden biri Linux takas bölümlerine atanan geleneksel GUID'dir; ve systemd-gpt-auto-generator
bu GUID ile (systemd doco'da verilen kriterleri karşılayan) bir bölüm bulursa, bunun için bir .swap
birim oluşturur; hiç /etc/fstab
dahil değil .
Tabii ki, bu sürecin birçok yan etkisi vardır. Örneğin /etc/fstab
, tablonun birincil anahtarı olmadığından kayıtların yinelenen "spec" ve "file" (yani "ne" ve "nerede") alanları olabilir. Ancak, yerel systemd mekanizmasında, "dosya" (yani "nerede") alanı, .mount
birim adlarına gömülü birimler için benzersiz bir anahtardır . .mount
Bunu iki birim paylaşamaz. İçin .swap
birimler "Spec" (yani "ne") alanı birimleri için benzersiz bir anahtardır. .swap
Bunu iki birim paylaşamaz. Bu nedenle, tüm kayıtların /etc/fstab
yerel mekanizmalara dönüştürülmesi gerekmez ve özellikle insanlar iki farklı amaç için aynı bağlama noktasını listelemek veya aynı takas bölümünü iki farklı şekilde listelemek gibi çalışırsa çalışacaktır.
Benzer şekilde, /etc/fstab
yerel mekanizmaya çevrildiği ve systemd'nin yerel mekanizmasının birimleri etkinleştirmenin başka yolları olduğu için, davranış sistemsiz olmayan işletim sistemlerinden farklıdır. Bir .mount
birim, varsayılan olaraksystemd-udevd
, takılı depolama aygıtının görünümüne yanıt olarak önyükleme işleminden sonra bile otomatik olarak etkinleştirilir . Veya bir Wants=
veya Requires=
bazı .service
veya .socket
birim olarak listelenebilir , yani bulunduğunda (yeniden) etkinleştirilir. Hatta var RequiresMountsFor=
.
yükleyici programları ve sistem yolu
Geleneksel olarak, işletim sistemi yükleyici programları ve sistemd yöneticisi daha sonra sistemi yeniden yapılandırmak için yazılı sw
girişlere sahiptir /etc/fstab
. Böylece yerli .mount
ve .swap
birimler otomatik olarak oluşturulur. Yükleme / yapılandırma yardımcı programı takas dosyasının nereye yerleştirildiğini "bilir", çünkü kullanıcı yöneticisi sistem yöneticisi bir tür seçim yaptı ve /etc/fstab
eşleşmesi için bir yazar . Bazen bu seçim, kurulumun bir parçası olarak bana bir takas bölümü yapmanıza ihtiyacım var. ; bazen sadece diskte bulduğunuz takas bölümünü kullanın. (yükleyiciler bölüm türlerine de bakar).
Ancak sistem kullanıcıları, kendilerini büyük ölçüde boş bir /etc
ağaçtan, vatansız sistem denilen otomatik olarak yapılandıran ve EFI bölümleme tablosunu okuyan jeneratör gibi mekanizmaların hepsi budur. Sistemd insanların planında, hiçbir şey yoktur /etc/fstab
ve aslında hiçbir kalıcı yapılandırma verisi yoktur /etc
ve tüm bunlar, diskteki bölüm tablosunun , her önyüklemede ve her birinden çıkarılırsystemctl daemon-reload
. Günümüzde işletim sistemi yükleyici programlarını, bir/etc/fstab
.
Geleneksel şemada, elbette her işletim sisteminin kendi özel takas bölümüne sahip olmasını ve birbirlerinin takas bölümlerine dokunmalarını sağlayabilirsiniz. Ve eğer bir takas bölümü aracılığıyla diske hazırda kullanan ve hibernated iken (başka bir işletim sistemine çoklu boot edebilmek için bekliyoruz aslında eğer bir olan çok kötü bir fikir çünkü o neden dosya sistemi yolsuzluk bu şekilde çok kolay olacaktır) gerekli.
Systemd şemasında, işletim sistemi henüz systemd insanlar tarafından öngörülen ve "vatansız" olarak olmasa bile, yukarıda belirtilen jeneratörler çalışır; ve böylece gerekli bölüm tipine sahip tüm takas bölümleri (ESP / kök disk üzerinde) tüm sistemd işletim sistemleri tarafından otomatik olarak kullanılır. Otomatik olarak keşfedilen tüm takas bölümlerini paylaşacaklarından, yüklü işletim sistemi başına bir takas bölümü oluşturmaya gerek yoktur.
daha fazla okuma