Linux'ta Giriş Dizini Yeni Bölüme veya Diske Nasıl Taşınır


Herhangi bir Linux sisteminde boyutu mutlaka büyüyecek dizinlerden biri /home dizini olmalıdır. Bunun nedeni, sistem hesapları (kullanıcılar) dizinlerinin kök hesap dışında /home'da yer almasıdır; kullanıcılar belgeleri ve diğer dosyaları sürekli olarak burada depolayacaktır.

Aynı davranışa sahip bir diğer önemli dizin de /var'dır, sistem çalışmaya devam ettikçe boyutları giderek artacak olan log dosyaları, web dosyaları, yazdırma biriktirme dosyaları vb. log dosyalarını içerir.

Bu dizinler dolduğunda, kök dosya sisteminde sistem önyükleme hatasına veya diğer ilgili sorunlara yol açan kritik sorunlara neden olabilir. Ancak bazen bunu ancak sisteminizi kurduktan ve kök dosya sistemi/bölümündeki tüm dizinleri yapılandırdıktan sonra fark edebilirsiniz.

Önerilen Okuma: Linux Dizin Yapısı ve Önemli Dosya Yollarının Açıklaması

Bu kılavuzda, ana dizinin muhtemelen Linux'ta yeni bir depolama diskindeki özel bir bölüme nasıl taşınacağını göstereceğiz.

Linux'ta Yeni Bir Sabit Diskin Kurulumu ve Bölümlenmesi

Daha fazla ilerlemeden önce, mevcut bir Linux sunucusuna nasıl yeni bir sabit disk ekleneceğini kısaca açıklayacağız.

Not: İşlem için zaten hazır bir bölümünüz varsa, /home dizinini bir klasöre taşıma adımlarını açıklayan bölüme gidin. aşağıda kendi bölümü.

Yeni diski sisteme taktığınızı varsayacağız. Bir sabit diskte, bölüm tablosunun yanı sıra oluşturulacak bölüm sayısı normalde disk etiketi türüne göre belirlenir ve ilk birkaç baytlık alan MBR'yi (Ana Önyükleme Kaydı) tanımlayacaktır. ) bölüm tablosunun yanı sıra önyükleyiciyi (önyüklenebilir diskler için) depolar.

Pek çok etiket türü olmasına rağmen Linux yalnızca ikisini kabul eder: MSDOS MBR (516 bayt boyutunda) veya GPT (GUID Bölümleme Tablosu) MBR.

Ayrıca, bu kılavuzun amaçları doğrultusunda yeni yeni sabit diskin (/dev/sdb, 270 GB) kullanıldığını varsayalım. geniş kullanıcı tabanı.

Öncelikle fdisk veya parted kullanarak disk etiketi türünü ayarlamanız gerekir; bu örnekte GPT etiket adını kullandık.

parted /dev/sdb mklabel gpt

Not: fdisk şimdilik yalnızca MSDOS MBR'yi destekler ve parted her iki etiketi de destekler.

Şimdi 106GB boyutunda ilk bölümü (/dev/sdb1) oluşturun. MBR için 1024MB alan ayırdık.

parted -a cylinder /dev/sdb mkpart primary 1074MB 107GB

Yukarıdaki komutun açıklaması:

  • a – bölüm hizalamasını belirtme seçeneği.
  • mkpart – bölümü oluşturmak için alt komut.
  • birincil – sabit diskteki bölüm türünü birincil olarak ayarlar (diğer değerler mantıksal veya genişletilmiştir).
  • 1074MB – bölümün başlangıcı.
  • 107GB – bölümün sonu.

Şimdi diskteki boş alanı aşağıdaki gibi kontrol edin.

parted /dev/sdb print free

154GB boyutunda başka bir bölüm (/dev/sdb2) oluşturacağız.

parted -a cylinder /dev/sdb mkpart primary 115GB 268GB

Sonra, her bölümdeki dosya sistemi türünü ayarlayalım.

mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb2

Sisteme bağlı tüm depolama aygıtlarını görüntülemek için yazın.

parted -l

Ana Dizini Özel Bir Bölüme Taşıma

