OpenRC (Türkçe)

Related articles
init
Çeviri Durumu:
Bu makale,
OpenRC
makalesinin çevirisidir. Son çeviri tarihi (yıl-ay-gün şeklinde): 2022-08-29. Eğer makalenin İngilizce sürümünde
değişiklik
yapılmış ise çevirinin senkronize edilmesine yardımcı olabilirsiniz. Çevrilmiş tüm makelelere
buradan erişebilirsiniz
.
Uyarı
Arch Linux resmi olarak sadece
systemd
'yi desteklemektedir. Forumlarda destek isterken lütfen OpenRC kullandığınızı belirtin.
OpenRC
Gentoo Geliştiricileri tarafından geliştirilen bir hizmet yöneticisidr. OpenRC, bağımlılık temellidir ve sistemin sağladığı başlangıç (init) sistemiyle (genellikle
SysVinit
) çalışır.
Kurulum
OpenRC ve eşlik eden paketler
AUR
'da mevcuttur. İnit bileşenlerinin detayları için bakınız
Init
.
openrc
AUR
ya da
openrc-git
AUR
[
broken link
: package not found]
paketini indirin. 0.25 ve sonrası sürümler için, OpenRC kendi init sistmenini
/usr/bin/openrc-init
konumununda sağlamaktadır. Opsiyonel olarak, diğer init sistemlerini de seçebilirsiniz, örneğin,
busybox
.
openrc-init
kullanıldığında,
openrc-shutdown
kullanılmalıdır ve
shutdown
veya
reboot
gibi diğer paketlerden gelen komutlar
kullanılmamalıdır
, aksi takdirde hatalarla yüzleşebilirsiniz.
Temel hizmet seti dosyaları
openrc-arch-services-git
AUR
paketinde mevcuttur.
Bu paket dışında diğer paketlerde de hizmet dosyları mevcut olabilir; AUR'da aratmanız tavsiye edilir.
initscripts-fork
AUR
[
broken link
: package not found]
ile uyumluluk sağlamak için, yapılandırma dosyaları
/etc/openrc/
konumuna kurulur.
Önyükleme
OpenRC seti ile önyükleyebilmek için
çekirdek (kernel) parametrelerinde
,
init
sistemini ayarlayın:
OpenRC'nin hazır init sistemini kullanmak için,
init=/usr/bin/openrc-init
olarak ayarlayın.
openrc-init
kullanılırken
/etc/inittab
dosyasının kullanılmayacağını unutmayın.
Yapılandırma
/etc/openrc/conf.d
dizini, ve
/etc/openrc/rc.d
dosyası yapılandırma için kullanılır.
OpenRC yapılandırması hakkında genel bilgiler için bakınız:
OpenRC manuals
Gentoo:OpenRC
.
systemd
'den geçiş yapıyorsanız
Init#Configuration
bölümündeki yönergeleri takip edebilirsiniz.
Hizmetler
OpenRC hizmetleri kök yetkisi ile
rc-update add
hizmet ismi
runlevel
komutu ile etkinleştirlir. En azından aşşağıdaki hizmetleri etkinleştirmeniz tavsiye edilir:
Hizmet İsmi
Runlevel
Açıklama
udev
sysinit
Aygıt takma-çıkarma
alsa
default
ALSA
durumu
acpid
default
ACPI olayları
dbus
default
Mesajlaşma veri yolu
dcron
default
Planlama
syslog-ng
default
Sistem günlüğü
Uyarı
Eğer
init=/usr/bin/openrc-init
kullanıyorsanız,kernel parameterinizde , manuel olarak
getty
'i etkinleştirmeniz gerekir, yoksa yaptığınız işlemler etkileşimsiz bir TTY ile sonuçlanabilir
[1]
Gerekirse, gereken her
getty
için
/etc/openrc/init.d/getty
kısayol bağlantısı oluşturarak yeni bir hizmet oluşturun. Örneğin
/dev/tty1
için:
# ln -s /etc/openrc/init.d/agetty{,.tty1}
# rc-update add agetty.tty1 default
Ayrıca
Gentoo:Systemd#Native services
ve
Daemons
sayfalarına da bakınız.
Ağ
Ağ
newnet
ile yapılandırılmalıdır
[2]
,
/etc/openrc/conf.d/network
dosyasını değiştirin; hem
ip
(
iproute2
) hem de
ifconfig
(
net-tools
) komutu desteklenmektedir. Aşağıda
ip
kullanılarak bir örnek verilmiştir.
ip_eth0="192.168.1.2/24"
defaultiproute="via 192.168.1.1"
ifup_eth0="ip link set \$int mtu 1500"
Bu ağ hizmeti başlangıç çalışmaseviyesine (runlevel) varsayılan olarak eklenir, böylelikle başka bir değişiklik yapmaya gerek yoktur. Daha fazla bilgi için
Network configuration
sayfasına bakınız.
Not
İsterseniz
NetworkManager
veya
dhcpcd
.
Başlangıç Günlüğü
Başlangıç günlüğünü etkinleştirmek için
/etc/openrc/rc.conf
dosyasındaki
rc_logger="YES"
satırının yorum simgesini kaldırın. Etkinleştrildiğinde, başlangıç günlükleri
/var/log/rc.log
konumunda depolanacaktır.
Ana Makine Adı
OpenRC ana makine adını
/etc/openrc/conf.d/hostname
dosyasında ayarlar. Bu dosya şöyle görünmektedir:
# Set to the hostname of this machine
hostname="myhostname"
Çekirdek (Kernel) Modülleri
OpenRC
/etc/modules-load.d
modülü yerine
/etc/openrc/conf.d/modules
kullanır. Örneğin:
/etc/openrc/conf.d/modules
# You should consult your kernel documentation and configuration
# for a list of modules and their options.

