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
Bugun sizlerle temel olarak Distrobox nasıl kullanılır buna bakacağız.
"Neden kullanayım ki? Ne işime yarayacak?" diyebilirsiniz.
Kullanmanız icin cok nedeni var fakat biz bugun temel bir bolumunu goreceğiz. Hazırsanız başlayalım.
Oncelikle Distrobox kullanmak icin Docker veya Podman'in sisteminizde kurulu olması gerek. Cunku container sistemi ile calışacağız. Benim bu noktada size tavsiyem Podman kullanmanızdır. Docker'ın yapabildiği işlemleri yapıyor ve bunun icin root yetkileri gerekmiyor. Her şey kullanıcının $HOME dizini icerisinde gercekleşiyor. Ayrıca Podman kullanmak icin Docker'da olduğu gibi bir servis ayağa kaldırmanız gerekmiyor. Direkt kullanmaya başlıyorsunuz.
Şimdi sistemimizde Podman veya Docker yuklu, 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
Burada coğu Linux dağıtımı yer alıyor fakat siz dilerseniz Docker veya Podman kullanırken cektiğiniz Linux dağıtımlarının container imajını kullanabilirsiniz.
İmaj cekmek icin:
Bash:Panoya kopyala
# Podman icin podman pull image_name # Docker icin docker pull image_name
Mesela HubDocker uzerinden imaj cekmek istiyorsunuz fakat Podman bunu gormuyor. Bu imajları URL yoluyla cekmelisiniz. Mesela:
Kod:Panoya kopyala
podman pull docker.io/library/archlinux:latest
Coğu imaj Podman tarafından tanınıyor. Bunun sayesinde URL ile fazla işiniz olmayacak.
Nelerin olduğunu gormek icin /etc/containers/registries.conf.d/00-shortnames.conf dosyasına bakabilirsiniz.
Tamam, imajı cektik. Sırada ne var?
Uygulamaların arayuzune erişmek icin şu iki komutu calıştırmanız daha iyi olur:
Bash:Panoya kopyala
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 tum kaynaklarına erişebilir olacak.
Bash:Panoya kopyala
# distrobox = Ana komutumuz. # create = Distrobox containerı oluşturmak icin 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 klasoru oluşturup icerisine kuracağım container ismini girip klasoru o şekilde belirliyorum. Siz bunu dilediğiniz gibi değiştirebilirsiniz.
Bir hata olmadıysa bu şekilde kurulmuş olması gerek. Podman'i yukledikten hemen sonra bu adımları uyguluyorsanız ve hata aldıysanız sistemi yeniden başlatıp tekrar deneyin. Muhtemelen sorununuz cozulmuş olacak ve container oluşacaktır.
Daha sonra bu containerın icine giriyoruz. Komutu da vermiş zaten cıktımız.
Bash:Panoya kopyala
# enter = Distrobox komutunun giriş argumanı. distrobox enter distrobox_container_name
"Hocam kaldı bu boyle. Ne yapacağız?"
Distrobox size bir mesaj atmış. Dikkatli bakın:
Bash:Panoya kopyala
# Docker icin docker logs -f distrobox_container_name # Podman icin podman logs -f distrobox_container_name
Bu şekilde container kurulum esnasında neler yapıyor bunlara bakabilirsiniz.
Sondaki + set +x yazısını gordukten sonra burayı kapatabilirsiniz.
Bu arada, bu ikinci komutu ilk terminal acı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 birkac ayarlama elbette.
Container sizin varsayılan kabuğunuza gore kabuk secip indiriyor. Orneğin benim varsayılan kabuğum zsh olduğu icin varsayılan olarak zsh kurdu.
Ve gorduğunuz uzere RPM kullanan Fedora 37 Container Image karşınızda!
Container sisteminin en buyuk avantajlarından biri yuksek kaynak tuketimine sahip olmaması. Sizin kullandığınız Linux kerneli ile sistem calışıyor. Gorduğunuz uzere neofetch cıktısında kernel surumu Zen Kernel olarak gozukuyor.
Mesela şimdi Fedora uzerinden Chromium calıştıralım.
Gorduğunuz gibi Chromium, Fedora icinden calışıyor.
Bu Chromium'u ana makine uzerinden erişilebilir hÂle getirebilirsiniz. Ayrıca terminale gerek kalmadan direkt uygulama gorunumunde.
Container icinde calıştıracağımız komut:
Bash:Panoya kopyala
# -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.
Gorduğunuz gibi bu şekilde.
"Ben artık gormek istemiyorum. Ne yapacağım?"
Ya bu dosyayı silersiniz ya da Container icine gelip:
Bash:Panoya kopyala
# -d = --delete kısaltmasıdır. Kaldırmak icin kullanılır. distrobox-export -a command_name -d
Komutu girdikten sonra artık gorduğunuz gibi dosya burada bulunmuyor.
Container kurulum aşamasında komutun sonuna --root argumanını eklerseniz coğu calışmayan uygulama calışmaya başlayacaktır.
Mesela nmap programı. Eğer --root argumanı olmadan alacağınız hata şudur:
Gorduğunuz gibi. Ama kurulumda --root argumanını eklerseniz bu hatayı almazsınız ve dumduz taramaya başlar.
Ayrıca şoyle bir tuyo vereyim. Container icerisinden oyun oynayabilirsiniz. Teknik olarak mumkun.
Yine bu Container icerisinde Arch Linux var. İstersem Kali Linux toollarını dilediğim gibi kullanabilirim, istersem oyun oynayabilirim. Dead Cells calışıyor. Herhangi bir FPS kaybı soz konusu değil.
Şu şekilde gostermiş olayım.
Steam uzerinden Black Mesa oynamayı denedim ama acılıyor gibi gozukup acılmıyordu. Onu mecburen ana sisteme taşıdım.
Sizde kullandığınız dağıtımlar icerisinde ceşitli dağıtımların kaynağını bu şekilde kullanabilir ve faydalanabilirsiniz.
Bu proje hakkında okumanız gereken birkac adres bırakıyorum. Daha fazla bilgi mevcut cunku. Yeni şeyler oğrenip amaclarınız doğrultusunda kullanabilirsiniz boylece.
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 goruşmek uzere, kendinize iyi bakın.