skip to Main Content

ngrok – statik ip ye sahip olmayan natlanmış kullanıcılar için

snap destekli bir linux dağıtım kullanıyorsanız

 snap install ngrok 

ile kurulumu yapalım. üyelik gerektiren

https://dashboard.ngrok.com/get-started/setup

adresine girerek tunel oluşumu için kullanılacak authtoken bilgisini ögrenelim ve

ngrok config add-authtoken <token>

ile bağlantıyı gerçekleştirelim. sonrasında bilgisayarımızdaki protokol ve portu tunelliyelim.

ngrok http 80

ekran çıktısında Forwarding satırında dış dünyadan bilgisayarımıza erişebileceğiniz bir ngrok.io adresi yer alacaktır.

Forwarding                    https://xxxx-xx-xxx-xx-xx.eu.ngrok.io -> http://localhost:80      

bundan sonra olası tüm riskler tabiki sizeaittir :)

nginx den alan adının ve sertifikanın silinmesi

öncelikle alan adımı tanımlayalım

alanadi=ferhatcicek.com

alanadına ait konfigürasyon dosyalarını silelim

sudo rm /etc/nginx/sites-available/$alanadi
sudo rm /etc/nginx/sites-enabled/$alanadi

nginx i yeniden başlatalım

sudo nginx -t  
sudo service nginx restart

ve mevcut sertifikaları görüntüleyelim ve alanadına ait sertifikayı certboot ile silelim

certbot certificates

sudo certbot delete --cert-name $alanadi

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

linuxde dizin altındaki dosya sayıları

du -a | cut -d/ -f2 | sort | uniq -c | sort -nr

fcicek@cicekpc:/media/fcicek/DOKUMAN$ du -a | cut -d/ -f2 | sort | uniq -c | sort -nr
   1255 site
    605 mcu cpu
    338 turkce

ubuntu üzerinde ssh sunucu

ubuntu üzerinde ssh sunucuyu aktif etmek istiyorsanız openssh-server i kurmak yeterli olacaktır.

fcicek@ubuntu:~$ sudo apt-get install openssh-server

sunucunun aktif olduğunun kontrollerini yapalım.

fcicek@ubuntu:~$ ps -aux|grep sshd
root        472  0.0  0.5  72136  5656 ?        Ss   09:31   0:00 /usr/sbin/sshd -D
root       1268  0.0  0.7 105604  7044 ?        Ss   09:36   0:00 sshd: fcicek [priv]
fcicek     1292  0.0  0.4 105604  4608 ?        S    09:36   0:00 sshd: fcicek@pts/0
fcicek     1467  0.0  0.1  14352  1168 pts/0    S+   09:44   0:00 grep --color=auto sshd

linuxte yüksek kaynak tüketen uygulamaları bulmak

root@cicekpc:/home/fcicek#  ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
  PID  PPID CMD                         %MEM %CPU
 2878  2102 /usr/lib/firefox/firefox    17.8 28.3
 1274     1 /usr/sbin/mysqld             1.8  0.0
 2579  2102 /usr/bin/compiz              1.4  1.5
 2710  2452 /usr/bin/gnome-software --g  1.0  0.0
 1313  1267 /usr/lib/xorg/Xorg -core :0  0.8  1.8
 2723  2452 nautilus -n                  0.6  0.0
 2879     1 /usr/lib/fwupd/fwupd         0.6  0.0
 3083  2102 /usr/lib/gnome-terminal/gno  0.5  0.1
 1513     1 dockerd -G docker --debug -  0.5  0.1

debian altında kullanılmayan yapılandırma dosyaları

sisteminiz üzerinden programı kaldırdıktan sonra sistem üzerinde kalan ve kullanılmayan yapılandırma dosyalarını bulmak için

dpkg -l | awk '/^rc/ {print $2}'

kaldırmak için

sudo su
dpkg -l | awk '/^rc/ {print $2}' | xargs dpkg --purge

kullanabilirsiniz.

linuxde açık port ve socket

linuxte açık portları ve socketleri öğrenmek istiyorsak, en temel uygulamamız netstat dan başka bir şeye gerek yok.

fcicek@fcicek-home:~$ sudo netstat -plnt
Aktif internet bağlantıları (sadece sunucular)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               DİNLE      1298/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               DİNLE      3905/cupsd          
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               DİNLE      1525/postgres       
tcp        0      0 127.0.0.1:5433          0.0.0.0:*               DİNLE      1508/postgres       
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               DİNLE      1436/mysqld         
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               DİNLE      1293/systemd-resolv 
tcp6       0      0 :::22                   :::*                    DİNLE      1298/sshd           
tcp6       0      0 ::1:631                 :::*                    DİNLE      3905/cupsd          
tcp6       0      0 :::5355                 :::*                    DİNLE      1293/systemd-resolv 
tcp6       0      0 :::80                   :::*                    DİNLE      1524/apache2

 

fcicek@fcicek-home:~$ netstat -lx 
Active UNIX domain sockets (sadece sunucular)
Proto RefCnt Flags       Type       State         I-Node   Yol
unix  2      [ ACC ]     AKIŞ      DİNLENİYOR  34197    /tmp/.ICE-unix/2505
unix  2      [ ACC ]     AKIŞ      DİNLENİYOR  28166    /run/user/125/bus
unix  2      [ ACC ]     AKIŞ      DİNLENİYOR  34061    /run/user/1000/systemd/private
unix  2      [ ACC ]     AKIŞ      DİNLENİYOR  34066    /run/user/1000/bus
unix  2      [ ACC ]     AKIŞ      DİNLENİYOR  34196    @/tmp/.ICE-unix/2505
unix  2      [ ACC ]     AKIŞ      DİNLENİYOR  87786    /tmp/.org.chromium.Chromium.9o8hA2/SingletonSocket
unix  2      [ ACC ]     AKIŞ      DİNLENİYOR  27553    @/tmp/.ICE-unix/1750

 

Back To Top