Press enter to see results or esc to cancel.

DKMS rtl8812au (TP-LINK Archer T4U)

Merhaba, 

DKMS, her kernel update işleminde sürücü derleme işini kendi kendine halleden bir yapıdır (yeniden derleyen).

Bu yazıda rtl8812au yonga setine sahip TP-LINK Archer T4U usb  wifi aygıtının sürücüsünü dkms ile tekrar derleyeceğiz. 

  1. git clone https://github.com/gnab/rtl8812au.git /usr/src/8812au-4.2.2/
  2. cd /usr/src/8812au-4.2.2/
  3. make
  4. cp 8812au.ko /lib/modules/$(uname -r)/kernel/drivers/net/
  5. depmod
  6. dkms add -m 8812au -v 4.2.2
  7.  dkms build -m 8812au -v 4.2.2
  8. sudo dkms install -m 8812au -v 4.2.2
  9. echo 8812au | sudo tee -a /etc/modules

Kaynak : https://github.com/gnab/rtl8812au

Sevgiler.

 

Linux Ekran Yırtılması/Kırılması

Merhaba,

Nvidia ekran kartlarında video seyrederken ekranda yırtılmalar/kırılmalar oluyordu. Belli bir süre sonra rahatsız etmeye başladığı için artık çözüme kavuştayım dedim.

1. Bunun için Direct Rendering Manager desteğini aşağıdaki gibi aktif etmemiz gerekiyor.

echo "options nvidia-drm modset=1" > /etc/modprobe.d/nvidia.conf

2. Açılışta aktif olması için aşağıdaki komut çalıştırılır.

update-initramfs -u

3. Son olarak işletim sistemi yeniden başlatılır.

shutdown -r now

Not : Eğer işletim sistemini yeniden başlatmak istemiyorsanız bu adımlardan sonra aşağıdaki komutu çalıştırabilirsiniz. Yırtılmalar ortadan kalkacaktır.

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

İşletim sistemi yeniden başladığında aşağıdaki komutun çıktısı “Y” ise her şey yolundadır.

cat /sys/module/nvidia_drm/parameters/modeset

Sevgiler.

Docker ile Imaj Oluşturma ve Imajı Docker Hub’a Gönderme

Merhaba, bu yazı docker üstünde imaj oluşturma ve bu imaji docker hub ‘a gönderme hakkındadır.

Örnek olarak Mongodb 4.2 sürümünü build edeceğiz.

İlk olarak kendim için oluşturmuş olduğum mongodb4.2 Dockerfile dosyasını oluşturalım. Ufak bir hatırlatma yapalım. Aşağıda –bind_ip_all parametresi mongodb ‘nin tüm interfaceleri dinleyeceğini söyler. Gerçek bir plartformda kullanacaksanız buna dikkat etmeniz gerekir.


FROM ubuntu:18.04
LABEL maintainer="murat@murat.ws
RUN apt-get update
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y gnupg2 ca-certificates
RUN echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4B7C549A058F8B6B RUN apt-get update && apt-get install -y mongodb-orgRUN mkdir -p /data/db
EXPOSE 27017
CMD ["--bind_ip_all"]
ENTRYPOINT ["/usr/bin/mongod"]

Bulunmuş olduğunuz dizinde yukarıdaki satırları Dockerfile isminde bir dosyaya kaydettikten sonra asağıdaki komut ile build işlemini başlatıyoruz.

docker build --network=host -t mongodb:4.2 .

Build tamamlandıktan sonra docker hub ‘a docker login komutunu kullanarak giriş yapıyoruz.

docker images komutu calıştırıp image id ‘sini alıyoruz.

Yukarda görüldüğü üzere oluşturmuş olduğumuz imajın idsi 6aa284093162 ‘dır.

imaj id ile birlikte imajı taglıyoruz.

#Kullanımı

docker tag image_id repository/app:version
docker tag 6aa284093162 muratugureminoglu/mongodb:4.2

son olarak docker hub’a imajımızı gönderiyoruz.

docker push muratugureminoglu/mongodb

Göndermiş olduğumuz imajı pull etmek için aşağıdaki komut kullanılır.

docker pull muratugureminoglu/mongodb:4.2

Pull ettiğimiz imajı çalıştırmak için de aşağıdaki komut kullanıılır.

docker run -d --network=host -it 6aa284093162

Umarım faydalı ve anlaşılır bir yazı olmuştur.

Sevgiler.

Cloudflare orjinal ziyaretçi ıp adresi

Eğer dnslerinizi cloudflare üstüne taşıdıysanız ve kendi access loglarınız üstünde ziyaretçi ip adreslerini görmek istiyorsanız aşağıdaki gibi bir değişiklik yapmanız gerekiyor. Aksi taktirde ziyaretçi yerine cloudflare’in ip adreslerini access loglarda göreceksiniz.

nginx.conf veya virtualhost dosyasına aşağıdaki satırlar eklenir.

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
real_ip_header CF-Connecting-IP;

