skip to Main Content

wsl sürümünü ögrenmek

windows son sürümleri ile hayatımıza girenWSL ( Windows Subsystem for Linux ) in hangi versionda çalıtığını ögrenmek için aagıdaki komut yapısı kullanılabilir.. wsl2 kullanabilemek için windowsun bazı güncellemeleri almış olması gerekiyor.

PS C:\Users\fcicek> wsl -l -v
  NAME                   STATE           VERSION
* Debian                 Stopped         1
  docker-desktop-data    Running         2
  Ubuntu-18.04           Running         1
  docker-desktop         Running         2

wsl ile wsl2 arasında ne fark derseniz microsoftun kendi sitesinde aşagıdaki tablo yer alıyor.

FeatureWSL 1WSL 2
Integration between Windows and Linux
Fast boot times
Small resource foot print
Runs with current versions of VMware and VirtualBox
Managed VM
Full Linux Kernel
Full system call compatibility
Performance across OS file systems

Intel AMT den kurtulmaya çalışmak

lenovo, hp gibi bir bir pc niz varsa intel üzerinde kimi uzmanlar tarafından bir donanım arka kapası olarak adlandırılan AMT ilk kullanmaya başladığınız andan itibaren aktif olabilir.

farklı şekilde açıklanabilselde genel olarak ilk zamanlarda intel bunu yalanladı, belgelendikten sonra yeni chiplerinde kullanıcılar için sunulmuş bir özellik gibi sunulmaya başladı.

peki ben pc imde bunun aktif olup olmadığını nasıl anlarım derseniz en basit yolu bir tarayıcı açın ve

http://localhost:16992

yazın eğer karşınza

Intel® Active Management Technology 

başlığını içeren aşagıdaki ekran görüntüsüne benzer

bir sayfa geliyorsa pc nizde aktif demekdir. konfigürasyon türüne gelecek sayfa birebir aynı olmayabilir..

farklı şekillerde emin olmak isterseniz yönetici olarak cmd yi açın ve netstat ile bu serivs tarafından kullanılan portlara bakın.

C:\Program Files (x86)\Intel\SCS ACUConfig>netstat -na | findstr "\<16993\> \<16992\> \<16994\> \<16995\> \<623\> \<664\>"
  TCP    0.0.0.0:623            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:16992          0.0.0.0:0              LISTENING
  TCP    [::]:623               [::]:0                 LISTENING
  TCP    [::]:16992             [::]:0                 LISTENING

yukarıda görüldüğü üzere 4 farklı porttan dinleme yapılmaktadır.. servis bazlı kontrol etmek isterseniz ise

C:\Program Files (x86)\Intel\SCS ACUConfig>sc qc LMS
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: LMS
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 4   DISABLED
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : "C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\LMS\LMS.exe"
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Intel(R) Management and Security Application Local Management Service
        DEPENDENCIES       : RPCSS
        SERVICE_START_NAME : LocalSystem

şeklinde kontrol edebilirsiniz. görüldüğü üzerer benim kontrol yaptığım bilgisayarda aktif görülüyor.. AMT yi devre dışı bırakmaya BIOS dan başlamak gerekiyor..

BIOS açılış ekranında

MEBx - F6

seçimi yapılmalı. ( Ben HP elitebook serisinden BIOS güncel bir PC kullanınıyorum. BIOS sürürümlerine göre menülerde değişiklik olabilir. ) aşagıdaki şekildeki bir ekranla karşılaşmanız gerekiyor.. burada fabrika ayarları çıkış şifresi “admin” dir. bu şifreyi değiştirmeniz gerekiyor. değişim sonrası AMT ve ME aktif duruma gelecektir.

ME kısmında yapılacak hatalar Pc nin açılmamasına neden olabilir dikkat edilmesinde fayda var.

AMT konfigürasyon içine girelim. ekran görüntüsü aşagıdaki gibi olacaktır.. artık “Manageability Feature Selection” ini disable yapailiriz.

bu özelliği disable ederseniz KVM vb özelliklere sahip uzaktan yönetim araçlarının pc nizde artık tüm özellikleri doğru şekilde çalışmayabilir.

BIOS ayarlarını kaydedip windowsu yeniden açabilirsiniz. windows açıldıktan sonra pc nizde intelle alakalı bilmediğiniz

Intel® Active Management Technology (Intel® AMT)

ile alakalı olabilecek tüm yazılımları kaldırın.

MTA kurulumu sonrası kontroller

shell üzerinden mevcut kullanıcınız ile farklı bir kullanıcıya eposta göndermek için

