Ubuntu için:
sudo apt-get install python3-tk
Ubuntu için:
sudo apt-get install python3-tk
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:
***
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:
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
git config --global user.name "name"
git config --user.email "e-mail"
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 :)
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.
Ansible otomasyonu için kurulum aşamalarını shell ile yapmaya çalışıyorum.
nano ansible.sh
chmod +rx ansible.sh
bash ansible.sh
![]() |
Bunu henüz çözemedim, şimdilik ansible otomasyonunda bu aşamadayım. |
/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.
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.
Bugün çok verimli bir gündü. Öncelikle Cmder isimli bir uygulamayı keşfettim ve bilgisayarıma indirdim. SSH bağlantısı yapmak ve consol'a erişmek için büyük kolaylık. Birde daha kolay yoldan SSH bağlantısı yapmak için hazır görevler (tasks) ekleyebiliyorsunuz. SSH bağlantısı için bir görev ekledim ve bir tıkla erişim isteği atıp şifreyi girebiliyorum. Ardından sunucuda veya istediğim hostta login olmuş oluyorum. Gerçekten güzel bir teknoloji.
Linux'ta kullandığım komutlar ise aşağıdaki gibi:
SSH Bağlantıları için key oluşturma:
ssh-keygen -t ed25519 -C "Ansible Anahtarı"
: /home/panel/.shh/ansible
ls /home/panel/.ssh/
Oluşturulan anahtar dosyasının diğer sunuculara kopyalanması:
ssh-copy-id -i /home/panel/.ssh/ansible.pub 192.168.1.64
Rocky Linux üzerinde panel kullanıcısı olmadığı için orada öncelikle root dışında hesap oluşturma işlemi
sudo useradd panel
sudo passwd panel
Ansible kurulumuna geçmeden önce ana sunucuda update işlemi:
sudo apt update
Kısa bir not düşmek için bugün kullandığım basit komutları ekliyorum:
ip a
hostname
sudo hostnamectl set-hostname worker1
sudo nano /etc/netplan/00-installer-config.yaml
(Ctrl o kaydeder ve Ctrl X ile çıkılır)
sudo netplan apply
reboot now
shutdown now
Çocuklara erken yaşlarda kodlama ve dijital okuryazarlık eğitimleri aldırmak ve onların tüketen yerine biraz daha üreten tarafta olmalarını sağlamak günümüz dünyasında en önemli kazanımlardan biri diyebiliriz. STEM eğitimi olarak da adlandırılan, bazı kurumlarda robotik kodlama adı altında verilen veya direkt blok kodlama, görsel programlama da diyebileceğimiz yazılım ve teknoloji tabanlı eğitimlerin ne kadar önemli olduğunu artık çok daha iyi anlıyoruz.
Çocuklar kodlama ve dijital okuryazarlık eğitimlerini erken yaşlarda almadıklarında sadece dijital içerikleri tüketen, oyun oynayan, video izleyen veya sosyal medya platformlarını kullanan bir "kullanıcı" olmaktan dışarıya çıkamıyorlar. Bu aslında onların hayal kurmalarını, fikir üretmelerini, proje geliştirmelerini, yani gelişimlerini kısıtlayan, aynı zamanda diğer derslerinin de başarısını etkileyen çok önemli bir faktör.
Erken yaşlarda kodlama ile tanışan çocuklar algoritma ile birlikte aslında kodlamanın temel kavramlarını ve terimlerini öğrenmeye başlıyorlar. Sadece algoritmayı bile öğrenmeleri onların problem çözme yeteneklerini geliştiren, olaylara farklı bakış açılarıyla yaklaşmalarını sağlayan, hayal kurmalarını destekleyen en basit kavramlardan biri. Ancak etkisi çok büyük.
Steve Jobs kısaca bu konuda şöyle diyor: "Bilgisayar programlamayı herkes öğrenmeli. Çünkü bu, size düşünmeyi öğretir."
Çocuklarda düşünmeyi ve hayal kurmayı öğrenirler. İşte bundan daha değerli ne olabilir. Bırakın çocuklarınız hayal kurabilsinler, düşünsünler, kendileri bir fikir bulsun ve çok basit bir oyun bile olsa somut bir proje yapıp başarma duygusunu tatsın. Bu inanılmaz kıymetli bir kazanım. Kodlama eğitimleri elbette algoritma ve yazılımın temellerini kazandırdığı gibi matematik, fizik ve İngilizce gibi diğer derslerin gelişimlerini destekleyici içeriklere sahip olduğu için çocuğun genel olarak okul başarısını olumlu yönde etkiler.
Scratch MIT üniversitesinin geliştirdiği ve ücretsiz olarak kullanıma sunulan blok tabanlı bir programlama dili ve arayüzü. Junior olarak adlandırılan biraz daha küçük yaş gruplarına hitap eden, telefonla kullanılabilen arayüze sahip oldukları gibi birde web sitesi üzerinden veya bilgisayara yüklenebilen bir programla da kod yazma imkanı sunan platform. Ücretsiz olması, dünya tarafında geliştiriciler tarafından desteklenmesi, çizim desteği, diğer platformlarla entegre proje geliştirmeyi desteklemesi artı yönleri olarak sıralanabilir.
Ancak Scratch dilinin ve platformunun eksi yönleri nelerdir diye soracak olursanız: Yaş gruplarına ve seviyelere göre kod paletlerinin değiştirilememesi ve yazılı kodlama dillerine geçişi kolaylaştıran bir arayüze sahip olmamasını söyleyebiliriz.
Bu videoda kütüphane kullanarak bilgisayarımıza nasıl modu indiririz kısaca aktarmak istiyorum. Öncelikle BeamNG Drive'ın web sitesine gidiyoruz ve aradığımız, oyunumuza dahil etmek istediğimiz mod'u araştırıp buluyoruz ve tabii ki bilgisayarımıza bu modu zip dosyası olarak indiriyoruz.
Ve artık oyunu başlatabilir, oynamak istediğim mod paketini yükledikten sonra (paketten çıkarma işlemi) aracımı seçebilirim. Mod yükleme işlemi burada bitiyor. Unutmamanız gereken: paketi çıkarttıktan sonra yüklediğiniz aracı normal araç galerisinden bulmanız gerektiğidir. Ayrı bir yerden mod araçlarını seçmiyorsunuz yine normal galeriyi kullanıyorsunuz. Keyifli oyunlar :)
MPH olarak gelen standart hız göstergesini KMH olarak değiştirmek için yapmanız gereken çok basit bir işlem var. Forza Horizon ayarlarına girdikten sonra ingilizce şu adımları takip ederek rahatlıkla değişikliği yapabilirsiniz. Hud and Gameplay > Units > Metric
Daha sonrasında değişikliği kaydederek oyuna geri dönebilirsiniz.
TikTok nasıl bu kadar popüler oldu ve kullanıcı sayısına ulaştı bir fikrim yok ancak sosyal medya kullanıcısı dediğimiz belirli bir kitle hızlı bir şekilde TikTok'ta yerini almaya başladı. Bende deneme amaçlı açtığım bir TikTok hesabıma yakın zamanda oyun videoları yüklemeye başladım. Gerçekten de burası çok hızlı bir tüketim ve etkileşim yeri. Bir süre TikTok ile içerik paylaşmayı sürdürmeyi planlıyorum ve bakalım neler olacak. Belki de bizi yüksek takipçi sayıları ve beğeni istatistikleri bekliyordur, kim bilir? :)
sudo passwd -e kullanici komutundan sonraki ilk oturum açma işleminde kullanıcı kendisine özel şifre belirlemeye zorlanır.
sudo usermod kullanici -e 2023-01-01 komutu ile kullanıcı hesabının ne zaman devre dışı bırakılacağı belirlenir.
Group Policy kullanımına ve detaylarına baktığım şu sıralar ilk kuralımı oluşturdum ve bunu domainimdeki bilgisayarlara uygulayarak sonucunu gözlemledim. Oluşturduğum basit bir kural ile domaindeki bilgisayarların masaüstünde yer alan "Bilgisayarım/My Computer" simgesini disable yani görünmez olarak güncelledim. Böylece kullanıcılar özelleştirme ve kişiselleştirme ekranından bu simgeyi masaüstlerine eklemek isteseler dahi GPO sayesinde bu engellenmiş oluyor.
Yeni bir kullanıcı oluşturulduğunda diğer kullanıcıların erişimine kapalı olarak gelmesini sağlamak için etc dizini altındaki login.defs dosyası içerisinde bulunan UMASK değeri 077 olarak güncellenir ve dosya kaydedilir.
Bunun için:
sudo nano /etc/login.defs