Ayrı bir bölümde nasıl depolayabilir / değiştirebilirim?


13

'Dan /varayrı bir bölümde depolamak istiyorum /. Bunu ayarlamanın doğru yolu nedir?

Yanıtlar:


17

Önce yeni bir bölüm hazırlayın (örn. partedVe ile mkfs).

Bölümün / dev / sda5 olduğunu söyle

Yeni bölümü bağlayın:

mkdir /var2
mount /dev/sda5 /var2

Mevcut varyanızı senkronize edin:

rsync -a /var/ /var2

/ Etc / fstab dosyasına girişi ekleyin

/dev/sda5    /var    ext4    defaults      2 2

Yeniden Başlatma.

Eğer eski / var geri gitmek gerekiyorsa, sadece fstab giriş yorum.


1
Eski alandaki alanı kurtarmak için bazı bilgiler /vareklerdim: bir livecd'den başlayın, bölümü kurulu sisteme monte edin /ve rm -rf /var/*.
enzotib

1
İyi bir nokta. Veya /geçerli sistem çalışırken (ancak yeniden başlattıktan sonra) başka bir konuma da monte edebilirsiniz . Sonra eski olsun /varve isterseniz silebilirsiniz
Aleksandr Levchuk

1
Bunları da merak ederdim. Birincisi gerçekten arkaik ve efektsiz bir şey, ikincisi, önyükleme sırasında ext'inizi tarama zamanı geldiğinde fsck'in sırasını kontrol eder. Artık onlara dikkat etmiyorum. Sadece 1 1 koy çünkü sözdizimi gerektiriyor.
Aleksandr Levchuk

2
30. kez yeniden başlattığınızda / var öncesi / var gibi şeylere izin vermek için 2 2 koymalısınız. Aksi takdirde / var başarısız olursa ve işleri tek bir kullanıcı kabuğunda manuel olarak düzeltmenizi isterse - herhangi bir dosya sisteminiz olmaz. Eğlenceli şeyler.
Aleksandr Levchuk

2
Fstab içinde UUID'lerin kullanılması öneri değil mi? Uygun olanı aldım blkid -o list -s UUID, ama sanırım sudo
steevc

2

Sanal sunucuda yeni bir / var bölümü yapılandırma

İşverenimin barındırma şirketi tarafından sağlanan yeni bir sanal sunucuyu devraldığımda, kök dosya sisteminde yeterli boş alan yoktu. Neyse ki, sanal diski alt bölümlere ayırmak için Mantıksal Birim Yöneticisi'ni (LVM) kullandılar ve yeni birimler oluşturmak için yeterli boş alan vardı. Ben ekstra mantıksal hacimleri yarattı varve homehangi kök dosya sisteminde düzenli dizinleri olmuştu. Sanal sunucu sağlayıcısı, sunucuya tek kullanıcı modunda erişebileceğim KVM benzeri bir arayüz sağlamadığından, Aleksander tarafından özetlenen yöntemle çok benzer bir yöntem kullandım (bu cevap, disk alanını kurtarmak için ekstra ayrıntılar içerir. LVM'ye özgü komutlara ek olarak).

LVM ile yeni / var dosya sistemi oluşturma

Yeni vardosya sistemi için mantıksal bir birim oluşturun , bağlayın (geçici bir dizin kullanarak) ve dosyaları geçerli dosyadan /varyeni dosya sistemine kopyalayın :

# Create a new 60GB logical volume in the `VolGroup00` group called `var`.
sudo lvcreate -L 60GB -n var VolGroup00
# Create an ext4 filesystem on this new `var` volume.
sudo mkfs.ext4 /dev/VolGroup00/var
# Mount this filesystem at a temporary mount-point.
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new

Çalışan işlemler /varaçık ve kullanımda dosyalar bulunduğundan , dizin ağacı yeni dosya sistemine taşınamaz. Dosya özniteliklerini ve genişletilmiş öznitelikleri korurken -rdosyaları geçerli /varbölümden yeni dosya sistemine özyinelemeli olarak ( ) kopyalayın ( -a, --archiveseçenek). Dikkatli bir kullanıcı , kopyalamadan önce geçerli birimin LVM anlık görüntüsünü oluşturabilir, ancak bu, bu soru için konu dışı çok fazla ayrıntıdır.

sudo cp -ra /var/ /var.new/

Alternatif olarak, dosyalar zaman damgalarını, sahipliğini, modları vb. Koruma seçeneği ve AppArmor ve SELinux tarafından kullanılan güvenlik etiketleri gibi genişletilmiş öznitelikleri koruma seçeneği rsyncile kopyalanabilir :-a, --archive-X, --xattrs

sudo rsync -raX /var/ /var.new/

Dosya sistemi tablosunu güncelleme

/varAşağıdaki satırı ekleyerek yeni dosya sistemini yeni bir bağlama noktası olarak kullanılacak şekilde yapılandırın /etc/fstab. Belirli bir yeniden başlatmanın ardından 0dosya sisteminin otomatik olarak kontrol edilmemesi ( fsck) için geçiş numarası (son alan) olarak kullanıldığını unutmayın .

/dev/mapper/VolGroup00-var    /var    ext4  defaults  0 0

Tek kullanıcı moduna geçmek mümkün olmadığından, bu yeni birimi kullanmak için bilgisayarı yeniden başlatın /var.

Geçici bağlama noktasını kaldır

Makine yeniden başlatıldıktan sonra yeni dosya sistemi /var, geçici bağlama noktasının güvenli bir şekilde kaldırılabilmesi için üzerine kurulur:

sudo rmdir /var.new

Kök dosya sisteminden disk alanını kurtarma

Eski /vardosyalar yine de kök bölümünde yer kaplayacak, ancak başka bir dosya sistemi takılıyken kolayca erişilemezler /var( /vardizini bağlama noktası olarak kullanan yeni dosya sistemi tarafından “maskelenir” ). Özgün /vardizinin içeriğinin alternatif bir yolla kullanılabilmesi için kök dosya sistemini bağlamak üzere geçici bir bağlama noktası kullanın .

    sudo mkdir /old-root
    sudo mount /dev/mapper/VolGroup00-root /old-root/
    sudo rm -rf /old-root/var/*
    sudo umount /old-root/
    sudo rmdir /old-root/

İlgili seçeneklerin güzel açıklaması. Ancak, kullanmak lvcreateve mkfs.ext4ya neden kullanılır olduğu açıklanmadan. Belki de bunun cevabın ana konusu olmadığı için yeni bölümü yapmak olduğunu söyleyebilirsiniz.
PhoneixS

@PhoneixS geri bildirimi için teşekkür ederiz Cevabı daha açık hale getirmek ve ek bağlamsal bilgiler sağlamak için düzenledim.
Anthony Geoghegan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.