modules="vboxdrv acpi_cpufreq"
Yerel Ayarlar
Klavye düzeni
/etc/openrc/conf.d/keymaps
ve
/etc/openrc/conf.d/consolefont
ile ayarlanabilir. Ayrıca
/etc/profile.d/locale.sh
'da kaynağı bulunan
/etc/locale.conf
dosyasına da baknız.
Detaylar için
Gentoo:Localization/Guide#Keyboard layout for the console
ve
Locale
sayfalarına bakınız.
Kullanım
Bu bölüm
systemd
ve diğer
init
sistemlerini birbiriyle kıyaslar.
.service
ve
.target
eklentilerini yok sayabilirsiniz, özellikle geçici olarak
kernel parametrelerini
düzenliyorsanız.
systemd
SysVinit
OpenRC
Açıklama
systemctl list-units
rc.d list
rc-status
Aktif olan hizmetlerin durumunu listele.
systemctl --failed
rc-status --crashed
Başarısız servisleri listele.
systemctl --all
rc-update -v show
Mevut tüm servisleri listele.
systemctl (start, stop, restart, status) daemon.service
rc.d (start, stop, restart) daemon
rc-service daemon (start, stop, restart, status)
Servis durumunu değiştir.
systemctl (enable, disable) daemon.service
chkconfig daemon (on, off)
rc-update (add, del) daemon
Servisi aktifleştir veya etkisezleştir.
systemctl daemon-reload
chkconfig daemon --add
Konfigürasyonu oluştur veya etkinleştir.
İpuçları ve Tüyolar
Sezsiz Başlangıç
OpenRC'den başlangıç mesajlarını saklamak için,
/etc/inittab
dosyasını değiştirin ve her komut için
--quiet
bayrağını ekleyin. Daha fazla bilgi edinmek için
$ openrc -h
komutnu kullanın.
Sorun Giderme
/tmp bağlantısnı kaldırırken hata
Sistemi kapatırken şöyle bir hata mesajı alabilirsiniz
* Unmounting /tmp ... 
* in use but fuser finds nothing [ !! ]
Bu hata
/etc/openrc/conf.d/localmount
dosyasına şunu ekleyerek çözülebilir
no_umounts="/tmp"
Not
Bu problem sadece tmp, tmpfs olarak bağlandıysa oluşur.
IPv6 etkisizileştirilemiyor
/etc/openrc/sysctl.d
dizininde
.conf
eklentili dosyanın altına
# Disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
eklenerek çözülebilir.
Sistem kapatılrıken rootu sadece okunur olarak yeniden bağlama başarısız oluyor
Eğer yukarıdaki durum yaşanırsa,
/etc/openrc/init.d/mount-ro
dosyasına
# Flush all pending disk writes now
sync; sync
satırından sonra gelen kımsa bunu ekleyin
telinit u
/etc/sysctl.conf bulunamadı
Varsayılan olarak, systctl konfigürasyonunu yüklemek için
sysctl --system
çağrılır. Bu
/etc/sysctl.conf
dosyasınıda barındırır, ki bu dosya Arch'dan çıkarılmıştır.
[3]
Kaybolmuş dosya hatasını önlemek için, şu dosyayı oluşturun:
# touch /etc/sysctl.conf
opentmpfiles-setup etkinleştirlemedi
OpenRC'yi başlatırken şöyle satırlar görebilirsiniz:
* Setting up tmpfiles.d entries ...
chattr: Operation not supported while setting flags on /var/log/journal
chattr: No such file or directory while trying to stat /var/log/journal/%m
chattr: Operation not supported while setting flags on /var/log/journal/remote
[ !! ]
ERROR: opentmpfiles-setup failed to start
Bu hata
/usr/lib/tmpfiles.d/journal-nocow.conf
dosyası yüzünden olmaktadır.Bu seçenekler sadece btrfs günlükleri için geçerlidir
Detaylar için
https://github.com/OpenRC/opentmpfiles/issues/2
adresine bakınız
OpenRC (Türkçe)/etc/tmpfiles.d/journal-nocow.conf
konumu ve ismiyle bir boş dosya oluşturarak bu sorun çözülebilir.
Systemd ye geri dönme
Systemd'ye dönmek çoğunlukla oldukça kolaydır. OpenRC'ye geçiş yaparken yapılan adımlar, şu sırayla geri yapılabilir:
Çekirdekteki (kernel)
init=
parametresini kaldırma veya değiştirme.
OpenRC merkezli paketlerin kaldırılması (örneğin
dbus-nosystemd
AUR
[
broken link
: package not found]
'nin
dbus
ile değiştirilmesi)
Ayrıca bakınız
Wikipedia:OpenRC
(İngilizce)
Gentoo:OpenRC
(İngilizce)
Arch'ta OpenRC kullanmak hakkında bir forum başlığı
(İngilizce)
Blog: Arch Linux'ta OpenRC
[
dead link
2024-03-03—domain name not resolved]
(İngilizce)
Manjaro wiki
(İngilizce)