echo "test eposta icerigi" | mail -s "test eposta basligi" testkullanici@ferhatcicek.com

kullanabilirsiniz.. mail yoksa mailutils paketini kurmanız gerekebilir.

sudo apt-get install -y mailutils

mail gönderme başarısız olduysa logları incelemek gerekcek. MTA olarak postfix kullandığımız varsayarak maille ilgili en temel loglara bakmak için

sudo tail /var/log/mail.log
sudo tail -f -n 100 /var/log/syslog | grep postfix

kullanabiliriz….

php mail() fonksiyonunu kullanarak eposta sunucunuzun sorun olmadan kullanılma testlerini yapmak istersek en temel php kodu aşagıdaki şekilde olacaktır.

<?php
$to      = 'testkullanici@ferhatcicek.com';
$subject = 'test epostasi';
$message = 'test eposta icerigi';
$headers = 'From: testkullanici2@ferhatcicek.com' . "\r\n" .
    'Reply-To: testkullanici2@ferhatcicek.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

Time Zone kontrolü ve değişikliğinin yapılması

öncelikle sistem üzerinde tanımlı “time zone” kontrolünü yapalım

root@test:# timedatectl status
                      Local time: Fri 2020-10-30 00:14:47 CST
                  Universal time: Thu 2020-10-29 16:14:47 UTC
                        RTC time: Fri 2020-10-30 00:14:48
                       Time zone: Asia/Shanghai (CST, +0800)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

çıktından görüldüğü gibi sunucuz time zone u Asia/Shanghai olarak ayarlanmış görülmektedir. bunu ülkemize uygun olarak değiştireceğiz. öncelikle listede istanbul varmı kontrolü yapalım.

root@test:# timedatectl list-timezones | grep Istanbul
Europe/Istanbul

artık değişikliği yapabiliriz.

root@test:# timedatectl set-timezone Europe/Istanbul

time zone değişikliğini yapmış olduk. duruma ait kontroli tekrarlayalım.

root@test:# timedatectl status
                      Local time: Thu 2020-10-29 19:15:30 +03
                  Universal time: Thu 2020-10-29 16:15:30 UTC
                        RTC time: Thu 2020-10-29 19:15:30
                       Time zone: Europe/Istanbul (+03, +0300)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

wget ile google drive dan büyük boyutlu dosya indirmek

google drive özellike büyük boyutlu dosya indirecekseniz bu bazen sorun olabiliyor. öncelikle google drivedaki paylaşımı açılmış dosya bağlantısını alın.

https://drive.google.com/file/d/DRIVE_DOSYA_ID/view?usp=sharing

buradaki DRIVE_DOSYA_ID yazan alanı aşagıdaki komutta ile değiştirin ve dosya adı vermeyide unutmayın.. kod çok temiz ama çalışmaktadır.

wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=DRIVE_DOSYA_ID' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=DRIVE_DOSYA_ID" -O DOSYA_ADI && rm -rf /tmp/cookies.txt

wordpress kalıcı bağlantılar sorunu

seo uyumu için wordpress de kalıcı bağlantılar altında değişikli yaptınız ve siteniz linkleri doğru olarak çalışmıyorsa temelde kontrol etmeniz gereken bir kaç nokta var. ubuntu + apache kullanıdığı varsılarak kontrol edilmesi gerekenlerden ilki ve temel sorunu sitenize ait .htaccess dosyası ve içeriğinin kontrolüdür.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

kalıcı bağlantılar altında değişik yaptığınız dosya sistemi izinleri doğru şekilde yapılandırıldıysa wordpress .htaccess içeriğine yukarıdaki satırları ekleyecektir. .htacesss içeriği kontrol edilmeli ve içerik boşsa en temel olan yukarıdaki satırlar eklenmelidir.

daha genel bir sorun ise mod_rewrite eklentisi sorunları olabilir. modul aktif edilmeli ve apache yeniden başlatılmadır

sudo a2enmod rewrite

sudo systemctl restart apache2

bunu yaptınız ve hala düzelmiyorsa birde apache.conf dosyasının kontrol edilmesinde fayda var. AllowOverride parametlerisini All olarak değiştirin.

    <Directory /var/www/html>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require all granted
    </Directory>

ssh root erişimini engelleme

en temel güvenlik ihtiyaçlarından bir tanesidir root kullanıcısının ssh ile bağlantısının engellenmesi.

$ sudo nano /etc/ssh/sshd_config

ssh konfigürasyon dosyasını açıyoruz ve PermitRootLogin ve PasswordAuthentication parametlerini no olarak değiştiriyoruz.

