OpenRC (Türkçe) - ArchWiki

Jump to content

# OpenRC (Türkçe)

From ArchWiki

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.

openrcAUR ya da openrc-gitAUR[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-gitAUR paketinde mevcuttur. Bu paket dışında diğer paketlerde de hizmet dosyları mevcut olabilir; AUR'da aratmanız tavsiye edilir.

initscripts-forkAUR[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-nosystemdAUR[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)

Category:

- Init (Türkçe)

Hidden categories:

- Pages with broken package links
- Pages with dead links

OpenRC (Türkçe)
Add topic