Sanal sunucuya istenilen işletim sistemini kurma

2024-12-31

Birçok VPS sağlayıcısı özel sistem imajı yüklemeye izin vermiyor. Çoğunlukla Debian ve Red Hat ailesinin dışındaki sistemleri de ellerinde bulundurmuyorlar.

Bunu, kurulu olan bir linux sistem çalışır vaziyetteyken istediğimiz sistem imajını diske yazarak aşabiliriz.

Yeniden başlatma sonrasında da video konsoluna (VNC, SPICE vs.) bağlanarak yeni sistemimizin kurulumunu tamamlayabiliriz.

Eğer video konsoluna erişim mevcut değilse çeşitli otomatik kurulum araçları (cloud-init, OpenBSD autoinstall(8) vs.) ile kurulumu tamamlamak da mümkün.

Herhangi bir Linux dağıtımı ile gelmiş olan sunucumuza SSH, VNC vs. üzerinden bağlanıyoruz.

$ ssh debian@vps-00000000.vps.ovh.ca

Kurmak istediğimiz sistemin .iso (OpenBSD ise .img) dosyasını sunucuya indiriyoruz.

$ curl "https://cdn.openbsd.org/pub/OpenBSD/7.6/amd64/install76.img" \
    > /dev/shm/openbsd.img

/dev/shm, genellikle mevcut RAM’in %50’sini kullanabilir. İndirilecek imaj bundan daha büyükse:

  1. mount -o remount,size=1G /dev/shm komutu ile bu alan büyütülebilir.
  2. Sunucuyu ‘resize’ etmeye imkan tanıyan bir sağlayıcı ise kurulum tamamlanana kadar RAM miktarı artırılabilir.

OpenBSD’nin cd*.img (yani file set’leri dahil edilmemiş) imajı bu yöntemde boot etmiyor, neden bilmiyorum. install*.img imajını kullanmak gerekiyor. Kurulumda diskleri biçimlendirince file set’leri kullanamıyoruz, yine internetten edinmek gerekiyor.

Veri bütünlüğünü sağlamak için tüm dosya sistemlerini salt okunur (read-only) moda alıyoruz. Yani biz imajı RAM’den diske yazmaya başladıktan sonra herhangi bir program diske bir şey yazıp imajımızı çöp etmesin.

$ echo 'u' > /proc/sysrq-trigger

Sistem imajını sabit diske yazdırıyoruz.

$ dd if=/dev/shm/openbsd.img of=/dev/sda bs=4M status=progress

reboot komutu da dahil herhangi bir komut muhtemelen çalışmayacaktır. Sunucunun yönetim panelinden yeniden başlatmak gerekiyor. “Force power off” gibi bir seçenek var ise işimizi hızlandıracaktır.

Yeniden başlatılan sunucuya video konsolu üzerinden bağlanıp kurulumu bitiriyoruz.


Written by opsecfail (Mehmet Salih Erken)
Return to home page