Rehber Distrobox ile bütün dağıtımları Linux makinenizde kullanın!

Bugün sizlerle temel olarak Distrobox nasıl kullanılır buna bakacağız.

"Neden kullanayım ki? Ne işime yarayacak?" diyebilirsiniz.
Kullanmanız için çok nedeni var fakat biz bugün temel bir bölümünü göreceğiz. Hazırsanız başlayalım.

Öncelikle Distrobox kullanmak için Docker veya Podman'in sisteminizde kurulu olması gerek. Çünkü container sistemi ile çalışacağız. Benim bu noktada size tavsiyem Podman kullanmanızdır. Docker'ın yapabildiği işlemleri yapıyor ve bunun için root yetkileri gerekmiyor. Her şey kullanıcının $HOME dizini içerisinde gerçekleşiyor. Ayrıca Podman kullanmak için Docker'da olduğu gibi bir servis ayağa kaldırmanız gerekmiyor. Direkt kullanmaya başlıyorsunuz.

Şimdi sistemimizde Podman veya Docker yüklü, ne yapacağız? Elbette bir imaja ihtiyacımız var.
Burada çoğu Linux dağıtımı yer alıyor fakat siz dilerseniz Docker veya Podman kullanırken çektiğiniz Linux dağıtımlarının container imajını kullanabilirsiniz.
İmaj çekmek için:
Bash:
# Podman için
podman pull image_name

# Docker için
docker pull image_name
Mesela HubDocker üzerinden imaj çekmek istiyorsunuz fakat Podman bunu görmüyor. Bu imajları URL yoluyla çekmelisiniz. Mesela:
Kod:
podman pull docker.io/library/archlinux:latest
Çoğu imaj Podman tarafından tanınıyor. Bunun sayesinde URL ile fazla işiniz olmayacak.
Nelerin olduğunu görmek için /etc/containers/registries.conf.d/00-shortnames.conf dosyasına bakabilirsiniz.

Tamam, imajı çektik. Sırada ne var?
Uygulamaların arayüzüne erişmek için şu iki komutu çalıştırmanız daha iyi olur:
Bash:
xhost +si:localuser:$USERNAME
xhost +si:localuser:root

Sırada Distrobox kullanımı var. Temel kurulum bu komutta olduğu gibi. Buna --root eklerseniz root yetkileri olacağından Container sistemin neredeyse tüm kaynaklarına erişebilir olacak.
Bash:
# distrobox = Ana komutumuz.
# create = Distrobox containerı oluşturmak için kullanıyoruz.
# -n = --name kısaltmasıdır. Distrobox Containera ad verilir.
# -i = --image kısaltmasıdır. Kullanılacak imaj belirtilir.
# --home = Host sistem ile paylaşılacak olan konumu belirtir.
distrobox create -n distrobox_container_name -i image_name:tag --home /path/to/home/folder/container
# Opsiyonel:
distrobox create -n distrobox_container_name -i image_name:tag --home /path/to/home/folder/container --root

Ben kullanırken $HOME dizinime .distrobox klasörü oluşturup içerisine kuracağım container ismini girip klasörü o şekilde belirliyorum. Siz bunu dilediğiniz gibi değiştirebilirsiniz.




Bir hata olmadıysa bu şekilde kurulmuş olması gerek. Podman'i yükledikten hemen sonra bu adımları uyguluyorsanız ve hata aldıysanız sistemi yeniden başlatıp tekrar deneyin. Muhtemelen sorununuz çözülmüş olacak ve container oluşacaktır.

Daha sonra bu containerın içine giriyoruz. Komutu da vermiş zaten çıktımız.
Bash:
# enter = Distrobox komutunun giriş argümanı.
distrobox enter distrobox_container_name



"Hocam kaldı bu böyle. Ne yapacağız?"
Distrobox size bir mesaj atmış. Dikkatli bakın:
Bash:
# Docker için
docker logs -f distrobox_container_name
# Podman için
podman logs -f distrobox_container_name
Bu şekilde container kurulum esnasında neler yapıyor bunlara bakabilirsiniz.



Sondaki + set +x yazısını gördükten sonra burayı kapatabilirsiniz.
Bu arada, bu ikinci komutu ilk terminal açık durumdayken yazacaksınız. Diğer terminali kapatmayın.



Şu an $HOME dizinim container ile paylaşılıyor. Container bu dosyalara erişebilir vaziyette.
Peki şimdi ne yapalım? Hemen birkaç ayarlama elbette.


Container sizin varsayılan kabuğunuza göre kabuk seçip indiriyor. Örneğin benim varsayılan kabuğum zsh olduğu için varsayılan olarak zsh kurdu.
Ve gördüğünüz üzere RPM kullanan Fedora 37 Container Image karşınızda!

