sudo rm -rf /Applications/FortiClient.app
27 Şubat 2024 Salı
FortiClient'ı Sudo Yetkileri ile Kaldırma
Çeşitli Yöntemlerle Bilgisayarın Seri Numarasını Öğrenme?
Windows cmd ile:
wmic bios get serialnumber
Linux bash ile:
sudo dmidecode -s system-serial-number
Macbook Terminal:
system_profiler SPHardwareDataType | awk '/Serial/ {print $4}'
27 Ağustos 2023 Pazar
HomeBrew Path Hatası Çözümü ve Macbook'a Ubuntu Kurmanın En Kolay Yolu
Ubuntu için multipass ve paket yönetimi içinde bilgisayarıma homebrew kurmaya çalışırken path hatasıyla karşılaştım. Bu hata aslında homebrew'in kurulduğunu ancak PATH ayarlarının yapılmadığını söylüyordu. Aldığım hatanın tam olarak metni ve ekran görüntüsü aşağıdaki gibi:
Instructions on how to configure your shell for Homebrew can be found in the 'Next steps' section below. ==> Installation successful!
PATH ayarlarını yapmak için kullandığım adımlar sırasıyla aşağıdaki gibidir:
2 Nisan 2023 Pazar
pyuic ile python (.py) Dosya Dönüştürme Hatası Çözümü
PyQt5 ile hazırladığım bir formu MainWindows.ui dosyasını python dosyasına dönüştürmek istiyorum ancak dizinde .ui dosyasını görmüyor veya dönüştürme işlemi yapılsa bile dosyanın içeriğine bakıyorum herhangi bir kod gözükmüyor. Bunu çözmek için dönüştürmek istediğim .ui dosyasını shift tuşuna basılı turarak power shell ile açtım ve aşağıdaki kodu burada çalıştırarak kodların dönüştürülmesini sağladım.
python -m PyQt5.uic.pyuic -x MainWindows.ui -o MainWindows.py
29 Mart 2023 Çarşamba
Docker İmajları Export Etme ve Sanal Sunucudan Dışarıya Yedekleme - Backup SCP Copy
28 Mart 2023 Salı
Docker Hub İlk Push Komutumu Kullandım
Docker gerçekten çok keyifli bir ortam. Test ortamında yeni şeyler denedikçe daha fazla şey öğreniyorum ve gelişimim çok hızlı bir şekilde ilerliyor. Umarım sıkılmadan devam edebilirim :)
Bugün kullandığım bazı komutlar:
#Docker login and images push
docker login
docker logout
docker images
docker info | grep Registry
docker image tag alpine:3.12 gundillias/alpine:3.12
docker image push gundillias/alpine:3.12
docker pull hello-world
docker rmi feb5d9fea6a5
#Docker tüm konteynerlari kalıcı olarak silme
docker rmi $(docker images -aq)
docker rmi -f $(docker images -aq)
21 Mart 2023 Salı
Docker Container Prune - Çok Hızlı Çalışıyor
Bir süredir Docker eğitim videolarına bakıyorum ve teknolojiyi öğrenmeye çalışıyorum. Bir sonraki hedefimde kubernetes ve AWS gibi sistemler olacak. Bugün ilginç bulduğum bir komut öğrendim. Pasif olan tüm konteynerleri imha etmeye yarıyor. Dikkatli kullanmakta yarar var.
#docker container prune
Denemek için sanal sunucuda birkaç tane konteyner oluşturup ardından prune komutunu deneyebilirsiniz. Sonuç aşağıdaki gibi oluyor.
14 Ocak 2023 Cumartesi
DevOps Yolunda Önce Docker mı yoksa Kubernetes mi Öğrenmeliyiz?
4 Ocak 2023 Çarşamba
Ansible Varsayılan Yapılandırma ve Görevleri Farklı Playbooklara Dağıtma
Ansible eğitiminde fena gitmiyoruz. En son yapıyı yeniden kurgulamaya ve her bir görevi farklı playbooklara dağıtmaya çalışıyoruz. Aşağıdaki resimde de görüldüğü gibi bir dizin kurgusuna gittik. Bu sanırım Ansible Docs'un istediği veya önerdiği bir yapı. Her bir görevin altında dikkat ederseniz bir main.yml dosyası var. Ayrıca tree isimli yeni bir komut öğrendim. Linux'ta dizin alt yapısını öğrenmek için bu komutu kullanabiliyorsunuz ancak yüklü olması gerekiyor. Yüklemesi birkaç saniyelik bir işlem. Denemenizi öneririm.
28 Aralık 2022 Çarşamba
ModuleNotFoundError: No module named 'Tkinter'
Ubuntu için:
sudo apt-get install python3-tk
27 Aralık 2022 Salı
Ansible'da Değişkenler ve Inventory Dosyasında Sunucuları Gruplandırma
Ansible'ın yeteneklerini gördükçe heyecanlanıyorum ve gerçekten ufkum genişliyor diyebilirim. Birçok şey yapmaya başladık. Bugün varsayılan yml dosyası oluşturup inventory dosyamızda sunuclarımızı gruplandırdık ve görevleri yine worker'lar üzerindeki sunucu tiplerine göre çalıştırmayı başardık. Yeni yml dosyamızda artık görev görev yapılacak işlemleri ekleyip sonucunun gerçekleşmesini bekliyoruz. Yml dosyasının son hali:
inventory:
[web_sunuculari]
192.168.1.64
[veritabani_sunuculari]
192.168.1.65
apache_varsayilan.yml:
***
26 Aralık 2022 Pazartesi
gather_facts komutu
Ansible otomasyonu eğitimi çok güzel gidiyor. Playbook'ları özelleştirmeye ve farklı yöntemler kullanmaya başladık. Örneğin değişkenleri kullanarak playbook'ları özelleştirdik. Listede yer alan farklı türdeki linux dağıtımları için parametrelerden yararlanarak görevi detaylandırabiliyorsunuz. Ansible ile ilgili yaptığımız çalışma hakkında daha sonra detaylı bilgi tekrar paylaşmaya çalışacağım. Bir de şöyle bir komut kullandık bu hoşuma gittiği için özellikle blog yazmak istedim. Bir worker hakkında dözet bilgi çekip detayına bakmanıza yardımcı oluyor, hangi Linux dağıtımı vs. gibi.
$ ansible all -m gather_facts --limit 192.168.1.64 | grep ansible_distribution
Ve dönen yanıt:
24 Aralık 2022 Cumartesi
Ansible Playbook ile Apache Kurulumu Yaptım
Playbook oluşturmak ve içerisine eklediğimiz görevleri tek bir komutla tüm sunuculara uygulamak gerçekten büyük bir kolaylık. Ufkum genişledi diyebilirim. Eğitim sürecinde şöyle bir şey yaptık, ansible-otomasyonu klasörümüzde bir yml dosyası oluşturduk ve içerisine yapmak istediğimiz görevleri ekleyip kaydettik. Komutlar sırasıyla apt index'ini güncelliyor, ardından apache ve php kurulumunu da yaparak görevi tamamlıyor.
apache_yukleme.yml dosyasının içeriği:
Playbook'u çalıştırdığımız komut:
ansible-playbook --ask-become-pass apache_yukleme.yml
Visual Studio Terminal ile Githup Commit
git config --global user.name "name"
git config --user.email "e-mail"
21 Aralık 2022 Çarşamba
Ansible Maratonuna Devam - ansible.cfg Dosyasını Oluşturdum
Yazdığımız konfigürasyonla birlikte tüm sunuculara tek bir komutla ve o komutu kısaltarak ping atmayı başardık. Ayrıca bunun dışında tüm sunucuları tek bir komut ile reboot edebildik. Gayet keyifli bir konuydu. Çok yavaş ilerlediğimin farkındayım ama en azından ilerliyorum diyelim :)
17 Aralık 2022 Cumartesi
SSH Remote Host Identification Has Changed - knowsn_hosts Dosyası
Daha önce ssh bağlantısı kurulmuş ve belirli anahtarlarla bu parmak izleri dijital olarak bilgisayara tanıtılmış ancak sıfırdan yepyeni bir ssh atılmak isteniyorsa cmder veya kabuk aşağıdaki gibi bir hata verecektir. Bu aslında bir kimlik saldırısı olma ihtimaline karşı önlem amaçlı kullanıcıyı uyaran bir sistemdir. Hangi durumda karşılaştım: Daha önce kurduğum ve ssh bağlantısı oluşturduğum sanal sunucumu yeniden aynı konfigürasyonlarla kurduğumda ve ssh atmak istediğimde bu uyarıyla karşılaştım. Yani bilgisayar ssh atılacak yer için daha önce oluşturulmuş bir kayıtla verilerin uyuşmadığını dolayısıyla bunun bir tehdit olabileceğine karşı beni uyarıyor. Çözüm olarak knowsn_hosts dosyasının içerisindeki ilgili kayıtları temizledim ve bağlantıyı yeniden oluşturdum.
14 Aralık 2022 Çarşamba
İlk Shell Dosyamı Oluşturdum
Ansible otomasyonu için kurulum aşamalarını shell ile yapmaya çalışıyorum.
nano ansible.sh
chmod +rx ansible.sh
bash ansible.sh
7 Aralık 2022 Çarşamba
Visual Studio Code ile SSH Yapmak
Bunu henüz çözemedim, şimdilik ansible otomasyonunda bu aşamadayım. |
6 Aralık 2022 Salı
Ubuntu Sunucularına Kalıcı (Statik) DNS Ayarı Girmek
/etc/resolv.conf dosyasını nano ile açarak DNS girebiliyorsunuz ancak bu o anki oturumunuz sırasında geçerli oluyor ve sunucuyu kapatıp açtığınızda veya yeniden başlattığınızda DNS ayarlarınız eski haline geri dönüyor. Bunu kalıcı olarak düzeltebilmek için öncelikle Resolv.conf dosyasını unutmanız gerekmekte. Öncelikle bu dosyayla bir işiniz yok. Daha statik bir işlem yaparak bunu düzeltmek mümkün.
sudo nano /etc/netplan/00-installer-config.yaml
Ardından ilgili tabloyu DNS dahil diğer IP bilgilerinizle birlikte sytax'a uygun doldurmanız gerekiyor. Bu tabloda yazım kurallarına dikkat etmelisiniz. Çünkü doğru yazılmadığında IP veya DNS bilgileriniz okunmayacaktır. Aşağıdaki resimde yer aldığı gibi doldurabilirsiniz.
Dosyayı Ctrl+X ve Y tuşları ile birlikte kaydettikten sonra network değişikliklerini uygulamak için aşağıdaki komutu çalıştırabilirsiniz.
sudo netplan apply
Hepsi bu kadar. Geçmiş olsun.
3 Aralık 2022 Cumartesi
Çözümü resolv.conf Dosyasında Bulduk!
Kurduğum Ubuntu sunucuları internete çıkmıyordu. sudo nano /etc/resolve.conf komutu ile DNS kayıtlarını kontrol ettim ve yeni bir nameserver kaydı ekleyerek karşılığına 8.8.8.8 verdim ve Ctrl+x ve Y ile yani nanoyu kaydederek çıkış yaptım. Sonuç: yeni kurduğum sunucu internete çıkabildi.