Fedora’da Çalışmayan Repostory Adreslerinden Kurtulmak


1. Sorun: Fedora Depolarında Bağlantı Zaman Aşımı

  • Fedora, güncelleme sırasında bazı mirror’lara (özellikle linus.iyte.edu.tr gibi Yakın olduğu için hızlı olur mantığıyla Türkiye kaynaklı sunuculara) bağlanıyordu.
  • Bu mirror’lar çoğuz zaman yavaş veya erişilemez olduğundan, kurulum, güncelleme işlemleri başarısız oluyordu.
  • metalink veya baseurl yapılandırmalarında problem vardı.

2. Çözüm: Depo Dosyalarını Düzenleyin

Fedora’nın iki temel depo dosyasını düzenlemeniz gerekiyor:

  1. fedora.repo: Ana depoyu tanımlayan yapılandırma dosyası.
  2. fedora-updates.repo: Güncellemeleri tanımlayan yapılandırma dosyası.

3. fedora.repo Dosyasını Düzenleyin

  • /etc/yum.repos.d/fedora.repo dosyasını açın: sudo nano /etc/yum.repos.d/fedora.repo
  • Bu dosyada, yavaş çalışan metalink ayarını kapatın:
  • # metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
  • Yerine doğrudan bir baseurl ekleyin, örneğin: baseurl=https://ftp.uni-stuttgart.de/fedora/releases/41/Everything/x86_64/os/
  • Böylece Fedora’nın yalnızca güvenilir bir mirror üzerinden çalışmasını sağlayın.

(Fedora’nın Güncel Repo Adresleri: https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-41&arch=x86_64)

(Birden fazla baseurl ekleyebilirsiniz. )


4. fedora-updates.repo Dosyasını Düzenleyin

  • Güncellemelerle ilgili bağlantı sorunlarını çözmek için /etc/yum.repos.d/fedora-updates.repo dosyasını düzenleyin: sudo nano /etc/yum.repos.d/fedora-updates.repo
  • Burada da metalink satırını devre dışı bırakın: #metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f41&arch=$basearch
  • Ardından bir baseurl tanımlayın, örneğin: baseurl=https://ftp.uni-stuttgart.de/fedora/updates/41/Everything/x86_64/
  • Bu, güncelleme için yalnızca belirli bir mirror kullanılmasını sağlar.

5. Önbelleği Temizleyin

Yapılandırma değişikliklerinin geçerli olması için eski önbelleği temizleyin:

sudo yum clean all
sudo dnf clean all
sudo yum update

Test için: yum update

Linux Komutlarının Tam Seçeneklerini Görüntülemek

Help

--help seçeneği --permanent ile başlayan komutları listelemeyebilir. Ancak man sayfasını veya daha detaylı seçenek listesini kullanabilirsiniz:

--help Komutuyla Daha Fazla Bilgi:

firewall-cmd --help | grep -- --permanent

man Sayfasını Kullanın:

man firewall-cmd

Ardından / tuşuna basarak arama moduna geç ve --permanent yazıp Enter’a bas. Tüm --permanent seçeneklerini sırayla görmek için n tuşunu kullan.


2. Komutun Tamamlanabilirlik Özelliğini Kullanmak

Bazı Linux kabuklarında (örneğin, Bash) tab tamamlama özelliği etkinse, komutun tamamlanabilir seçeneklerini görebilirsiniz:

Seçenekleri Görmek için:

  1. firewall-cmd --permanent yazdıktan sonra klavyede iki kez Tab tuşuna bas firewall-cmd --permanent <Tab><Tab>

Eğer tab tamamlama etkin değilse, aşağıdaki komutla bunu etkinleştirebilirsiniz:

sudo yum install bash-completion
source /etc/profile.d/bash_completion.sh

3. apropos veya grep ile Arama

apropos veya grep komutlarıyla firewall-cmd komutlarının belgelerinde arama yapabilirsiniz:

apropos Kullanımı:

apropos firewall-cmd | grep --permanent

grep ile Tüm Belgelerde Arama:

grep -- --permanent /usr/share/doc/firewalld/*

4. Döküm Listesi ile Keşfetme

Tüm firewall-cmd komutlarının çıktısını alıp arama yapabilirsiniz:

firewall-cmd --help | less

Ardından --permanent araması yapmak için /--permanent yazıp Enter’a bas.


5. Detaylı Seçenekler ve Kullanımlar

firewall-cmd için daha fazla bilgiye şu komutla erişebilirsiniz:

firewall-cmd --complete-reload --permanent

Fedora XRDP Bağlantısında Klavyenin Sadece İngizce Olarak Kullanılabilmesi Sorununa Çözüm

Kullandığım tüm RedHot tabanlı sistemlerde karşılaştığım bir durum. RDP bağlantıda türkçe klavye kullanmak için aşağıdaki çözümü uygulayabilirsiniz.

yum install xorgxrdp

vi /etc/xrdp/xrdp.ini

xrdp.ini içinde aşağıdaki bloğu bulup yorum satırlarını kaldırın.
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20

[Xvnc] bloğa dokunmayalım.

systemctl restart xrdp

setxkbmap tr

PHP Null Coalescing Operator

?? (null coalescing operator), Bir değerin null olup olmadığını kontrol etmek için kullanılır. Eğer operatörün sol tarafındaki ifade null ise, sağ tarafındaki değeri döndürür. Eğer sol tarafındaki ifade null değilse, bu değeri döndürür.

?? Operatörünün Temel Kullanımı:

$value = $var ?? ‘default value’;

  • Eğer $var tanımlı ve null değilse, $value değeri $var olur.
  • Eğer $var tanımlı değilse ya da null ise, $value değeri ‘default value’ olur.

?? Operatörünün Amacı:

  • isset() fonksiyonuna bir alternatif sağlar. Daha kısa ve daha okunabilir bir yazım sunar.
  • ?? operatörü, isset() gibi sadece değişkenin var olup olmadığını kontrol etmekle kalmaz, aynı zamanda null olup olmadığını da kontrol eder.

Örnekler:

1. Temel Kullanım:

$username = $_POST[‘username’] ?? ‘Guest’;

// Eğer $_POST[‘username’] tanımlıysa ve null değilse onu döndürür, aksi halde ‘Guest’ döner.

2. Daha Önceki isset() Kullanımına Alternatif:

PHP 7.0’dan önce, bu tür kontroller genellikle isset() fonksiyonu ile yapılırdı:

$username = isset($_POST[‘username’]) ? $_POST[‘username’] : ‘Guest’;

// Eğer $_POST[‘username’] tanımlıysa onu döndürür, aksi halde ‘Guest’ döner.

?? operatörü, bu ifadeyi daha kısaltılmış ve okunabilir hale getirir:

$username = $_POST[‘username’] ?? ‘Guest’;

3. Birden Fazla Değişkeni Kontrol Etme:

?? operatörü ile birden fazla değeri kontrol edebilirsin. Sol taraftaki değer null ise, bir sonraki değere geçilir:

$username = $input[‘username’] ?? $input[‘default_username’] ?? ‘Guest’;

Bu ifade şu anlama gelir:

  • Eğer $input[‘username’] tanımlı ve null değilse, onu kullan.
  • Eğer $input[‘username’] null ise, $input[‘default_username’] kontrol edilir.
  • Eğer her iki değer de null ise, ‘Guest’ değeri kullanılır.

Avantajları:

  1. Kod Kısaltması:
    • ?? operatörü, isset() ve ternary (üçlü) operatör kullanımını daha kısa ve okunabilir bir hale getirir.
  2. Null Değerlerini Hızlıca Kontrol Etme:
    • Bir değerin tanımlı olup olmadığını ve null olup olmadığını hızlıca kontrol etme imkanı sağlar.
  3. Zincirleme Kullanımı:
    • Birden fazla değeri kontrol etmek ve ilk geçerli değeri almak için zincirleme kullanılabilir.

?? (null coalescing operator), güçlü bir operatördür ve bir değerin null olup olmadığını kontrol etmek için basit ve okunabilir bir çözüm sunar. Bu operatör, eski yöntemlere kıyasla daha kısa ve temiz bir yazım sağlar ve null kontrolü için ideal bir yaklaşımdır.

Notalar Haknıda Temel Bilgiler

Müzik notaları, müziğin yazılı dilidir ve melodileri, ritimleri ve armonileri temsil eder. Nota sistemi, müzikal bilgilerin yazılması, okunması ve icra edilmesi için evrensel bir dil sağlar. İşte müzik notaları hakkında temel bilgiler:

Temel Müzik Notaları

  1. Nota İsimleri: Batı müziğinde, temel notalar A, B, C, D, E, F ve G harfleri ile temsil edilir. Türk müziğinde ise Do, Re, Mi, Fa, Sol, La, Si olarak adlandırılırlar. | C= Do | D= Re | E= Mi | F= Fa | G= Sol |A= La | B= Si |
  2. Nota Değerleri: Notalar, sürelerine göre farklı değerlerde olabilirler:
    • Tam nota (♩): 4 vuruş
    • Yarım nota (♪): 2 vuruş
    • Çeyrek nota (♫): 1 vuruş
    • Sekizlik nota (♬): 1/2 vuruş
    • Onaltılık nota (♭): 1/4 vuruş

Porte ve Anahtarlar

  • Porte (Dizek): Beş paralel çizgiden oluşur ve notalar bu çizgiler üzerinde veya aralarında yer alır.
  • Anahtarlar:
    • Sol anahtarı (Treble clef): Genellikle yüksek sesli enstrümanlar ve sesler için kullanılır.
    • Fa anahtarı (Bass clef): Genellikle düşük sesli enstrümanlar ve sesler için kullanılır.

Diğer Müzik Notasyonu İşaretleri

  • Arıza İşaretleri:
    • Diyez (#): Notayı yarım ton yükseltir.
    • Bemol (b): Notayı yarım ton düşürür.
    • Naturel (♮): Önceden değiştirilmiş bir notayı doğal haline döndürür.
  • Durağanlık İşaretleri:
    • Tekrar işaretleri (||: :||): Bir bölümün tekrar edilmesi gerektiğini belirtir.
    • Fermata (𝄐): Notanın veya sus işaretinin normal süresinden daha uzun çalınmasını belirtir.

Dinamik İşaretleri

  • Pianissimo (pp): Çok yumuşak
  • Piano (p): Yumuşak
  • Mezzo-piano (mp): Orta yumuşaklıkta
  • Mezzo-forte (mf): Orta kuvvette
  • Forte (f): Kuvvetli
  • Fortissimo (ff): Çok kuvvetli

Ritim ve Metronom

  • Ritim: Müziğin zaman içindeki düzenlenişi ve sürekliliğidir.
  • Metronom: Bir şarkının temposunu belirtir. Dakikada kaç vuruş (BPM) olduğunu gösterir.

Akorlar ve Ölçekler

  • Akorlar: İki veya daha fazla notanın aynı anda çalınmasıyla oluşur. Örneğin, C majör akoru (C-E-G notaları).
  • Ölçekler (Gamlar): Belirli bir dizilimle sıralanmış notalar grubu. Örneğin, C majör gamı (C-D-E-F-G-A-B-C).

Almalinux – yum/dnf hatası Repo için meta veriler indirilemedi. |

Almalinux sunucuda dnf ve yum komutu aşağıdaki hata ile başarısız oluyor:

EA4 ( EasyApache 4 – c8 ) 0.0 B/s | 0 B 00:00
Error: Failed to download metadata for repo ‘EA4-c8’: Cannot prepare internal mirrorlist: Curl error (6): Couldn’t resolve host name for http://httpupdate.cpanel.net/ea4-c8-x86_64-mirrorlist [Could not resolve host: httpupdate.cpanel.net]

Çözüm:

vi /etc/resolv.confnameserver 8.8.8.8
nameserver 8.8.4.4

Test:

yum update -y