Artık yeni diski ekledik ve gerekli bölümü oluşturduk; Artık home klasörünü bölümlerden birine taşımanın zamanı geldi. Bir dosya sistemini kullanmak için, kök dosya sistemine bir bağlama noktasında bağlanması gerekir: /home gibi hedef dizin.

Öncelikle sistemdeki df komutunu kullanarak dosya sistemi kullanımını listeleyin.

df -l

Şimdilik /dev/sdb1'i bağlayabileceğimiz yeni bir /srv/home dizini oluşturarak başlayacağız.

mkdir -p /srv/home
mount /dev/sdb1 /srv/home 

Daha sonra rsync komutunu kullanarak /home içeriğini /srv/home dizinine taşıyın (böylece pratik olarak /dev/sdb1 konumunda depolanacaklar) veya cp komutu.

rsync -av /home/* /srv/home/
OR
cp -aR /home/* /srv/home/

Bundan sonra diff aracını kullanarak iki dizin arasındaki farkı bulacağız, her şey yolundaysa bir sonraki adıma geçin.

diff -r /home /srv/home

Daha sonra /home içindeki tüm eski içeriği aşağıdaki gibi silin.

rm -rf /home/*

Daha sonra /srv/home bağlantısını kesin.

umount /srv/home

Son olarak, /dev/sdb1 dosya sistemini bu arada /home'a bağlamamız gerekiyor.

mount /dev/sdb1 /home
ls -l /home

Yukarıdaki değişiklikler yalnızca mevcut önyükleme için geçerli olacaktır; değişiklikleri kalıcı hale getirmek için /etc/fstab dosyasına aşağıdaki satırı ekleyin.

UUID bölümünü almak için aşağıdaki komutu kullanın.

blkid /dev/sdb1

/dev/sdb1: UUID="e087e709-20f9-42a4-a4dc-d74544c490a6" TYPE="ext4" PARTLABEL="primary" PARTUUID="52d77e5c-0b20-4a68-ada4-881851b2ca99"

UUID bölümünü öğrendikten sonra /etc/fstab dosyasını açın ve aşağıdaki satırı ekleyin.

UUID=e087e709-20f9-42a4-a4dc-d74544c490a6   /home   ext4   defaults   0   2

Yukarıdaki satırdaki alanı açıklıyoruz:

  • UUID – blok cihazını belirtir; alternatif olarak /dev/sdb1 cihaz dosyasını kullanabilirsiniz.
  • /home – bu bağlama noktasıdır.
  • etx4 – cihazdaki/bölümdeki dosya sistemi türünü açıklar.
  • varsayılanlar – bağlama seçenekleri (burada bu değer rw, suid, dev, exec, auto, nouser ve async anlamına gelir).
  • 0 – döküm aracı tarafından kullanılır; 0, dosya sistemi yoksa döküm yapılmaması anlamına gelir.
  • 2 – fsck aracı tarafından dosya sistemi kontrol sırasını keşfetmek için kullanılır; bu değer, kök dosya sisteminden sonra bu cihazın kontrol edileceği anlamına gelir.

Dosyayı kaydedin ve sistemi yeniden başlatın.

/home dizininin özel bir bölüme başarıyla taşındığını görmek için aşağıdaki komutu çalıştırabilirsiniz.

df -hl

Şimdilik bu kadar! Linux dosya sistemi hakkında daha fazla bilgi edinmek için Linux'ta dosya sistemi yönetimine ilişkin bu kılavuzları okuyun.

  1. Linux'ta Giriş Dizini ile Kullanıcı Hesapları Nasıl Silinir
  2. Ext2, Ext3 ve Ext4 Nedir ve Linux Dosya Sistemleri Nasıl Oluşturulur ve Dönüştürülür
  3. Linux'ta Dosya Sistemi Türünü Belirlemenin 7 Yolu (Ext2, Ext3 veya Ext4)
  4. SSH Üzerinden SSHFS Kullanarak Uzak Linux Dosya Sistemini veya Dizini Bağlama

Bu kılavuzda, /home dizinini Linux'ta özel bir bölüme nasıl taşıyacağınızı anlattık. Bu yazı ile ilgili düşüncelerinizi aşağıdaki yorum formunu kullanarak paylaşabilirsiniz.