kullandığımız arch ı nasıl iso olarak yedekleyebiliriz.yada canlı iso oluşturabiliriz.
Arch wikiye baka bilirsiniz. Türkçe bir anlatım yapmıştım ama Arch wiki den anlamazsanız kaynak olarak paylaşayım.
paylaşırsanız sevinirim üstad
Anlatımda eksik kalan kısımlar var ve yükleyici ekleme kısmına da girmedim. Temel olarak bu anlatımda mantığını anlatmaya çalıştım. Bir dağıtımın açılması ve çalıştırılması esnasındaki dosyaları kendiniz bulup eklemeniz gerekmektedir. Mesela .xinitrc, .bashrc ve kişileştirilecek diğer dosyalar biraz uğraştırır yani..
Kişileştirilmiş bir Linux kalıbı yapmak elbetteki havalı görünebilir. Çoğunuz büyük olasılıkla bunu defalarca düşünmüş ama yeterli kaynak sayısının azlığı sebebiyle hedeflerine ulaşamamıştır. Bu konuda sizlerle Archiso'yu kullanarak kendi Arch Linux tabanlı kalıbımızı nasıl yapacağınıza dair rehberlik edeceğim. Umarım sizler için faydalı bir kaynak olacaktır.
Kişisel bir dağıtım oluşturmanın tek amacı, önceden yüklenmiş yazılımlarla ve özel yapılandırmalarla sistemi her seferinde kurup kullanmaktadır. Tabi sizin ayrı bir nedeniniz olabilir 🙂 Her şeyden önce bilmenizi isterim ki bir dağıtım oluşturmak hiç de göründüğü kadar zor değildir. Aksine kolay da değildir, bunun için birazcık Linux bilgisi ve detaylandırılmış bir kaynak elimizde bulundursak yeterli olacaktır. Lafı fazla uzatmadan gereksinimlere geçelim..
- Gereksinimler
Kendi kalıbımızı hazırlarken dikkat etmemiz gereken hususlardan biri ise kalıbı oluşturacağımız ortamda gerekli gereksinimleri sağlamak olacaktır. Kişileştirilmiş kalıbınızı hazırlarken aşağıdaki gereksinimleri sağladığınızdan emin olun.
- Kalıbı oluşturmak için kullanılacak bir Arch Linux tabanlı dağıtım.
- İşi sağlama almak için 10GB disk alanı.
- Boş bir CD/DVD/USB. Kalıp hazırlandıktan sonra yazdırıp test için.
- Kalıbı hazırlama esnasında sistemde yönetici(kök, root) hakalrını sağlamış olmak. Bu işlemi su veya sudo komutuyla sağlayabilirsiniz.
Son olarak her ihtimale karşı Pacman'ın önbelliğini temizleyelim. Aşağıdaki komut ile bu işlemi gerçekleştirebilirsiniz..
sudo pacman -Scc
- Kurulum
Arch Linux tabanlı kişileştirilmiş dağıtımımızı hazırlarken archiso kullanacağız. Arch Linux depolarında bu paket mevcut ancak alternatif olarak AUR ve Github üzerinden de indirip kurabilirsiniz. Arch Linux depolarından archiso ve gerekli yazılımları kurmak için aşağıdaki komutu yürütelim.
sudo pacman -S archiso make squashfs-tools dosfstools patch devtools gitGerekli paketler kurulduktan sonra şimdi ufak bir düzenleme işlemi yapalım. Aşağıda belirtilen dosyayı siz kullandığınız metin editörünü yazarak çalıştırın. Ben işlemi gedit üzerinden yapacağım.
sudo gedit /usr/bin/mkarchisoAçılan editörde Arama çubuğuna pacstrap yazalım ve parametre olarak -i(install) ekleyelim. Görünümü aşağıdaki şekildeki gibi olacaktır.
Şimdi kendimize özel bir çalışma dizini oluşturalım. Bu konu altında ben ~/whoami-iso kullancağım.
mkdir ~/whoami-iso
cp -r /usr/share/archiso/configs/releng/* ~/whoami-iso
cd ~/whoami-isoBu komutları kullanarak, kendimize önyükleme yapabileceğimiz basit minimum bir ISO sağlanmış oldu. Bundan sonraki kısımlarda sadece kişileştirme yapacağız ve bu işlemleri yaparken root hakalrıyla yapmamız gerekiyor. Sisteminizde root olmak için;
suKomutunu yürütmeniz gerekmektedir. Size varsayılan olarak kullanmakta olduğunuz root şifreniz sorulur ve buraya bu şifreyi girersiniz.
- Kişileştirme
~/whoami-iso dizinine girdiğimizde burada pek çok klasör ve dosya oluşturulduğunu görebiliriz. Hazır dizine girmiş iken ls komutuyla neler oluştuğunu görelim:
┌─[barlow]──[KiB]:~/whoami-iso$
└──>>ls
airootfs efiboot mkinitcpio.conf packages.i686 pacman.conf
build.sh isolinux packages.both packages.x86_64 syslinuxBurada göreceğimiz gibi birkaç dizin ve dosya bizlere sunulmuş oluyor. Kişileştirme için buradaki tüm dosyaları kullanabilirsiniz ama aksi belirtilmediği sürece aşağıdaki dosyalar bizim için önem arz edecektir.
- airootfs Dizini : Bu dizinde; sistem dosyaları ve kök klasörünü yerleştirebiliriz. Bu dizinin silinmesi kesinlikle önerilemez.
- packages.both Dosyası : Bu dosyada kendi kalıbımızda kullanılacak paketleri ayarlayabiliriz. Siz bu dosyayı kendinize göre düzenlemeniz gerekecektir. Ayrıntılı bilgiyi zaten birazdan vereceğim.
- pacman.conf Dosyası : İsteğe bağlı olarak depo ekleme/ çıkartma işlemleri için kullanabileceğimiz dosyadır. Kalıbımızı hazırlarken, listelediğimiz uygulamalar bu depolardan aranır.
Bundan sonraki kısımlarda ben kendime özgü bir kalıp hazırlayacağım ve bu kalıptaki kişiselleştirmemi kullanacağım. Siz bu adımları takip ederek kendinize özgü kişiselleştirmeyi unutmayın 🙂
- Adım 1 : İstenilen Paketleri Kullanmak
Hazırlayacağımız kalıbın, istediğimiz paketlerle gelmesini istiyorsak packages.both dosyasını kendimize göre düzenlememiz gerekmektedir. Burada temel sistem paketlerinden, son kullanıcı için gerekli araçlara, tema eklentilerinden, sürücü yazılımlarına kadar listelemek mecburiyetindesiniz. Eğer oluşturacağınız bu kalıbı sadece siz kullanacak iseniz aşağıdaki komut ile sisteminizde kullandığınız paketlerin bir listesini alarak, özelleştirilme kalıbınıza ekleme yapabilirsiniz.
pacman -QqeBen bu çıktıdan faydalanarak packages.both dosya içeriğimi aşağıdaki gibi düzenliyorum. Kalıbı kendim kullanacağım için sürücüleri kendi bilgisayarıma uygun şekilde ayarladım. Eğer siz genel bir dağıtım yapmak istiyorsanız sürücüler konusunda oldukça dikkat etmeniz gerekmektedir.
[code=sudo gedit packages.both]###########################
## Paketler ~ Whoami ISO ##
###########################vlc
gparted#####################
## Taban Paketleri ##
#####################
base
base-devel
intel-ucode####################
## Xorg Paketleri ##
####################
xorg
xorg-server
xorg-server-common
xorg-xinit######################
## Sürücü Paketleri ##
######################
mesa
xf86-video-ati
xf86-input-libinput
xf86-input-synaptics
xf86-input-keyboard
xf86-input-mouse
xf86-input-evdev
b43-firmware
alsa-utils
pulseaudio
pulseaudio-alsa
pavucontrol
xfce4-pulseaudio-plugin
pulseaudio-bluetooth
pulseaudio-zeroconf
gst-libav
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly##############
## Masaüstü ##
##############
xfce4
xfce4-goodies######################
## Giriş Yöneticisi ##
######################
lightdm
lightdm-gtk-greeter
lightdm-gtk-greeter-settings####################
## Diğer Paketler ##
####################
arch-install-scripts
b43-fwcutter
btrfs-progs
clonezilla
crda
darkhttpd
ddrescue
dhclient
dialog
dmraid
dnsmasq
dnsutils
dosfstools
elinks
ethtool
exfat-utils
f2fs-tools
fsarchiver
gnu-netcat
gpm
gptfdisk
grml-zsh-config
grub
hdparm
ipw2100-fw
ipw2200-fw
irssi
lftp
linux-atm
lsscsi
mc
mtools
ndisc6
nfs-utils
nilfs-utils
nmap
ntfs-3g
ntp
openconnect
openssh
openvpn
partclone
parted
partimage
ppp
pptpclient
refind-efi
rfkill
rp-pppoe
rsync
sdparm
sg3_utils
smartmontools
speedtouch
sudo
tcpdump
testdisk
usb_modeswitch
vim-minimal
vpnc
yaourt
wget
wireless_tools
wpa_actiond
wvdial
xl2tpd
zd1211-firmwareKonuyu yazmam sırasında hazırladığım ISO kalıbının boyutu fazla büyük olmaması için ekleyeceğim paketleri çok az tutuyorum. Siz kendinize göre bu lsiteyi uzatabilirsiniz ancak unutmayın ki liste uzadıkça oluşacak ISO kalıbının boyutu da büyüyecektir.
- Adım 2 : Depo Ekleme ve Kaldırma
Pek gerek olmasa da zaman içinde ekleyeceğimiz uygulamalar Arch Linux depolarında olmayabiliyor. Bunun için kendi depolarımızı yada başka depolar eklememiz gerekebiliyor. Örneğin yukarıdaki dosyada eklemiş eklediğim olduğum yaourt paketi... Depo ekleme veya çıkartma işlemlerini pacman.conf dosyasında yapacağız. Ben aşağıdaki satırları, yaourt paketi için pacman.conf dosyama dahil ediyorum.
[code=sudo gedit pacman.conf]
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
- Adım 3 : Airootfs Dizini Hakkında
Başta belirttiğimiz gibi sistemimizin çalışma sırasında gerekli dosyaları burada bulundurabiliriz. Bu dizinde uğraşacağımız tek klasör /etc klasörü olacaktır. Bu klasör altına Live ISO'da çalışmak için gerekli dosyaları eklemek kalıyor. Bu dosyaları kalıbı hazırladığınız sistem üzerinden alabilir yada kendiniz elle hazırlayabilirsiniz. Tabi bu durumda ise bilginizin devreye girmesi gerekiyor.
/etc dizininde ilk olarak düzenlemeye skel isimli klasörden başlayacağız. Bu klasör içerisine neler ekleyeceğiniz tamamen size kalmış. Bu klasörün amacı /home klasörünün yaptığı işlemi yapmaktadır. Bu klasöre .xinitrc, .bashrc, .zshrc, vs. gibi kendinize has dosyalar ekleyebilirsiniz.
mkdir airootfs/etc/skel
cp ~/.bashrc ~/.Xauthority ~/.xinitrc airootfs/etc/skel/Ben sadece 3 dosya kopyalacağım. Siz kendinize göre başka dosyalarda kopyalayabilirsiniz. Şimdi /etc dizininde ise bazı özelleştirmeler yapabilirsiniz. İlk olarak bu klasördeki hostname dosyasını düzenleyelim. Bu şekilde ISO kalıbımız kullanılırken belirlediğimiz ismi makine adı olarak kabul edecek.
[code=sudo gedit airootfs/etc/hostname]
whoami-isoBu klasöre istediğiniz kadar dosya ekleyebilirsiniz. Ben öenmli birkaç dosya ekleyeceğim. Bunlar; sudoers, locale.conf, os-release dosyalarını kopyalayacağım. Siz ihtiyacınıza göre dizin veya başka dosyalar ekleyip, kopyalayabilirsiniz.
cp /etc/sudoers /etc/locale.conf /etc/os-release airootfs/etc/Eğer sisteminizde bulunan bazı ikonları, temaları, vs. gibi işlemleri de ISO kalıbınıza dahil etmek isterseniz, bunları /usr klasörü açarak uygulayabilirsiniz.
mkdir airootfs/usr && mkdir airootfs/usr/share
cp -r /usr/share/icons/ /usr/share/themes/ airootfs/usr/share/Ben bu kadarlık bir düzenleme yapıyorum. Siz kendinize göre eklemeler uygulayabilirsiniz ancak basit bir ISO oluşturacağım için sadece packages.both kısmıyla biraz uğraşmamız gerekecektir.
- Kullanıcı Oluşturma
Kullanıcı oluşturmak için customize_airootfs.sh dosyası üzerinde oynamalar yapacağız.
[code=sudo gedit airootfs/root/customize_airootfs.sh]
usermod -s /usr/bin/zsh root
cp -aT /etc/skel/ /root/
chmod 700 /rootDosya içeriğindeki bu satırları aşağıdaki gibi düzenleyelim. Ben zsh kabuğu kullanmayacağım için bu düzenlemeyi yapıyorum. Eğer kabuk olarak zsh isterseniz burada oynama yapmanıza gerek yoktur. zsh kısmını bash oalrak değiştirelim..
usermod -s /usr/bin/bash root
cp -aT /etc/skel/ /root/
chmod 700 /rootYeni kullanıcımız için hemen altına bu satırları ekleyelim. Burada whoami kullanıcı ismidir.
useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /bin/bash whoami
#chmod 700 /root
chown -R whoami:users /home/whoamiDosyayı kaydederek çıkış yapabilirsiniz. Burada bu bilgiyi vereyim, kullanıcı oluştururken sizin ekstradan airootfs dizinine /home kulasörü eklemenize gerek yoktur ama o kullanıcıya ait kişiselleştirmeler tutulacaksa bu klasör eklenmelidir.
mkdir airootfs/home/kullanici_adiŞeklinde klasör oluşturulur ve gerekli eklemeler cp komutuyla yapılabilir. Benim ihtiyacım olmadığı için böyle birşey yapmayacağım. Eğer yaparsanız da zaten nasıl kopyalayacağınızı biliyorsunuz 🙂
- Kalıbın Oluşturulması
Gerekli düzenlemeleri tamamladıktan sonra bu ayarlarımızı şimdi ISO kalıbı haline getirelim. Lakin ondan önce ISO dosyamıza bir isim verelim.
[code=sudo gedit build.sh]
iso_name=archlinux
iso_label="ARCH_$(date +%Y%m)"build.sh içerisinde bu satırları değiştiriyoruz. Ben kalıbın adına Whoami ismini vereceğim. Bu aşamada siz de kalıbınıza istediğiniz ismini verebilirsiniz..
iso_name=whoami
iso_label="WHOAMI_$(date +%Y%m)"Bu şekilde düzenlememi yapmış bulunmaktayım. Şimdi kaydedip, kalıbımı oluşturacağım. İlk olarak çalışma dizinimize out isminde bir klasör oluşturalım ve ardından build.sh dosyamızı çalıştıralım.
mkdir out
./build.sh -vVe kalıbımız hazır. Sıra geldi kalıbımızı boot etmeye. Bunun için herhangi bir CD yada USB'ye yazdırmanız yeterlidir.
Ayrıntılı bilgi için Arch Wiki'ye bakabilirsiniz.
Anlatımda elbetteki eksik kısımlar olabilir. Bu aracı kullanarak kendi bilginizle geliştirebilirsiniz.
Daha fazla kolaylık isterseniz https://github.com/Archman-OS/ArchmanISO
adresine bakınız. build.sh betiklerini kullanarak dilediğiniz masaüstü yönetimi ile iso inşa edebilirsiniz, packages.both dosyaları ile dilediğiniz uygulamaları dahil eder veya çıkarırsınız.
build.sh betikleri için verilecek komut betiğin içinde üst kısımda mevcuttur. Örnek: sudo ./xfce-build.sh -v -o out
https://github.com/Archman-OS/ArchmanISO/blob/master/xfce-build.sh
build.sh içinden iso kalıbınızı dilediğiniz gibi adlandırabilirsiniz.
archman.org - Bizi bilen iyi bilir, bilmeyen de kendi gibi bilir.!