PermitRootLogin no
PasswordAuthentication no

sonrasında takibi sunucumu yeniden başlatmayı ihmal etmiyoruz.

sudo service ssh restart

raspberry pi üzerinde minidlna

çok fazla karışık olmayan basit bir dlna server ihtiyacınız varsa minidlna tam size göre. raspbery pimi açıyoruz ve kurulumu gerçekleştiriyoruz.

 sudo apt-get install minidlna

kurulum sorunsuz olarak tamamlandıktan sonra. minidlna mızı konfigüre edebiliriz.. bunun için bize öncelikle video, ses, resim dosyalarımızın konumu gerekiyor. raspberrypi ye herhangi bir taşınabilir bir disk taktığınızı ve doğru şekilde mount edildiğini varsayacağız.

 df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda1      976760001 366707224 610052777  38% /media/usb

taşınabilir diskimizin kontrolü yaptıktan sonra minidlna nın root olarak çalıştırılmaması önerilmektedir.

 sudo nano /etc/default/minidlna

dosyası içerisinde

# User and group the daemon should run as
#USER="minidlna"
#GROUP="minidlna"

gerekli değişiklikler yapılabilir.. şu aşamada bu çok önemli değil. genel ayarları yapalım. konfigürasyon dosyasını açalım

sudo nano /etc/minidlna.conf

dosya içerisinde aşagıdaki satırları bulalaım

#   * "A" for audio    (eg. media_dir=A,/var/lib/minidlna/music)
#   * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
#   * "V" for video    (eg. media_dir=V,/var/lib/minidlna/videos)
#   * "PV" for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
media_dir=/var/lib/minidlna

ben video ve müzik için tanımlamaları yapacağım.

media_dir=V,/media/usb/ARSIV/FILM
media_dir=A,/media/usb/ARSIV/mp3

dosyayı kaydedip çıktıntan sonra. minidlna nın başlatılması gerekecek. şimdi başlatalım. aktif olarak çalışıyorsa yeniden başlatmanız gerekiyor tabiki..

sudo service minidlna start
sudo service minidlna restart
sudo service minidlna force-reload

uygun parametre ile minidlna yı başlattıktan sonra, durum bilgisini kontrol ettiğinizde servisin yeniden başladığından emin olmalısınız.

pi@raspberrypi:~ $ sudo service minidlna status
● minidlna.service - LSB: minidlna server
   Loaded: loaded (/etc/init.d/minidlna; generated)
   Active: active (running) since Sun 2020-07-26 17:40:36 +03; 24min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1478 ExecStart=/etc/init.d/minidlna start (code=exited, status=0/SUCCESS)
    Tasks: 2 (limit: 2068)
   CGroup: /system.slice/minidlna.service
           └─1497 /usr/sbin/minidlnad -f /etc/minidlna.conf -P /run/minidlna/minidlna.pid -r

Jul 26 17:40:36 raspberrypi systemd[1]: Starting LSB: minidlna server...
Jul 26 17:40:36 raspberrypi systemd[1]: Started LSB: minidlna server.

artık minidlan kullanıma hazır. aynı ağdaki bir cihazdan tarayıcınıza

http://raspberry-pi-ip-adresi:8200

adresini yazarak minidlna nın durum bilgisine ulaşamabilirsiniz… yazdığım dizinlerde 481 tane film 2887 tanede mp3 müzik dosyası varmış.

dlna client özelliği olan herhangi bir cihazdan artık içeriğe erişebiliriz. ben testi evdeki vestel televizyonda ve windows 10 da test yaptım.

ekran görüntüsü yer aldığı gibi raspberrypi yi sorunsuz olarak gördü. videoları sorunsuz izleyebiliyorum. ancak mp3 lerde sorun yaşadım. mp3 kısmını kullanmadığım için çok detaylı incelemedim ancak mp3 sayısının çok fazla olması, cache aktif etmemem ve mp3 isimlerinde ve mp3 taglarında çok fazla türkçe ve absürt karartker yer almasından kaynaklandığını düşünüyorum.

artık elimizde çalışan bir dlna servisimi var. biraz kişileştirmek isterseniz konfigürasyon dosyasını açarak

sudo nano /etc/minidlna.conf

örneğin clientlerda görünen dlna sunucu adını,

# Name that the DLNA server presents to clients.
# Defaults to "hostname: username".
#friendly_name=
friendly_name=cicek_dlna_server

değiştirebilirsiniz.

NOT: bu servisi aktif kullanılırken raspberrynizde aktif bir şeyler yapmak isterseniz dikkatli olur.. benim rpi de hd video izlerken %25 sistem kaynakların tüketiyor.