Container sisteminin en büyük avantajlarından biri yüksek kaynak tüketimine sahip olmaması. Sizin kullandığınız Linux kerneli ile sistem çalışıyor. Gördüğünüz üzere neofetch çıktısında kernel sürümü Zen Kernel olarak gözüküyor.

Mesela şimdi Fedora üzerinden Chromium çalıştıralım.



Gördüğünüz gibi Chromium, Fedora içinden çalışıyor.
Bu Chromium'u ana makine üzerinden erişilebilir hâle getirebilirsiniz. Ayrıca terminale gerek kalmadan direkt uygulama görünümünde.
Container içinde çalıştıracağımız komut:
Bash:
# -a = Dışarı aktaracağımız komutu belirtiyoruz.
distrobox-export -a command_name



Ve bu şekilde dışarı aktarmış olduk. Bu aktarmalar $HOME/.local/share/applications dizinine kaydediliyor. Oradan kontrol edebilirsiniz.



Gördüğünüz gibi bu şekilde.
"Ben artık görmek istemiyorum. Ne yapacağım?"
Ya bu dosyayı silersiniz ya da Container içine gelip:
Bash:
# -d = --delete kısaltmasıdır. Kaldırmak için kullanılır.
distrobox-export -a command_name -d



Komutu girdikten sonra artık gördüğünüz gibi dosya burada bulunmuyor.
Container kurulum aşamasında komutun sonuna --root argümanını eklerseniz çoğu çalışmayan uygulama çalışmaya başlayacaktır.
Mesela nmap programı. Eğer --root argümanı olmadan alacağınız hata şudur:


Gördüğünüz gibi. Ama kurulumda --root argümanını eklerseniz bu hatayı almazsınız ve dümdüz taramaya başlar.

Ayrıca şöyle bir tüyo vereyim. Container içerisinden oyun oynayabilirsiniz. Teknik olarak mümkün.



Yine bu Container içerisinde Arch Linux var. İstersem Kali Linux toollarını dilediğim gibi kullanabilirim, istersem oyun oynayabilirim. Dead Cells çalışıyor. Herhangi bir FPS kaybı söz konusu değil.



Şu şekilde göstermiş olayım.
Steam üzerinden Black Mesa oynamayı denedim ama açılıyor gibi gözüküp açılmıyordu. Onu mecburen ana sisteme taşıdım.

Sizde kullandığınız dağıtımlar içerisinde çeşitli dağıtımların kaynağını bu şekilde kullanabilir ve faydalanabilirsiniz.
Bu proje hakkında okumanız gereken birkaç adres bırakıyorum. Daha fazla bilgi mevcut çünkü. Yeni şeyler öğrenip amaçlarınız doğrultusunda kullanabilirsiniz böylece.

Bir başka rehberde görüşmek üzere, kendinize iyi bakın.
 
Son düzenleme:
Ellerine sağlık.

"Error: kernel does not support overlay fs: 'overlay' is not supported over extfs at "/home/veysel/.local/share/containers/storage/overlay": backing file system is unsupported for this graph driver"

Bu hatayı aldım.

@Kernelginar
 
Son düzenleme:
Bu Linux'un başka dağıtım ya da işletim sistemi uygulamalarını çalıştırması olayına bayılıyorum. Biraz zaman ayıran birisi bilgisayarını hem Windows hem Android hem de diğer Linux dağıtımlarından uygulamalar çalıştırabilen bir canava dönüştürebiliyor. Ve bunu emülasyon yapmadan yapabiliyor.
 
Şimdi benim şuanki sistemimde Flatpack yokta distrobox ile Flatpack kullanabilirmiyim ?
Not:Konuyla alakasız ama sonradan Flatpack kurulabiliyorsa onuda söylerseniz sevinirim sistemim Debian.
 
Şimdi benim şu anki sistemimde flatpack yokta distrobox ile flatpack kullanabilir miyim?
Not: Konuyla alakasız ama sonradan flatpack kurulabiliyorsa onu da söylerseniz sevinirim sistemim Debian.

Flatpak yüklemek için Distrobox kurmanıza gerek yok. Distrobox'un amacı bu değil.

Flatpak'i GNOME software veya Discover gib yazılım mağazalarından aktif edebilirsiniz. Veya sitesindeki komutları takip ederek yükleyebilirsiniz. Onun dışında Linux assistant indirip te yükleyebilirsiniz.

Flatpak hakkında detaylı bilgi edinmek isterseniz rehberime bakabilirsiniz.

Flatpak rehberi
 
Son düzenleyen: Moderatör:
Zaten bunu yazdıktan sonra baktım yükleyebiliyomuşuz komutla. Sormamın sebebi WattOS yükleyeyecektim ama galiba vazgeçeceğim.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…