MacOS’te Lima ile İzole Ubuntu Sanal Makine Kurulumu: Adım Adım Rehber (Apple Silicon)
Mac’inizi kirletmeden Ubuntu 24.04 çalıştırın: Lima ile izole sanal makine kurulumu, doğru YAML yapılandırması, başlatma-durdurma komutları, Nginx denemesi ve SSH tüneli.
İçindekiler 0
Yeni bir yazılımı denemek, şüpheli bir script’i çalıştırmak veya Linux öğrenmek istediğinizde Mac’inizin ana sistemini riske atmak istemezsiniz. Çözüm, Mac’ten ayrı çalışan hafif bir Linux sanal makinesidir. Lima, macOS üzerinde terminalden tek komutla Linux sanal makineleri oluşturmanıza yardımcı olan açık kaynaklı bir araçtır. Bu rehberde Apple Silicon (M1, M2, M3, M4) bir Mac’te Lima ile izole Ubuntu 24.04 sanal makinesi kurmayı, başlatıp kapatmayı, içinde Nginx çalıştırmayı ve dosya aktarmayı adım adım anlatıyoruz. Ayrıca kurulum sırasında yapılan gerçek bir hatayı ve çözümünü de paylaşıyoruz.
1Lima Nedir ve Neden Kullanılır?
Lima, macOS’te Linux sanal makineleri çalıştıran bir komut satırı aracıdır. Apple Silicon Mac’lerde Apple’ın yerel sanallaştırma altyapısını (vz, yani Virtualization.framework) kullanabildiği için hafif ve hızlı çalışır. Grafik arayüz yerine terminal odaklı olduğu için geliştiriciler ve Linux öğrenenler için pratik bir seçenektir.
- Mac’i kirletmez: Paketler, servisler ve denemeler sanal makinenin içinde kalır.
- Kolay silinir: Sistemi bozarsanız tek komutla silip yeniden kurarsınız.
- Yapılandırma dosyasıyla yönetilir: Tek bir YAML dosyası kurulumu tekrarlanabilir hâle getirir.
- İzolasyon ayarlanabilir: Mac klasörlerinin bağlanması ve port yönlendirme kapatılabilir.
İzole bir sanal makinenin amacı, denemeleri güvenle yapmak ve bir şey ters giderse tek komutla sıfırdan başlayabilmektir.
2Başlamadan Önce Gerekenler
- macOS çalışan bir Mac (bu rehber Apple Silicon üzerinde denenmiştir).
- Homebrew paket yöneticisi.
- Yaklaşık 5-6 GB boş disk alanı (imaj indirme ve 20 GB’a kadar büyüyebilen sanal disk için daha fazlası iyi olur).
- İnternet bağlantısı (Ubuntu imajı yaklaşık 590 MB indirilir).
3Lima’yı Kurun ve Eski Kalıntıları Temizleyin
Terminali açın ve Lima’yı Homebrew ile kurun veya güncelleyin:
brew install lima
brew upgrade lima
limactl --version
Daha önce başarısız bir deneme yaptıysanız kalıntıları temizleyin:
limactl delete -f izole-ubuntu 2>/dev/null
rm -f ~/lima.REJECTED.yaml ~/izole-linux.yaml
Bu adım özellikle yarım kalmış kurulumlarda kilitli dosya veya eski yapılandırma kaynaklı sorunları önler.
4Doğru YAML Yapılandırma Dosyasını Oluşturun
Lima, sanal makineyi bir YAML dosyasından kurar. Aşağıdaki yapılandırma Ubuntu 24.04 bulut imajını kullanır, Mac klasörlerini bağlamaz ve otomatik port yönlendirmeyi kapatır:
cat << 'EOF' > ~/izole-linux.yaml
vmType: "vz"
images:
- location: "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img"
arch: "aarch64"
- location: "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img"
arch: "x86_64"
cpus: 2
memory: "2GiB"
disk: "20GiB"
# Izolasyon: Mac klasorleri baglanmaz
mounts: []
# Izolasyon: otomatik port yonlendirmeleri kapatilir
portForwards:
- guestPortRange: [1, 65535]
ignore: true
containerd:
system: false
user: false
EOF
Önemli alanların anlamı:
- vmType: "vz": macOS’in yerel sanallaştırma altyapısını kullanır.
- images: İşlemci mimarisine göre doğru Ubuntu bulut imajı seçilir. Lima uygun olanı otomatik kullanır.
- cpus, memory, disk: Sanal makineye ayrılan kaynaklardır.
- mounts: []: Sanal makinenin Mac dosyalarına erişimini kapatır.
- portForwards: Sanal makinedeki servislerin Mac portlarına otomatik açılmasını engeller.
5Sanal Makineyi Oluşturun ve Başlatın
limactl start --name=izole-ubuntu --tty=false ~/izole-linux.yaml
--tty=false parametresi, etkileşimli menüyü atlayıp kurulumu doğrudan başlatır. İlk çalıştırmada imaj indirilir ve diske dönüştürülür; ardından logda şuna benzer bir satır görürsünüz:
READY. Run `limactl shell izole-ubuntu` to open the shell.
Durumu kontrol etmek için:
limactl list
Çıktıda izole-ubuntu satırının durumu Running olmalıdır.
6Kurulumda Yapılan Yaygın Hata: Yanlış İmaj Linki
Bu rehberin hazırlandığı kurulumda ilk deneme başarısız oldu. Sebep, YAML dosyasındaki location alanına imaj yerine https://ubuntu.com ana sayfasının yazılmasıydı. Lima yalnızca yaklaşık 184 KiB’lık bir web sayfası indirdi ve sanal makine hemen durdu; logda vm state change: stopped ifadesi göründü.
- İndirme boyutu KiB düzeyindeyse imaj yanlıştır. Gerçek Ubuntu imajı yaklaşık 590 MiB’dır.
locationalanı mutlaka.imguzantılı doğrudan imaj dosyasına işaret etmelidir.- Başarısız denemeden sonra oluşan
lima.REJECTED.yamldosyasını ve bozuk makineyi silip baştan başlayın.
7Sanal Makineye Girin ve Doğrulayın
limactl shell izole-ubuntu
Prompt mertali@lima-izole-ubuntu:~$ gibi bir biçime dönüştüyse artık Mac’te değil, sanal makinenin içindesiniz. Kontrol için şu komutları çalıştırın:
cat /etc/os-release | head -n 4
uname -m
mount | grep -i virtiofs || echo "Mac klasörü bağlı değil"
- İlk komut Ubuntu 24.04 bilgisini göstermelidir.
uname -mApple Silicon’da aarch64 döndürmelidir.- Üçüncü komut “Mac klasörü bağlı değil” yazmalıdır.
İlk iş olarak sistemi güncelleyin:
sudo apt update && sudo apt upgrade -y
8Sanal Makineyi Başlatma, Durdurma ve Silme
Bu komutların hepsi Mac terminalinden çalıştırılır:
# Başlat
limactl start izole-ubuntu
# Durumu gör
limactl list
# İçine gir
limactl shell izole-ubuntu
# Sanal makineden çık (VM çalışmaya devam eder)
exit
# Düzgünce durdur
limactl stop izole-ubuntu
# Takılırsa zorla durdur
limactl stop -f izole-ubuntu
# Tamamen sil
limactl delete -f izole-ubuntu
- exit yalnızca oturumdan çıkarır; sanal makine arka planda çalışıp RAM harcamaya devam eder.
- İşiniz bitince limactl stop ile kapatın.
- Mac’i yeniden başlatırsanız sanal makine kapalı kalır; limactl start ile kaldığınız yerden devam edersiniz.
9İlk Uygulama: Nginx ile Web Sitesi Çalıştırın
Sanal makinenin içindeyken Nginx’i kurun ve basit bir sayfa oluşturun:
sudo apt install -y nginx
sudo systemctl enable --now nginx
systemctl status nginx --no-pager
echo '<h1>Merhaba Lima!</h1>' | sudo tee /var/www/html/index.html
curl http://localhost
curl çıktısında yazdığınız başlığı görüyorsanız Nginx çalışıyor demektir. Port yönlendirme kapalı olduğu için bu siteye Mac tarayıcınızdan doğrudan erişemezsiniz; bunun için bir sonraki bölümdeki yöntemi kullanın.
10İzolasyonu Bozmadan Tarayıcıdan Görmek: SSH Tüneli
Port yönlendirmeyi açmak yerine geçici bir SSH tüneli kurabilirsiniz. Mac’te yeni bir terminal sekmesi açın:
ssh -F ~/.lima/izole-ubuntu/ssh.config -L 8080:localhost:80 lima-izole-ubuntu
Ardından tarayıcıda http://localhost:8080 adresine gidin. Tüneli kapatmak için o terminalde exit yazmanız yeterlidir. Böylece sanal makinenin kalıcı olarak Mac’e açılmasına gerek kalmaz.
11Mac ile Sanal Makine Arasında Dosya Aktarımı
Mac klasörleri bağlı olmadığı için dosyaları limactl copy ile taşırsınız:
# Mac'ten sanal makineye
limactl copy dosya.txt izole-ubuntu:~/
# Sanal makineden Mac'e
limactl copy izole-ubuntu:~/dosya.txt ~/Desktop/
Bu yaklaşım, aktarımı bilinçli ve kontrollü bir işlem hâline getirir.
12Yedek Alın ve İzolasyonun Sınırlarını Bilin
Riskli bir deneme yapmadan önce sanal makinenin kopyasını alabilirsiniz:
limactl stop izole-ubuntu
limactl clone izole-ubuntu yedek-ubuntu
limactl start izole-ubuntu
İzolasyon konusunda gerçekçi olmak önemlidir:
- Bu kurulum Mac klasörlerini bağlamaz ve otomatik port yönlendirmeyi kapatır; günlük denemeler için güçlü bir ayrım sağlar.
- Lima bazı varsayılan davranışları sürdürebilir. Örneğin başlangıç loglarında mDNS için UDP 5353 yönlendirmesi görülebilir.
- İzolasyon mutlak değildir. Gerçekten tehlikeli zararlı yazılım analizi gibi işler için ek önlemler almalı ve uzman kaynaklara başvurmalısınız.
- Sanal makine internete çıkabilir; içine kurduğunuz yazılımların güvenliği sizin sorumluluğunuzdadır.
?Sıkça Sorulan Sorular
Lima nedir?
Lima, macOS üzerinde komut satırından Linux sanal makineleri oluşturup yöneten açık kaynaklı bir araçtır. Yapılandırma bir YAML dosyasıyla tanımlanır ve makineler limactl komutuyla yönetilir.
Lima Intel Mac’lerde de çalışır mı?
Evet, yapılandırmadaki x86_64 imaj satırı bunun için vardır. Bu rehberdeki kurulum Apple Silicon üzerinde denenmiştir; Intel Mac’lerde sürüm ve vmType desteğini kontrol etmeniz iyi olur.
İndirilen imaj neden sadece birkaç yüz KiB oldu?
Büyük olasılıkla location alanına imaj yerine bir web sayfası adresi yazılmıştır. Doğru Ubuntu bulut imajı yaklaşık 590 MiB boyutundadır ve link .img dosyasına işaret etmelidir.
Sanal makine içinden Mac dosyalarıma erişilebilir mi?
Bu yapılandırmada hayır. mounts: [] ayarı Mac klasörlerinin bağlanmasını engeller. Dosya taşımak için limactl copy kullanılır.
Sanal makineyi nasıl tamamen silerim?
Önce gerekiyorsa durdurun, ardından limactl delete -f izole-ubuntu komutunu çalıştırın. YAML dosyanız duruyorsa aynı kurulumu dakikalar içinde yeniden yapabilirsiniz.
Sanal makineyi kapatmazsam ne olur?
exit yalnızca oturumu kapatır; sanal makine çalışmaya ve RAM kullanmaya devam eder. İşiniz bitince limactl stop izole-ubuntu ile kapatmanız önerilir.
Web sitemi Mac tarayıcısında nasıl görürüm?
Port yönlendirmeyi açmak yerine SSH tüneli kullanabilirsiniz. Tünel açıkken sanal makinedeki 80. porta Mac’te localhost:8080 adresinden ulaşılır.
✦Sonuç
Lima ile Mac’inizin içinde izole, silinmesi kolay ve tekrar kurulabilir bir Ubuntu ortamı elde edersiniz. Doğru imaj linkini kullanın, kurulumu limactl list ile doğrulayın, işiniz bitince makineyi durdurun ve riskli denemelerden önce yedek alın. İzolasyonun sınırlarını bilerek çalışırsanız bu yapı; Linux öğrenmek, web sunucusu denemek ve yeni araçları güvenle test etmek için pratik bir laboratuvar olur. Şimdi YAML dosyanızı oluşturun ve ilk sanal makinenizi başlatın.