MacOS’te Lima ile İzole Ubuntu Sanal Makine Kurulumu: Adım Adım Rehber (Apple Silicon)
Anasayfa / Blog / Development

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.
    • location alanı mutlaka .img uzantılı doğrudan imaj dosyasına işaret etmelidir.
    • Başarısız denemeden sonra oluşan lima.REJECTED.yaml dosyası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 -m Apple 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.

    Paylaş
    ← Önceki
    Warp Terminal Nedir? macOS’te Kurulum, Blocks, Warp Drive ve Yapay Zekâ Özellikleri Rehberi
    Sonraki →
    Yerel SEO Rehberi: Google’da Yakınınızdaki Müşterilere Ulaşmanın Yolları

    İlgili Yazılar

    Warp Terminal Nedir? macOS’te Kurulum, Blocks, Warp Drive ve Yapay Zekâ Özellikleri Rehberi
    Development
    Warp Terminal Nedir? macOS’te Kurulum, Blocks, Warp Drive ve Yapay Zekâ Özellikleri Rehberi

    Warp terminal nedir, nasıl kurulur, Blocks ve Warp Drive ne işe yarar? Yapay zekâ özelliklerini, gizlilik ayarlarını ve Lima ile kullanımı adım adım anlatan kapsamlı Warp rehberi.

    Kurumsal Web Site Tasarımı: Güven Veren ve Müşteri Kazandıran Web Sitesi Rehberi
    Web Design & Digital Strategy
    Kurumsal Web Site Tasarımı: Güven Veren ve Müşteri Kazandıran Web Sitesi Rehberi

    Kurumsal web sitesi tasarlarken doğru yapıyı kurun: marka kimliği, kullanıcı deneyimi, mobil uyum, içerik, SEO, erişilebilirlik ve dönüşüm odaklı tasarım için kapsamlı rehber.

    SEO Optimizasyonu
    Digital Strategy
    SEO Optimizasyonu

    SEO optimizasyonu ile web sitenizin arama motorlarında daha kolay bulunmasına yardımcı olun. İçerik, teknik yapı, sayfa deneyimi ve ölçümleme için uygulanabilir adımları keşfedin.