skip to Main Content

rainloop dizin ve dosya yetki ayarları

kurulumun /var/www/rainloop dizinine yapıldığını varsayarak yetkili kullanıcı ile aşagıdaki komutlar çalıştırılmalıdır

cd /var/www/rainloop
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
cd /var/www/rainloop
chown -R www-data:www-data .

Windows Subsystem for Linux – WSL aktif edilmesi

wsl sürümünü ögrenmek yazısında wsl sürümünü ögrenmeyi ve farklarını yazmıştım. peki nasıl aktif edeceğiz sorusu için detaylı bilgi almak isterseniz https://docs.microsoft.com/tr-tr/windows/wsl/install-win10 adresini ziyaret edebilirsiniz.

veya aşagıdaki komutları powershell üzerinde çalıştırarak aktif edebilirsiniz.

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

şimdi wsl in varsayılan sürümünü 2 olarak ayarlayalım.

wsl --set-default-version 2

sonrasında mağazalar uygulamasını açarak mağazada yer alan linux dağıtımlarını yükleyebilirsiniz. benim önerim debian veya ubuntu yüklemenizdir. wsl diye aratırsanız kullanabileceğiniz dağıtımlar çıkacaktır.

herhangi bir dağıtımı seçim kurduktans sonra başlattığınızda biraz beklemeniz gerekiyor. ve sonrasında kullanıcı adı şifresi oluşturarak kullanıma hazır hale geliyorsunuz.

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

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'.

linux de cpu kullanımını kısıtlamak

genel olarak bir uygulamanın çok fazla cpu tüketmesi istenilmez. bu cpu tüketimi genel olarak bir kaç nedenden kaynaklanır.

  • kötü programcılık örnekleri
  • zafiyat oluşturmak için kötü niyetli uygulamalar
  • iyi yönetilmeyen sunucularda yük dengeleme v.b. yapılmaması
  • gerçekten işlem gücü gerektiren kernel derleme, 3d render v.b. işlemlerde

cpu tüketimi neden olursa olsun pcde bunun olmasını elbette istemiyoruz.. bunun için oldukça kullanışlı bir uygulama mevcut. önce uygulamayı sistemize kuralım.

sudo apt-get install cpulimit

kurulu yaptıktan sonra kullanmaya başlayabilirsiniz basit bir örnek yapalım.

cpulimit -l 20 python face-detect.py haarcascade.xml

diğer kullanım seçenekleri için help den yararlanılabilir. sisteminizde faza tüketilen uygulamalar için http://www.ferhatcicek.com/bilisim-dunyasi/isletim-sistemi-bilisim-dunyasi/linux/sh/20170821/yuksek-kaynak-tuketen-uygulamalari-bulmak/2177.html yazısına bakabilirsiniz.

Usage: cpulimit TARGET [OPTIONS...] [-- PROGRAM]
   TARGET must be exactly one of these:
      -p, --pid=N        pid of the process
      -e, --exe=FILE     name of the executable program file
                         The -e option only works when
                         cpulimit is run with admin rights.
      -P, --path=PATH    absolute path name of the
                         executable program file
   OPTIONS
      -b  --background   run in background
      -f  --foreground   launch target process in foreground and wait for it to exit
      -c  --cpu=N        override the detection of CPUs on the machine.
      -l, --limit=N      percentage of cpu allowed from 1 up.
                         Usually 1 - 800, but can be higher
                         on multi-core CPUs (mandatory)
      -m, --monitor-forks  Watch children/forks of the target process
      -q, --quiet        run in quiet mode (only print errors).
      -k, --kill         kill processes going over their limit
                         instead of just throttling them.
      -r, --restore      Restore processes after they have
                         been killed. Works with the -k flag.
      -s, --signal=SIG   Send this signal to the watched process when cpulimit exits.
                         Signal should be specificed as a number or 
                         SIGTERM, SIGCONT, SIGSTOP, etc. SIGCONT is the default.
      -v, --verbose      show control statistics
      -z, --lazy         exit if there is no suitable target process,
                         or if it dies
          --             This is the final CPUlimit option. All following
                         options are for another program we will launch.
      -h, --help         display this help and exit

linuxde klasör altındaki en büyük boyutlu dosyaları bulmak

find . -printf ‘%s %p\n’| sort -nr | head -10

ile en büyük 10 dosya aranmış olur.

root@cicekpc:/boot# find . -printf '%s %p\n'| sort -nr | head -10
59562456 ./initrd.img-4.13.0-46-generic
59549708 ./initrd.img-4.13.0-45-generic
43531219 ./initrd.img-4.10.0-32-generic
7870224 ./vmlinuz-4.13.0-46-generic
7870224 ./vmlinuz-4.13.0-45-generic
7579408 ./vmlinuz-4.10.0-32-generic
3884611 ./System.map-4.13.0-46-generic
3884611 ./System.map-4.13.0-45-generic
3719197 ./System.map-4.10.0-32-generic
2397909 ./grub/unicode.pf2
Back To Top
X