raspberry pi üzerinde en basitinden telegram

yaptığınız uygulamaları sosyal platformlar ile buluşturmak istiyorsanız telegram bunun için iyi bir başlangıç olabilir.

öncelikle mevcut bir telegram hesabınız olması gerekiyor. hesabınızla

BotFather

botunu bulun ve sırayla

/start
/newbot
/kullanicak_bot_adi_bot ( sonunda bot olmak zorunda)

yazıyoruz. adımları doğru şekilde gerçekleştirdiysek; yeni bir bot oluşturarak bize bir token / HTTP API üretecek.

uygulamamızı raspberry pi üzerinde gerçekleştireceğimiz için bize öncelikle sağlam bir kütüphane gerekiyor. ben bu uygulamamızda python – teleport kütüphanesi kullanacağım

pip install telepot

ile kütüphanemizi raspberry pi üzerine kuralım. ( python , pip vb gereksinimlerin daha önceden kurulu olduğu varsayılmaktadır)

kullanıcıdan gelecek komutları dinleyen ve buna cevap dönecek basit bir bot yapalım. aşağıdaki örnekte raspberry pi nin gerçek ipsini, zamanı gibi basit bir kaç fonksiyonun nasıl gerçekleştirileceği görülmektedir.

uygulamayı geliştirerek raspberry pi ile istediğiniz tüm işlemleri telegram üzerinden yönetebilirsiniz.

#coder :- Ferhat Cicek

import sys
import time
import telepot
import requests
import datetime

def handle(msg):
    chat_id = msg['chat']['id']
    command = msg['text']

    print('Komut: %s' % command)

    if command =='ip':
       ipadd = requests.get('https://checkip.amazonaws.com').text.strip()
       bot.sendMessage(chat_id, str(ipadd))
    elif command == 'zaman':
        bot.sendMessage(chat_id, str(datetime.datetime.now()))
    elif command == 'resim':
        bot.sendPhoto(chat_id, photo="http://www.ferhatcicek.com/wp-content/uploads/2019/09/kalyon.jpg")
    elif command == 'dosya':
        bot.sendDocument(chat_id, document=open('/home/pi/telegram/telegram.py'))
    elif command == 'muzik':
        bot.sendAudio(chat_id, audio=open('/home/pi/test.mp3'))

bot = telepot.Bot('6686324245:AAVuDyUVKAYeKVLW3TuFD5ty_3XTVQTnpZQ')
bot.message_loop(handle)
print('Komut bekleniyor...')

while 1:
    try:
        time.sleep(10)
    except KeyboardInterrupt:
        print('\n Program sonlandı')
        exit()
    except:
        print('Hata')

python ile yazdığımız bu küçük uygulamayı çalıştırsak ve raspberry pi

ve telegrama ait ekran görüntüleri aşağıdaki gibi olacaktır.

Microsoft Mağazalar açılmıyorsa

Herhangi bir nedenle mağazalar uygulaması herhangi bir sebepten ( yanlışlıkla, bt yöneticisi uygulama yüklenmesini engellemek vb ) pc den kaldırılmış olabilir. Sorun gidericileri v.b. ile çözüm bulamadıysanız mağazalar uygulamasını yeniden kurmak çözüm sağlayabilir.

bunun için öncelikle powershell uygulamasını yönetici olarak çalıştırmanız gerekmektedir

powershell

powershell açıldıktan sonra bize gerekli olan mağazalar uygulamasının tam paket adını öğrenelim.

Get-Appxpackage -Allusers Microsoft.WindowsStore

komutunu çalıştıralım ve PackageFullName ifadesinin karşısında yazan alanı kopyalayalım ( Microsoft.WindowsStore_11811.1001.18.0_x64__8wekyb3d8bbwe ) ve aşağıdaki ******** yazan yere

Add-AppxPackage -register "C:\Program Files\WindowsApps\********\AppxManifest.xml" -DisableDevelopmentMode

yazarak komutu çalıştıralım.

Add-AppxPackage -register "C:\Program Files\WindowsApps\Microsoft.WindowsStore_11811.1001.18.0_x64__8wekyb3d8bbwe\AppxManifest.xml" -DisableDevelopmentMode
powershell

büyük olasılıkla sorun çözülmüş olacaktır. bunda sonra sorun devam eder ise windows uygulamalar altında mağazalar uygulamasını açarak onarma işleminizi yapmanızı ayrıca microsoft hesabı ayarlarını kontrol etmeniz önerilmektedir.

Back To Top