son olarak nginx reload edilir.

systemctl reload nginx

Daha fazlası için: https://support.cloudflare.com/hc/en-us/articles/200170786-Restoring-original-visitor-IPs-Logging-visitor-IP-addresses-with-mod-cloudflare-

Putty ppk dosyasını OpenSSH formatına dönüştürmek

PuttyGen tarafından oluşturulan private key dosyasıdır. PPK = PuTTY Private Key diye adlandırılır. Linux ortamında çalişığım için ve putty kullanmak istemediğim için bazen bu ppk private key dosyalarını pem formatına çeviriyorum. Aşağidaki yönergeleri takip ederek ppk dosyasını pem uzantısına çevirebilirsiniz.

#Gerekli araç yüklenir.

apt-get install putty-tools

# private key oluşturulur

puttygen DigitalOcean.ppk -O private-openssh -o id_rsa_digital_ocean

# public key oluşturulur

puttygen DigitalOcean.ppk -O public-openssh -o id_rsa_digital_ocean.pub

# Son olarak izinler düzenlenir.

chmod 400 id_rsa_digital_ocean

Sevgiler.

rsyslog ‘da bazı mesajları göz ardı etmek

Merhaba loglarda bazı istemediğimiz mesajları göz ardı etmek isteyebiliriz. Bunun için ~ sembölünü kullanabilirsiniz.

vim /etc/rsyslog.conf

#Her şeyi göz ardı etmek için

*.* ~

#Belirli bir mesajı göz ardı etmek için
# Log dosyası içinde !log_opts yer alıyorsa göz ardı et.

:msg, contains, "!log_opts" ~

# Örnek log
monitor check_nrpe: Error: (!log_opts) Could not complete SSL handshake

#Değişiklikler yapıldıktan sonra servis yeniden başlatılır.

systemctl restart rsyslog

Sevgiler.

Puppet6 Server/Agent Yapılandırılması

Bu dökümanda Puppet6 ‘da nasıl Server/Agent yapılandırılması yapılır onu öğreneceğiz. Umarım faydalı bir yazı olur.

Puppet Master ve Nodelar arasında iletişimi HTTPS üzerinden (SSL kullanarak) gerçekleştirir. Puppet nodeların doğrulama ve kimliklendirme işlemleri için bu yapıyı kullanır. Çalışma mantığı, nodelar ilk master sunucuya geldiğinde (ilk iletişimde) eğer istek güvenliyse master sunucu nodelar için sertifika oluşturur ve node sertifikayı alır ve master/node arasında iletişim başlamış olur.

#Kurulum Gereksinimleri

. Debian 10
. Puppet6 sunucu > puppetserver.domain.com > 192.168.1.230
. Puppet6 node1 > node1.domain.com > 192.168.1.231
. Puppet6 node2 > node2.domain.com > 192.168.1.232

#Bazı tanımlamaları aşağıdaki gibi çağıracağız.

Sunucu : Puppet Sunucu, Puppet Server, Puppet Master Sunucu, Master, Sunucu
İştemci : Puppet Node, Puppet Client, Node, Client, İstemci

#Tüm test ortamındaki linux makinalar için hosts dosyası düzenlemesi aşağıdaki gibi yapılır.

echo -e "192.168.1.230\tpuppetserver.domain.com\n192.168.1.231\tnode1.domain.com\n192.168.1.232\tnode2.domain.com" >> /etc/hosts

Not : 8140. portunu güvenlik duvarından izin vermeyi unutmayın.

#Sunucu Kurulumu (Master)

wget https://apt.puppetlabs.com/puppet6-release-buster.deb && dpkg -i puppet6-release-buster.deb && apt-get update
apt-get install puppetserver

puppet.conf dosyası aşağıdaki gibi düzenlenir.

vim /etc/puppetlabs/puppet/puppet.conf
[main] certname = puppetserver.domain.com server = puppetserver.domain.com environment = production runinterval = 1h [master] dns_alt_names = puppetserver.domain.com environment_timeout = unlimited

# puppetserver servisi yeniden başlatılır.

systemctl restart puppetserver

Puppetserver JVM tabanlıdır. Ön tanımlı olarak java başlangıc ve maksimum hafıza ayarları 2Gb olarak ayarlanmıştır. Eğer ki sisteminiz 2Gb ‘dan küçük hafızaya sahipse aşağıdaki gibi hata alacaksınız.

Oct 16 10:35:54 puppetserver puppetserver[5399]: OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000780000000, 2147483648, 0) failed; error='Not enough space' (errno=12) Oct 16 10:35:54 puppetserver puppetserver[5399]: # Oct 16 10:35:54 puppetserver puppetserver[5399]: # There is insufficient memory for the Java Runtime Environment to continue. Oct 16 10:35:54 puppetserver puppetserver[5399]: # Native memory allocation (mmap) failed to map 2147483648 bytes for committing reserved memory

(more…)