Linux kullananlara, bilgisi olanlara bir sorum olacak:
Windows'ta C, D sürücüleri var. Ben Windows kullanırken, işletim sistemini C'de, bilgilerimi, belgelerimi D sürücüsünde bulunduruyorum. Windows çökerse sadece format atıp programları kuruyorum. Belgelerde kayıp olmuyor.
Ben bunu Linux'ta nasıl başarabilirim. C,D yok. Mesela Android Studio'da bir proje var ve üzerinde çalışıyorum. Proje dosyasını nerede oluşturmalıyım ki, sistem çöktüğünde sorunu çözemeye çalışmak yerine direkt format atayım, projeye kaldığı yerden devam edebileyim.(Format atmak, sorunu çözmekten daha kolay olduğu için.)
Home, Documents, Pictures, Videos dizinleri var ama bunlar formatta siliniyor. Bu bölüm mount etme mantığını da bir türlü anlamadım.
Bir süre bir distro kullandım. Bu süre boyunca 2 defa sistem açılamaz hale geldi. Denediğim için belge kaybı yaşamadım.
#Linux #TeknoYardım
linux'te bir klasöre bağlıyorsun diski. böylece diskin içeriği o klasörün içine girdiğinde görülür oluyor.
Mount dedikleri Bölüm eşleme bu şekilde çalışıyor o zaman.
@venovar diskler sd olarak adlandırılır linux'te. mesela iki disk bağlı, bunlardan birisi sda, öteki sdb olur. ama diyelimki sda de iki partition, sdb de üç partition var. o zaman sda için sda1 ve sda2, sdb için sdb1, sdb2 ve sdb3 olarak sistemde gözükecektir. mount komutu ile bu partition'ları bir klasöre bağlarsın. linux sistemi ile birlikte mnt isimli bir klasör default olarak gelir. mnt mount'un kısaltılmış halidir. diskleri mnt içinde yaratacağın bir klasöre bağlayabilirsin. mnt klasörü dışında başka klasörde kullalabilirsin.
mesela örnek verelim;
mkdir /mnt/deneme
mount /dev/sda1 /mnt/deneme
burada mnt içinde deneme isimli bir klasör oluşturduk ve sonra sda diskinin ilk partition'ınını (sda1) deneme isimli klasöre bağladık. deneme klasörünün içine girip ls komutunu verirsen diskin içeriğini sana listeleyecektir.
burada hangi diski bağlayacağını öğrenmek için kullanacağın komutlardan birisi lsblk dır.
ancak bu mount işi sen sistemi reboot edene kadar devam edecektir. reboot'tan sonra tüm mount edilmiş diskler kaybolacaktır. bunun kalıcı olması için fstab isimli bir dosyanın içine mount komutunu yazmamız gerekiyor.
@ronniejamesdio Mantığı kavradım gibi. Bu durumda fstab dosyasına eklemem gerekecek. Bir de kullandığım program o diske erişebilirse ve projeler üzerinde çalışabilisem istediğim olmuş olacak. Fedora 36'nın yayınlanmasını bekliyorum. O zaman test edebilirim. Sağolun.
@venovar fstab'a eklerken UUID ile eklemeni tavsiye ederim. linux her diske benzersiz bir UUID numarası verir. diskin UUID sini bulman için lsblk -f komutunu kullanırsın.
şuna benzer olacak fstab komutu;
ex4 partition'lu bir disk ise,
UUID=5741b235-77d2-8dc4-20a2-bef575df788e /mnt/deneme ext4 defaults 0 1
ntfs partition'lu bir disk ise,
UUID=5741b235-77d2-8dc4-20a2-bef575df788e /mnt/deneme ntfs-3g rw 0 1
tabi bu komutları ile kullanabileceğin bir ton parametre var, onları google'a sorup deneyerek öğrenebilirsin.
Sistemi kurarken diyelim ki disk 500 GB olsun. 150 gb C gibi düşünüp sistemin kurulacağı yer için ext4 veya btrfs bir partition oluşturup kalanını da exfat yada ntfs olarak oluşturup depo gibi kullanabilirsin. Ssd + hdd şeklinde yedekli yapıyorum eğer çift disk varsa daha kolay olur
Peki her defasında depo olanı mount ediyor musunuz? Yani doğrusu bu şekilde mi olmalı?
@venovar Evet bilgisayarı her kapatıp açtıktan sonra dolphinden depo diski tıkladığımda parola istiyor eğer o oturum için daha önce mount etmemişse soruyor. Otomatik mount yöntemleri de var ama yapmadım.
https://wiki.archlinux.org/title/fstab#Automount_with_systemd
Açıkçası home partition ayırmayı bazı dağıtımların kurulum araçları da gösteriyor. Yanılmıyorsam ubuntu veya manjaro da olması lazım home u ayırayım mı diye ama gerek duymadım. Çünkü home klasöründe ~/.local ~/.config ~/.cache ve bunun dışında bazı .x şeklinde gizli dosyaları yedeklediğinizde olay bitiyor zaten ilave olarak buraya bir disk boyutu belirleyip sınırlamak istemedim.
Sistemde sorun olunca aşağıdaki adımları yapınca format atmış gibi oluyor zaten
"mkdir ~/backup"
"mv ~/.config/chromium ~/backup/chromium"
"mv ~/.config/opera ~/backup/opera"
"mv ~/.config/vivaldi ~/backup/vivaldi"
"mv ~/.local/share/gnome-boxes ~/backup/gnome-boxes"
"rm -rf ~/bin"
"rm -rf ~/.config"
"rm -rf ~/.cache"
"rm -rf ~/.local"
"rm -rf ~/.kde4"
"rm -rf ~/.fonts"
find -type f -name ".*" | xargs rm -rf // home klasöründe çalıştırıp ilave .* gizli dosyaları siler
gibi klasörlerin yedeğini alıp
sudo snapper rollback 2 yapınca 2. snapshota dönüyor ve sistemi yeniden başlatınca diğer klasörler de oluşuyor sistem hazır hale geliyor
Arch ta sudo snapper rollback 2 çalışmıyor onun yerine snapper undochange 2..73 yapıp değişiklikleri bu şekilde geri alıyorum.
@venovar Ayrıca snapper opensuse de daha düzgün çalışıyor. Geçende snapper undochange yaparken sistemi hepten çökerttim iyice oturması lazım arch için 🙂
Cannot detect ambit since default subvolume is unknown.
bu hatayı veriyor rollback yapmıyor
@robin Bu komutlar Fedora'da da çalışır değil mi yoksa fedora için alternatiflerini mi bulmak gerekiyor?
@venovar rm komutu tüm dağıtımlarda var ancak snapper i kullanmak için disk formatı btrfs olması ve snapper paketini kurmanız gerekiyor.
Snapper hakkında bu videoya bakabilirsiniz
https://www.youtube.com/watch?v=AeU_orsOCNI
Ayrıca bu komutları vs ilk olarak virtualbox vs üzerinde sanal makine kurup onun üzerinde deneyin 🙂
@robin Anladım. Sağolun. Siz arch mı kullanıyorsunuz?
@venovar Evet arch yüklü şuan
@robin Linux kullananların çoğunluğu diğer distrolar ile başlayıp en son Arch'te karar kılıyorlarmış diye duydum. Sizde de öyle mi oldu?
@venovar Evet, 2009 civarı pardus, ubuntu vs ile başladım birçok dağıtımı denedim ama en son karar olarak arch kullanıyorum. Alternatif olarak opensuse tumbleweed var. Onun dışında başka dağıtım kurmayı düşünmüyorum. Farkları anlatayım belki sana da dağıtım seçerken faydası olur.
Neden Arch
Artı yönleri
- Rolling release (Tek başına bu madde çoğu dağıtımı direkt listeden eliyor 🙂 )
- Nvidia driver çok rahat kuruluyor ve sorun çıkartmıyor
- Gereksiz paket, program yok. Sistemi baştan aşağıya kendi seçimlerine göre kuruyorsun. (Ubuntu, fedora vb dağıtımlar bloatware denen tabirle birçok işine yaramayacak kullanmayacağın paket, program ile beraber kurulu geliyor. Arkada işine yaramayacak program gereksiz yere cpu ve ram tüketiyor.) Bu konuda opensuse ayrıca iyi. Sistemi kurarken tek tek hangi paketler olacak grafiksel olarak seçmeni sağlıyor ama yine de 1000-2000 paket arası yine oluyor.
- Docker compose python api ile değil kendi paketiyle kuruluyor. Opensuse de bir sürü python paketiyle python apisi üzerinden kurulum yapıyor.
- Mp4, html5 vs video codeclerini direkt deposunda barındırıyor. Youtube, vlc de video izlemek için ilave uğraşmaya gerek yok. Opensuse vb bazı dağıtımlar bu tarz kapalı kaynak paketleri deposunda barındırmıyor. Ayrı non-free depolardan indirmek uğraşmak gerekiyor.
- Bleeding edge tabiriyle yeni kernel güncellemesi vb herhangi bir paket güncellemesi hızlı geliyor. Fedora da rawhide vardı sanırım yada debian unstable gibi düşünebilirsin.
Neden Opensuse Tumbleweed - (Leap ubuntu gibi)
- Kendi grafiksel kurulum aracı çok iyi
- Yast efsane 🙂 Terminalde bile çalışıyor. Windows denetim masası gibi düşünebilirsin
- Btrfs ve snapper iyi çalışıyor.
Aynı yönler
- Rolling release
- Nvidia driver çok rahat kuruluyor ve sorun çıkartmıyor
Eksiler
- Video vs izlemek için packman diye depodan bazı paketler kurmak gerekiyor
- Docker compose dediğim gibi python api üzerinden çalışıyor. Archta olduğu gibi tek python paketi olup onu güncellese sorun değil. Python 3.10 için ayrı 3.9 için ayrı bir sürü python paketi var. Paket bağımlılıkları vs çok dertli.
Onun dışında arch karşısında opensusenin bir artısı yok 🙂
@venovar Dağıtım listesi için
1. Tüm dağıtım sayısı 247
2. Rolling release dağıtım sayısı 47
3. Fork olmayan rolling release dağıtım sayısı : 14
Yani topu topu 14 dağıtım arasından seçim yapmam gerekiyor 🙂
1: https://distrowatch.com/search.php?ostype=Linux&category=All&origin=All&basedon=All¬basedon=None&desktop=All&architecture=All&package=All&rolling=All&isosize=All&netinstall=All&language=All&defaultinit=All&status=Active#simple
2: https://distrowatch.com/search.php?ostype=Linux&category=All&origin=All&basedon=All¬basedon=None&desktop=All&architecture=All&package=All&rolling=Rolling&isosize=All&netinstall=All&language=All&defaultinit=All&status=Active#simple
3: https://distrowatch.com/search.php?ostype=Linux&category=All&origin=All&basedon=Independent¬basedon=None&desktop=All&architecture=All&package=All&rolling=Rolling&isosize=All&netinstall=All&language=All&defaultinit=All&status=Active#simple
@robin Baya detaylı yazmışsınız, teşekkürler. Arch kurulumu zor, aslında zor değil ama birçok noktada kullanıcının katılımı gerekiyor. Bu noktada hiç değerlendirmemiştim. Şimdi sizin yazınızdan sonra cesaret edebilirim.
@venovar Arch kurulumu için archinstall isimli programı kullanıyorum. Direkt her adımı elle yaparak da sistemi kurdum ancak çok zaman kaybı oluyor. Hala bugları vs olmasına rağmen şuan iş görüyor.
https://wiki.archlinux.org/title/Archinstall
https://github.com/archlinux/archinstall
Githubtan geliştiricisine soru sormak ve hata bildirmek için issue açmıştım yardımcı oluyorlar. Kendi discord kanalı da var oradan da yardım ediyorlar.
Kurulum yapmak için config.json ve users.json diye 2 json dosyası hazırlayıp usb diske koyuyorum.
Usbden sistem boot edince
loadkeys trq
pacman -Sy archinstall python
archinstall --config /mnt/usb/config.json --creds /mnt/usb/users.json
bu komutları yazdıktan sonra 2-3 soru soruyor disk şifreleme, mirror ülke konumu gibi ondan sonra otomatik sistemi kuruyor. 10 dk da sistem hazır 🙂
Sonrasında arch-post.sh diye bir bash script yaptım. Kde tema ayarından tut, gerekli paketleri kurmaya kadar format sonrasında yapılacakları otomatik yapıyor hala ekleme yapmaya devam ediyorum. Onun dışında yapmam gereken kısayolları tekrar ayarlamak kalıyor 🙂
@venovar Örnek json dosyaları indirip düzenleyebilirsin
https://github.com/archlinux/archinstall/blob/master/examples/config-sample.json
https://archinstall.readthedocs.io/installing/guided.html#options-for-config
https://github.com/archlinux/archinstall/blob/master/examples/creds-sample.json
https://archinstall.readthedocs.io/installing/guided.html#options-for-creds
@robin Siz baya baya bu işin içindesiniz. Arasanız bulunayacak bilgiler. Benim şu an için boyumu aşar ama neden olmasın.
@venovar Virtualbox ile deneme yapmaya başlayabilirsin. Mutlaka kendine bir not defteri ayarla. txt metin belgesi de olur excelde olur yaşadıklarını, sorunlarını mutlaka not al. Arch wiki baya yardımcı oluyor.
Sanki gerçek kullanımda o dağıtımı kullanacakmış gibi virtualboxta hazırlamaya çalış zaten artıları ve eksileri görmeye başlayacaksın ona göre dağıtımı seçip öğrenmeye devam edersin 🙂
@venovar Mümkün olduğunca her şeyi otomatize etmeye çalış 🙂 Ufak ufak scriptler hazırlaman sana yardımcı olur. Örneğin mongodb compass devamlı güncelleniyor ve tekrar tekrar kurmam gerekiyor, kendi içerisinde güncelleyicisi yok. Onu yapan ufak script hazırlayıp lazım olduğunda güncelleme var mı diye github sayfasından kontrol ediyor, istersem tekrar indirip kendisi kuruyor 🙂
Böyle bir menüsü olan ufak bash script yaptım. Aslında arkada yine paket yöneticisi veya basit komutlar çalışıyor ama tek tek yazmak yerine menüden seçeyim dedim 🙂
Main Menu
1) System update
2) Clear package cache
3) Docker system prune
4) Docker update images
5) Orphan packages
6) Show failed system services and important errors
7) Fix pacman db lock
8) Applications (Mongo db update ve kurulum komutu vs var)
9) Backup (Projelerin olduğu klasörü diğer diske yedek alma veya yedekten geri yükleme vs var)
q) Exit
@robin Blog vb. bir sayfa açsanız. Bu yazdıklarınızı oraya da yazsanız. Burada arada kaynıyor.
@venovar Şuan da kendi blog sistemimi geliştiriyorum. WordPress, Ghost gibi ama çok daha basiti. Onu bitirince ihtiyacı olanlara site yapım hizmeti vs sağlamak için alt yapı olarak kullanacağım örnek olarak da kendi sitemi yapacağım. Evet blog olarak paylaşabilirim mantıklı söylediğiniz 🙂
Ayrıca btrfs snapshot olayına bakabilirsin. Acronis ile sistem imajı almak gibi düşünebilirsin. Sistemde sorun olduğunda eski snapshot a dönüp ~/.config ve ~/.cache ~/.local vb bazı klasörleri temizleyip format atmış gibi devam edebilirsin
En yaygin yontem kurulum sirasinda iki ayri partition yapip /home dizinini ikinci partition'a atamaktir.
Butun linux dagitimlari bu yontemi desteklerler. Partition yonetim ekraninda diski 2'ye (ya da size ne kadar lazimsa) bolup, daha sonra da her partition icin bir islev secebilirsiniz. Bu kurulumda sistemde bir sorun olsa bile (ki sistemle acayip isler yapmiyorsaniz genelde yeniden kurulum gereken bir sorun olmaz) yeni kurulumda ayni duzeni secip, ev dizininizdeki verileri tutabilirsiniz.
Hali hazirda kurulu sistemde bir duzenleme yapmak istiyorsaniz alternatif bir yontem olarak diskinizde olusturacaginiz ikinci bir bolumu ya da ikinci bir diski sistemde herhangi bir dizine baglayabilirsiniz. Ikinci bolumu /media/ikinci_disk dizinine baglayabileceginiz gibi /home/USER/onemli_belgeler gibi bir dizine de baglayabilirsiniz. Bu dizine koyacaginiz dosyalar ayri bir disk bolumunde oldugu icin birinci bolumu silmeniz gerekse de veriler kalacaktir. Yeniden kurulum sonrasinda bu bolumu yeniden istediginiz bir dizine baglayip verilerinize ulasabilirsiniz.
/home dizini oluşturmayı ilk defa duyuyorum. Videolarda hep tek / dizinine kuruyorlar. Bir araştırayım. İkinci yazdığınız @ronniejamesdio nın yazığı ile aynı galiba. Görünüşe göre birden fazla yöntem var.
Kullandıkça hangisi daha uygun ise onu tercih ederim. Sağolun.
Linux dağıtımları live USB ile kurulum öncesi açıldığı için veri kaybı daha zor. Bu yüzden yedek PC yok ise bir linux isosunu usbde bulundurmakta fayda var.
Live Usb ile, çöken sistemin içindeki dosyalara erişebilir miyim?
@venovar sudo rm -r * tarzında bir kodu çalıştırıp sistemi silmediysen evet.
@trbasoglu1996 Forumlarda çözüm ararken birçok kod yazıyorlar. Mecburen denemek gerekiyor. Bu tarz bir kodu girmemeliyim o zaman. Live usb yöntemini öğrendiğim iyi oldu. Sağolun.
@venovar
Sudo: yetki verir
rm: siler
-r: recursive, yine eli olarak işlem yapılacağı belirtir.
*: * Burada herşeyi kapsar. *.png dersek .png ile biten tüm veriyi işaret eder.
Temel linux terminali 1-2 saatda kavranabilir. Toplam 20-30 sık kullanılan komut var zaten.
İngilizce varsa 'man komut' yada 'komut ---help' ile bilgi alabilirsiniz.
/home dizinini farklı bir partition yaparsan format atarken /home dizinini formatlamana gerek yok.
Evet, yukarıda @dirigeant da yazmış bu yöntemi. Sağolun.
@venovar aynen ben de diyecektim ama demişler. Format atmana gerek yok ama üzerine kullanırsan bazı sıkıntılar çıkabilir deniyor.
@ersoy Üzerine kullanırsam, yani home dizinini ikinci defa kullanırsam mı demek istediniz?
@venovar ikinci kurumda başka bir home dizini oluşturmak daha sağlam olur diyorlar
@ersoy Anladım. Bu biraz sıkıntı ama öğrendiğim iyi oldu. Sağolun.
@venovar yani hiç denemedim ama yanına kurup eskisinden yenisine aktarma yaptım.