İçeriğe geç

Ürün belgeleriArm64 sunucular

Arm64 VPS ve VDS: başlangıç ve yazılım uyumluluğu

64 bit Arm sunucuda başlayın: mimariyi kontrol edin, arm64 paket ve imajları kurun, x86 imajlarını emülasyonla çalıştırın, exec format hatasını düzeltin.

  • Başlangıç
  • 15 dk okuma
  • Güncellendi
Bu sayfada
  1. Başlamadan önce
  2. 1. adım: Mimariyi kontrol edin
  3. 2. adım: Yazılım kurun
  4. 3. adım: Docker'ı arm64 imajlarıyla kullanın
  5. 4. adım: Yalnızca amd64 olan imajları emülasyonla çalıştırın (gerektiğinde)
  6. Arm64 VDS: kendi sanal makineleriniz
  7. Sorun giderme
  8. Sonraki adımlar

Arm64 VPS veya Arm64 VDS, 64 bit Arm (AArch64) işlemcili ve tam root erişimli bir sanal sunucudur. Ona diğer Linux sunucularla tamamen aynı şekilde bağlanır, onu güvenli hale getirir ve yönetirsiniz (SSH ile bağlanma, yeni bir Linux sunucuyu güvenli hale getirme). Fark işlemci mimarisindedir: çalıştırdığınız her program arm64 için derlenmiş olmalıdır. Bu rehber bunu nasıl kontrol edeceğinizi ve yazılım yalnızca x86 için varsa ne yapacağınızı gösterir.

Başlamadan önce

  • Sipariş formunda listelenen işletim sistemlerinden biriyle bir Arm64 VPS veya VDS ve root ya da sudo yetkili bir kullanıcıyla SSH erişimi.

1. adım: Mimariyi kontrol edin

Bash
uname -m
dpkg --print-architecture

Ubuntu ve Debian'da aarch64 ve arm64 görürsünüz. AlmaLinux ve Rocky Linux'ta da uname -m aarch64 yazar.

2. adım: Yazılım kurun

  • Dağıtım paketleri arm64 depolarından otomatik gelir: sudo apt install nginx arm64 yapısını kurar.
  • Üretici indirmeleri: amd64, x86_64 veya x64 değil, arm64, aarch64 ya da linux-arm64 olarak işaretli dosyayı seçin.
  • Node.js, Python, Go, Java, .NET, PHP ve Rust gibi dil çalışma zamanları arm64 için mevcuttur. Yerel kod içeren paketler (Python wheel'leri, Node eklentileri) bir arm64 yapısı gerektirir ya da kurulum sırasında derlenir; bunun için derleme araçları gerekir: sudo apt install build-essential.

Bir ikili dosyaya güvenmeden önce doğrulayın:

Bash
file /usr/local/bin/mytool

Çıktı yerel bir arm64 ikili dosyası için ARM aarch64 adını verir.

3. adım: Docker'ı arm64 imajlarıyla kullanın

Docker Engine'i Docker'ın deposundan x86'daki gibi kurun (Ubuntu'ya Docker kurma); Docker arm64 paketleri yayımlar. Bir imajın hangi platformlar için yayımlandığını kontrol edin:

Bash
docker buildx imagetools inspect nginx:latest

Liste linux/amd64 ve linux/arm64 gibi girdiler gösterir. linux/arm64 listelenmişse docker pull onu otomatik seçer.

4. adım: Yalnızca amd64 olan imajları emülasyonla çalıştırın (gerektiğinde)

Yalnızca amd64 için var olan bir imaj için QEMU emülatörlerini çekirdeğe kaydedin, ardından platformu açıkça isteyin:

Bash
docker run --privileged --rm tonistiigi/binfmt --install all
docker run --rm --platform linux/amd64 alpine uname -m

İkinci komut emüle edilen bir konteynerin içinden x86_64 yazar. Emülasyon ara sıra kullanılan araçlar ve derleme adımları için çalışır, ama yerel koddan çok daha yavaştır; gün boyu çalışan her şey için bir arm64 imajı kullanın veya imajı yeniden derleyin (çok mimarili Docker imajları).

Emülatör kaydı her sistemde yeniden başlatmadan sonra korunmaz; yeniden başlatmadan sonra amd64 konteynerleri başlamıyorsa ilk komutu yeniden çalıştırın.

Arm64 VDS: kendi sanal makineleriniz

Arm64 VDS iç içe sanallaştırma ekler. Üzerindeki KVM 64 bit Arm konukları çalıştırır; onlar için Ubuntu'nun arm64 bulut imajı gibi arm64 imajlarını, Arm sistem emülatörü paketini (qemu-system-arm) ve Arm konukları için UEFI donanım yazılımını (Ubuntu ve Debian'da qemu-efi-aarch64) kullanın. libvirt iş akışı libvirt ile KVM sanal makineleri rehberindekiyle aynıdır.

Sorun giderme

exec format error. Başka bir mimari için derlenmiş bir ikili dosya veya konteyner başlattınız. Bunu file (ikili dosyalar) veya docker image inspect --format '{{.Architecture}}' imaj (imajlar) ile kontrol edin, ardından arm64 yapısını kurun.

no matching manifest for linux/arm64/v8 in the manifest list entries. İmajın arm64 varyantı yok. Alternatif bir imaj arayın, kendinizinkini derleyin veya 4. adımdaki gibi emülasyonla çalıştırın.

pip install uzun süre derliyor veya başarısız oluyor. O paket sürümü için arm64 wheel yok, bu yüzden pip onu kaynaktan derliyor. build-essential ile hatanın adını verdiği -dev paketlerini kurun veya arm64 wheel'i olan bir sürüm seçin.

Bir üreticinin kurulum betiği "unsupported architecture" ile duruyor. Üretici arm64 yapısı yayımlamıyor. Üreticiye sorun veya o bileşeni bir x86 sunucuda çalıştırın.

Sonraki adımlar

Sık sorulan sorular

Arm64, AArch64 ve ARM64 aynı şey mi?

Evet. AArch64, Arm'ın 64 bit yürütme durumunun adıdır; Linux uname -m çıktısında aarch64 gösterir; Debian, Ubuntu ve Docker aynı mimariye arm64 der.

Docker imajlarım çalışır mı?

Resmi ve popüler imajlar genellikle birkaç mimari için yayımlanır ve Docker arm64 varyantını otomatik çeker. Yalnızca amd64 için yayımlanan imajlar emülasyon veya arm64 için yeniden derleme gerektirir.

x86 programları çalıştırabilir miyim?

Yerel olarak hayır. amd64 için derlenmiş konteynerler QEMU emülasyonuyla çalışabilir; bu ara sıra kullanılan araçlar için uygundur ama yerel koddan çok daha yavaştır. Üretim için arm64 yapıları veya bir x86 sunucu kullanın.

Arm64 VDS ne ekler?

İç içe sanallaştırma: sunucunun içinde kendi 64 bit Arm sanal makinelerinizi çalıştırabilirsiniz; örneğin her derleme için temiz bir sanal makine.

Şifre Oluştur

Lütfen onaylayın