GitHub - 89luca89/distrobox: Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/
Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available...
github.com
distrobox/docs at main · 89luca89/distrobox
Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available...
github.com
distrobox/docs at main · 89luca89/distrobox
Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available...
github.com
"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.
distrobox/docs/compatibility.md at main · 89luca89/distrobox
Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available...
github.com
İmaj çekmek için:
Bash:
# Podman için
podman pull image_name
# Docker için
docker pull image_name
Kod:
podman pull docker.io/library/archlinux:latest
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
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.
distrobox/docs/compatibility.md at main · 89luca89/distrobox
Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available...
github.com
distrobox/docs/useful_tips.md at main · 89luca89/distrobox
Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available...
github.com
Bir başka rehberde görüşmek üzere, kendinize iyi bakın.
Son düzenleme: