Kategori arşivi: Debian

debian işletim sistemi hakkında bilgiler, debian yapılandırma örnekleri, debian güvenlik önlemleri ve performans iyileştirmeleri, güncel haberler

Debian 9 Hyper-V Daemons Kurulumu

Hyper-V sanallaştırma ortamı kullanılacaksa uygulama üzerinde hyper-v için bir takım servislerin çalışması gerekmektedir. Örneğin; makinelerin ip adreslerinin gözükmesi ve ölçümlerin tespiti için sisteme ekleme yapmamız gerekiyor. Bu bağlamda aşağıdaki paketin sisteme eklenmesi gerekmektedir. Hyper-V Daemons, Vmware üzerinde her zaman kurduğumuz Vmware Tools ile aynı işlevleri görmektedir.

apt install hyperv-daemons

Aynı şekilde eğer sistem debian tabanlı olan ubuntu ise aşağıdaki paket sisteme dahil edilmelidir.

apt install linux-image-virtual

Ardından sistemlerin yeniden başlatılmasına gerek yoktur.

Debian DHCP Server libisccc-export.so Hata Çözümü

Gece gece oturmuş DHCP ayarlaması yapıyordum. Evdeki cihazlar için Wifi ve LAN ayırımı yaparak düzenlemelerde bulunup network’ü ayırmak istedim.

İstedim ama bu dhcp sunucusunu kurarken nasıl olduysa default sistemde birşeyler ters gitmiş ve aşağıdaki hatayı almaya başladım.

dhcpd: error while loading shared libraries: libisccc-export.so.140: cannot open shared object file: No such file or directory

İlk başta bakınca dhcpd.conf üzerinde bir hata gidi duruyor. Ama alakası yok shared kütüphanelerden biri kurulurken yada başka bir durumdan dolayı bozulmuş.

Çözümü ise oldukça basit aşağıdaki paketin kurulumunu tekrar ettirmeniz yeterli olacaktır.

apt install --reinstall libisccc-export140

Bu işlemi yaptıktan sonra dhcpd -t dediğinizde aşağıdaki gibi bir sonuç vermesi gerekiyor.

Internet Systems Consortium DHCP Server 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Config file: /etc/dhcp/dhcpd.conf
Database file: /var/lib/dhcp/dhcpd.leases
PID file: /var/run/dhcpd.pid

Hadi sağlıcaklı kalın.

Haydi Debian’da Ethereum Kazalım

Yakın bir zamandan beri, kripto para çılgınlığı İnternet topluluklarını oldukça sardı ve herkes bir mining diye  tutturdu. Millet kar amacı için bir sürü para harcayarak sistemler yaptı.

Mağazalarda kısa bir süre önce ekran kartları bile tükendi örneklerini pek çok e-ticaret sitesinde gördük. Genelde windows makineler ile herkes kazma işlemine başladı ancak linux bir sistem kullanıyorsanız yada kullanacaksanız niye sizde kazma işlemi yapmayasınız ?

2 GB VRAM ve yukarısı bir ekran kartınız elinizde varsa kazım işlemine başlayabilirsiniz.

Ethereum’u mining etmek için bir komut satırı aracı olan “ethminer” adlı yazılıma ihtiyacınız var. Birden çok Linux dağıtımı üzerinde çalıştırılabiliyor.

Başlamadan önce ben uyarımı yapayım zamanınızı boşa harcamamak için, 2GB VRAM’ın altında bir ekran kartı ile kazım yapmaya çalışmayın; çünkü yazılım tarafından algılanmayacak ve herhangi bir kazım belirtisi göremeyeceksiniz.

gerekli olan paketlerin sisteme dahil edilmesi

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ethereum/ethereum

Ubuntu reposunu debiana eklediğimiz için başımızı ağrıtacağını düşündüğümden şunuda şuraya ekliyorum bu aşamayı yapmadan geçmeyin

sudo sed ‘s/jessie/vivid/’ -i /etc/apt/sources.list.d/ethereum-ethereum-*.list

sonra repoları güncelleyelim hatasız kazasız belasız güncellesin

sudo apt-get update

Şimdi yapmamız gerekenler sisteme paketleri dahil etmek 3 adet kuracağımız var.

sudo apt-get install ethereum
sudo apt-get install geth
sudo apt-get install ethminer

Bu aşamadan sonra cüzdanınızı seçiyorsunuz. Mining yapacağınız networkü seçiyorsunuz. Ve aşağıdaki komutu veriyorsunuz ki mining işlemine başlasın

ethminer -G -F http://<poolname>/<YOUR_WALLET>

mining işlemine başladığını terminalde [OPENCL] Found suitable OpenCL device xxx bytes of GPU Memory ile ilgili görmeniz gerekenler var kaç tane ekran kartınızın olduğuna ve modeline göre değişir tek değişmeyen şey OpenCL ve Found yazıları olacaktır 🙂

Debian Üzerine rTorrent ve Plex Server Kurulumu

Geçenlerde OVH adlı firmanın muadili olan ve gene OVH’nın olan SoYouStart adlı mekandan bir adet 32 GB sunucu almak istedim. Aldımda 6 TB diskimiz var ben bunu hem download sunucusu hem media center yaparım dedim belki ilerleyen zamanlarda farklı özelliklerde eklerim.

Şimdi ilk rtorrent ve yönetim ekipmanını kuralım. Daha sonra Plex kurulumunu yapalım.

wget https://downloads.plex.tv/plex-media-server/1.5.6.3790-4613ce077/plexmediaserver_1.5.6.3790-4613ce077_amd64.deb
dpkg -i plexmediaserver_1.5.6.3790-4613ce077_amd64.deb

Kurulumu tamamlandıktan sonra sistemde otomatik olarak servisleri çalışmaya başlayacak bunu anlayabilmek için ise

netstat -ntp

Direk :32400 ile biten bir çıktı görmeniz lazım bir sürü kapı arasından bulmaya çalışabilirsiniz.

Bu arkadaşımızın direk olarak kullanılabilir adresi localhost:8888olacak daha doğrusu biz sonrasında halledeceğiz

Geldik rtorrent kurulumuna ve bunun webden yönetim için kullanacağımız nodejs tabanlı Flooda

apt-get install rtorrent

Kurmuş olduğumuz rtorrent için kullanıcı oluşturmaya geldi sıra

adduser --disabled-password rtorrent

Bu kullanıcıyı oluştururken şifre tanımlaması yapmayacağım diyoruz. Gerek yok çünkü

Şimdi sıra geldi SCGI bağlantı noktasını ayarlamaya bunu ayarlamamız gerekiyor çünkü ayarlamazsak Flood iletişim kuramaz.

Nano /home/rtorrent/.rtorrent.rc

İçerisine aşağıdaki eklemeleri yapıyoruz.

# Where rTorrent saves the downloaded files
directory = /srv/torrent/downloads
 
# Where rTorrent saves the session
session = /srv/torrent/.session
 
# Which ports rTorrent can use (Make sure to open them in your router)
port_range = 50000-50000
port_random = no
 
# Check the hash after the end of the download
check_hash = yes
 
# Enable DHT (for torrents without trackers)
dht = auto
dht_port = 6881
peer_exchange = yes
 
# Authorize UDP trackers
use_udp_trackers = yes
 
# Enable encryption when possible
encryption = allow_incoming,try_outgoing,enable_retry
 
# SCGI port, used to communicate with Flood
scgi_port = 127.0.0.1:5000

Dosyaların ineceği alanı ve oturum bilgileri için alanları açıyoruz.

mkdir /srv/torrent
mkdir /srv/torrent/downloads
mkdir /srv/torrent/.session

Bu tüm dizinler için izinleri veriyoruz.

chmod 775 -R /srv/torrent 
chown rtorrent:rtorrent -R /srv/torrent 
chown rtorrent:rtorrent /home/rtorrent/.rtorrent.rc

Son olarakta systemD kardeş için bir adet dosya oluşturacağız. Başlatma ve durdurma için

nano /etc/systemd/system/rtorrent.service

İçerisine aşağıdaki komutları direk ekliyorsunuz.

[Unit]
Description=rTorrent
After=network.target
 
[Service]
User=rtorrent
Type=forking
KillMode=none
ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent
ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent
WorkingDirectory=%h
 
[Install]
WantedBy=default.target

Ön yükleme aşamasında çalışsın diye gerekeni yapıyoruz.

systemctl enable rtorrent.service

Başlatma işlemini gerçekleştiriyoruz.

systemctl start rtorrent

Flood Kurulumu

Şimdi rtorrent kurulumumuz tamamlandı geldik Flood kurulumuna oldukça basit bir kuruluma sahip

Nodejs ninde 6.9 ve üstü bir sürüm yüklü olması gerekiyor ki düzgün çalışsın onlarıda şu şekilde kuruyoruz.

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

Şimdi github deposundan direk olarak uygulamaya ait dosyaları çekiyoruz.

apt-get install git
cd /srv/torrent
git clone https://github.com/jfurrow/flood.git

Şimdi github deposunda bulunan config dosyasını düzeltmemiz gerekiyor ismini değiştireceğiz başka bir şey bulunmuyor.

cd flood
cp config.template.js config.js

Ve son olarak Flood için kurulum parametresini çalıştırıyoruz ve gerekenler otomatik olarak kuruluyor.

npm install --production

Floodu başlatma

systemD için gereken dosyasını düzenlemeden önce kullanıcısını oluşturuyoruz.

adduser --disabled-password flood

İzinleri belirliyoruz

chown -R flood:flood /srv/torrent/flood/

İzinler ve kullanıcıyı oluşturduk şimdi direk olarak systemD için gereken dosyayı düzenliyoruz.

nano /etc/systemd/system/flood.service

Ve içerisine aşağıdakileri ekliyoruz.

[Service]
WorkingDirectory=/srv/torrent/flood
ExecStart=/usr/bin/npm start
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=notell
User=flood
Group=flood
Environment=NODE_ENV=production
 
[Install]
WantedBy=multi-user.target

Sistem açılırken başlasın diye gereken parametreyi veriyoruz.

systemctl enable flood

Ve sonunda Flood adlı uygulamayı başlatacağız.

systemctl start flood

Şimdi ne yaptım rtorrent kurulumunu yaptım ve ardından onu kullanmak için web arayüzü flood kurduk. Plex media server uygulamasının kurulumunu yaparakta indirdiğimiz film, dizi, müzik artık her neyse kolaylıkla izleme ve dinleme imkanı sağladık.

Ama bu arkadaşları dışarıya açmadık hepsi şuan lokalde çalışıyor. Lokalden dışarıya açmak için ise şu şekilde bir yol izlemek daha mantıklı diye düşünüyorum.

Twitterda yukarıdakini yazmıştım. İşte taktik olarak onu kullanabiliriz. Şöyle yapalım

Windows için;

PuTTy açıp Connection > SSH > Tunnels sekmesine geçiyorsunuz. Kaynak portu olarak 8888 giriyoruz. Hedef olarak ise localhost:32400diyoruz. Ardından 2. Yönlendirme olan Floodu yönlendirelim. İlkinde Plexin yönlendirmesini yaptık. Kaynak portu olarak 3000 giriyoruz. Hedef olarak ise localhost:3000yazıyorsunuz. Her ikisinide add butonunu aracılığı ile ekleyeceğinizi unutmayın.

Linux ve Mac OSX için;

ssh <server.address> -L 8888:localhost:32400
ssh <server.address> -L 3000:localhost:3000

Herşey hazırsa tarayıcınıza gidip bağlantılar aracılığı ile işlemlerinizi yapabilirsiniz.

Flood >> localhost:3000
Plex >> localhost:8888

Olarak giriş yapacaksınız. Flood’a ilk giriş yaptığınızda ise sistem otomatik olarak sizi hesap oluşturma alanına yönlendirecek.

Debian için İphone Yapılandırması

İOS(iPhone, iPod Touch, iPad, Apple TV) cihazlar bilindiği gibi direk olarak USB ile takılıp herhangi bir şekilde içerisindeki dosyalar alınamıyor yada içerisine dosya atılabiliyor. Bende bir İphone kullanıcısı olarak bu soruna bir çözüm getirmek istiyorum.

Gerekli olan paketlerin kurulumunu yapıyoruz.

aptitude install libimobiledevice-utils ipheth-utils ideviceinstaller libimobiledevice-dev gvfs-backends gvfs-bin gvfs-fuse

Şimdi bu kurduklarımız içerisinde Telefonu modem olarak kullanmamıza yarayacak ekipman ile telefonu sisteme mount edebilmemize imkan sağlayan libimobiledevice kadar tüm her şey var.

Şimdi kurulum tamamlandıktan sonra /etc/fuse.conf yoluna geçiş yapıyoruz ve root kullanıcı izinleri ile aşağıdaki değişikliği yapıyoruz.

 #user_allow_other

Olarak gözüken satırın başında bulunan # kaldırıp kayıt ediyoruz. İşlemimiz tamamlanıyor. Şimdi sistemimizi zorunlu yeniden başlatmamız gerekiyor.

sudo reboot -h now

Yeniden cihaz açıldığında direk olarak telefonunuzu elinize alıyorsunuz ve USB den bağlıyorsunuz. Ekranda bir anda güven yada güvenme diye bir ekran beliriyor. Sizde hemen o ekranda gördüğünüz Güven butonuna basıyorsunuz. İşlem böylelikle son buluyor.

Artık sorunsuz bir şekilde telefonunuz sisteme mount edilmiş oluyor.

Kernel mesajlarında ise şu şekilde gözüküyor durum

[   56.437823] usb 3-3: new high-speed USB device number 4 using xhci_hcd
[   56.579739] usb 3-3: New USB device found, idVendor=05ac, idProduct=12a8
[   56.579741] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   56.579742] usb 3-3: Product: iPhone
[   56.579742] usb 3-3: Manufacturer: Apple Inc.
[   56.579743] usb 3-3: SerialNumber: 9ea3cfff5882e13a769878222151625db5a5cdc0
[   56.606852] ipheth 3-3:4.2: Apple iPhone USB Ethernet device attached
[   56.606868] usbcore: registered new interface driver ipheth
[   56.608989] ipheth 3-3:4.2 enp0s20u3c4i2: renamed from eth0

Yukarıdaki mesaj ile aynı zamanda cihazımızın modem olarak da kullanılabileceğini görmüş oluyoruz. Bu özelliği kullanabilmek için ise Internet Tethering özelliğini kullanacaksınız artık onuda sistemden arayıp bulabilirsiniz. Genelde zaten otomatik network tarafında gözüküyor.

Peki ya kullanmıyorsak ? yani network için herhangi bir grafik ara yüzümüz yok ve Internet Tethering yapılandırmamız gerekiyorsa ne yapacağız.

Bunun için ilk root izinleri ile /etc/udev/rules.d/90-iphone-tethering.rules olarak kural girmemiz gerekiyor.

ACTION=="add|remove", SUBSYSTEM=="net", ATTR{idVendor}=="05ac", ENV{ID_USB_DRIVER}=="ipheth", SYMLINK+="iPhone", RUN+="/usr/bin/systemctl restart systemd-networkd.service"

Yukarda diyoruz ki Vendor kodu 05ac ile gelen ve sürücü olarak ipheth kullanan aynı zamanda iPhone olan bir şey gelirse networkd kardeşin servisini benim belirttiğim şekilde yeniden başlat

Şimdi gereken kural setinin son aşamasında /etc/systemd/network/ yoluna gidelim ve şunları yapalım

sudo nano enp0s20u3c4i2.network

Ve içerisini şu şekilde düzenleyelim.

[Match]
Name=enp0s20u3c4i2

[Network]
DHCP=ipv4

Burada da adı enp0s20u3c4i2 ile eşleşiyor ise networkden ipv4 aracılığı ile otomatik ip alma işlemini yap. Bu tüm işlemler son bulduğunda otomatik olarak İphoneyi her taktığınızda eğer iphonede tethering açık ise modem olarak bağlar.

Debian İçin Samba Ayarlanması İşlemi

Evde bulunan bilgisayarlar ile benim ana bilgisayarım arasında dosya transferi için USB kullanıyorduk. Bize vakit kaybettirdiğiniz düşündüğüm için bende samba kurayım da bu sorunu ortadan kaldırayım diye düşündüm. 

“Müzik ruhun gıdasıdır” derler gerçekten de öyledir. siz bir şeyleri yaparken sizi dinlendirmesi oldukça güzeldir. Ben bu işlemleri gecenin 4 ünde yapıyordum.

apt-get -y install samba 

Gerekli olan paketleri apt kardeş bir güzel kuruyor. Şimdi geldim konfigürasyonlara oldukça basit ancak sistematik ilerliyoruz. Hem kafanızın karışmaması için hemde düzen iyidir.

İlk önce dizinleri oluşturup izinleri veriyoruz ayrıca bu iş için yenide bir grup oluşturdum ben

groupadd samba-user 
mkdir /home/mertcan/samba-dosyalar 
chgrp samba-user /home/mertcan/samba-dosyalar 
chmod 770 /home/mertcan/samba-dosyalar

Şimdi bizim ana konfigürasyon dosyamız içerisinde /etc/samba/smb.conf değişiklik yapacağız bunlar şu şekilde olacak

Karakter setini tanımlayalım

unix charset = UTF-8

Çalışma alanı adı tanımlayalım

workgroup = WORKGROUP

Kabul edilecek ip adreslerini network bazında

interfaces = 127.0.0.0/8 192.0.0.0/24

Sadece interfaces kullanılsın diye eklememizi yapalım

bind interfaces only = yes

Şimdi geldik en güzel noktaya bu alanda sambada kullanılacak olan dosyayı ve izinlerini ayarlıyoruz.

[Dosyalar]
   comment = Dosyalar
   path = /home/mertcan/samba-dosyalar
   writable = yes
   create mode = 0770
   directory mode = 0770
   share modes = yes
   guest ok = no
   read only = no
   locking = no
   valid users = @samba-user

Kullanılacak olan kullanıcı için sambada şifre tanımlıyoruz.

smbpasswd -a mertcan 

Kullanıcı için kullanılacak olan grubu ekliyoruz. Burada benim gibi hata yaparsanız. Linux’de Kullanıcı Gruplarının Düzeltilmesi makalesi aracılığı ile sorununuzu giderebilirsiniz.

usermod -aG samba-user mertcan

Tüm işlemler bitti ise samba servisini yeniden başlatabilirsiniz. Hadi geçmiş olsun samba yapılandırmamız tamamdır.

/usr/sbin/service smbd restart 

Debian Üzerine Gogs Kurulum ve Konfigürasyonu

Bu kadar iş ile uğraşamam bana kolay yöntemini ver diyorsanız oda şu şekilde direk olarak çalıştırılabilir dosyayı indiriyorsunuz.

Kullanılacak olan paketleri ekleyip güncelleme işlemini yapıyoruz ardından gogs paketini direk olarak sisteme ekliyoruz.

APP_NAME="gogs"
MYSQL_PASSWORD="<kullanılacak olan şifre>"
HOSTNAME="git.mertcangokgoz.com"

# setup mysql server and database
debconf-set-selections <<CONFIG
mysql-server-5.5 mysql-server/root_password password ${MYSQL_PASSWORD}
mysql-server-5.5 mysql-server/root_password_again password ${MYSQL_PASSWORD}
CONFIG
apt-get install -y --force-yes mysql-server
mysql -uroot -p${MYSQL_PASSWORD} -e "create database if not exists ${APP_NAME};"

# setup nginx configuration
apt-get install -y nginx
cat > /etc/nginx/sites-available/default <<EOF
server {
  listen          80;
  server_name     ${HOSTNAME};
  location / {
    proxy_pass      http://localhost:3000;
  }
}
EOF
sudo service nginx restart

Buda kolay kurulum yöntemi bu kurulumun kötü yanı SSL olmaması ve MySQL ile kullanılıyor olması isterseniz bu yöntemi de kullanabilirsiniz.

Nodejs Paketlerini Rootsuz Kurabilme Yetisi

Githubun kapatılması ve sonrasında tekrardan gelmesi ile birlikte yazılarımıza devam ediyoruz. Bildiğiniz gibi nodejs javascriptin sunucu tarafında takılan sürümü v8 javascript motoru üzerinde çalışıyor google amca arkasında bununda. Bu arkadaş ile oldukça güzel uygulama yazanlar var kafalar pırıl pırıl ve ciddi anlamda işe yarar uygulamalar doğuyor gönül isterdi ki bizde yazabilelim ama java to javascript is car to carpet olduğundan dolayı işimiz yaş.

Ben sisteme paket yükleme dışında genel anlamda yapılan dış kaynaklardan alınan dosyaların root izni ile kurulmasına karşı bir insanım gerek güvenlik gerekse kolaylık açısından home dizini altındaki kullanıcıya tanımlamak gerektiğini düşünüyorum.

Hem yedekleme de hemde kullanıcıların dosyaları yönetmesinde kolaylık olacak her işlemde ikide bir root olup yok şunu kur şunu ayarla kafasına girmeyeceğiz. Eskiden olsa belki yapardık ancak şimdilerde pek hoş olmaz

Sisteminizde nodejs ve npm paket yöneticisi yüklüdür diye düşünüyorum ve normal kullanıcı ile nasıl işlem yapılır bunu göstermek istiyorum.

İlk önce node’nin paket yöneticisine yani npm ye diyoruz ki işte bizim yeni yolumuz şu ama bunu derken root olmayın normal kullanıcı ile bu işlemlerin yapılması gerekiyor.

npm config set prefix=$HOME/node

daha sonra bashrc düzenlemesi yapıyoruz ki bu alana kurulan uygulamaları terminalde çalıştırabilelim.

export PATH=$HOME/node/bin:$PATH

Şimdi bu ayarlamaları yapınız terminali açıp kapattınız npm artık hazır normal kullanıcı ile istediğinizi kurdurabilirsiniz. Path ayarlaması yapıldı gerekli olan düzenlemelerde yapıldı şimdi size kalan uygulamalarınızı kurmak

Debian Tabanlı Sistemler İçin Spotify Kurulum

Spotify’ın Linux üzerine özellikle debian tabanlı sistemlere oldukça kolay bir şekilde kurulabiliyor ancak bunu yapamayan yada üşenen arkadaşlar için bende tatilde can sıkıntısı üzerine şöyle bir bash script hazırladım herşeyi kendi yapıyor.

Size de kullanıcı adınızı ve şifrenizi girerek müzik dinlemek kalıyor. Kurulum internet hızınıza göre bir kaç dakika alacaktır. Sabırlı olun

Kurulumu şu şekilde yapabilirsiniz.

cd ~ && wget https://gist.githubusercontent.com/MertcanGokgoz/2269fe45cc0dc724ead1e25a7c756b0c/raw/91da1bc8b39e8271674b513d6ed1c7da543768c3/InstallSpotify.sh -O InstallSpotify.sh
chmod +x InstallSpotify.sh
./InstallSpotify.sh

Kullandığımız Bash Scriptimizin içeriği ise şu şekilde

#! /bin/bash

#Check root
if [ $(id -u) != "0" ];
then
	echo "Needs to be run by a user with root privilege."
	exit 1
fi

# Check debian packages manager
if [ -n "$(command -v apt-get | wc -l)" != "1" ]
then
	echo "Please use Debian based system"
	exit 1
fi

# Check to see if Spotify repository
echo "  Checking /etc/apt/sources.list for repository."
ssource=`grep -o -E "deb https://www.spotify.com/tr/download/linux/ stable non-free" /etc/apt/sources.list | wc -l`
if [ $ssource -eq 0 ]; then
	echo '' | sudo tee -a /etc/apt/sources.list.d/spotify.list
	echo '## SPOTIFY-CLIENT' | sudo tee -a /etc/apt/sources.list.d/spotify.list
	echo 'deb https://www.spotify.com/tr/download/linux/ stable non-free' | sudo tee -a /etc/apt/sources.list.d/spotify.list
else
	echo "  Skipping addition to /etc/apt/sources.list.d/sources.list."
fi

# Verify downloaded packages
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BBEBDCB318AD50EC6865090613B00F1FD2C19886

# Run apt-get update
sudo apt-get update

# Install spotify!
sudo apt-get install spotify-client

echo "  Done. Add Spotify to your system"
echo "  Press any key to continue."
read

Debian Tabanlı Sistemler’de Swap Etkinleştirme

Swap dosyası oluşturmadan sistemi kurmuş olabilirsiniz yada ne bileyim bir şekilde bir sıkıntı çıktı boyutunu falan arttıracaksınız bilemiyorum keyfinize kalmış ancak debian tabanlı sistemlerde aşağıdaki işlemleri yaptığınızda sıkıntısız bir şekilde Swap etkinleştirip kullanabilirsiniz.

Öncelikle bi nerede oluşturacağız onu bi belirleyelim ben genelde bu tarz dosyaları var yada opt içerisinde oluşturuyorum.Bu seferde var klasörü içerisinde oluşturacağım

cd /var
touch Swapcik.img
chmod 600 Swapcik.img

Dosyayı oluşturacağımız klasörümüze ulaştık ve dosyamızı oluşturduk ardındanda izinlerini düzenleyip bıraktık.Şimdi geriye tek bir şey kalıyor bu Swapcik.img dosyamızın boyutunu ayarlamaya

dd if=/dev/zero of=/var/Swapcik.img bs=2048k count=2000

oluşturma işlemimiz 4 veya 6 sn içerisinde tamamlanacak.Bizimde bunu mkswap ile tanımamız lazım.

mkswap /var/Swapcik.img

Oluşturduğumuz Takas alanımızı etkinleştirelim ki bir işe yarasın yoksa kuru kuruya oluşturmak bir işimize yaramaz

swapon /var/Swapcik.img

Normal şartlar altında /etc/fstab dosyasını size düzenletirdim ama kafanız karışmasın şimdi bunu echo komutunun güzelliği ile halledeceğiz ve son satıra çat diye ekleyeceğiz.Sonrasında her boot aşamasında otomatik devreye girecek sizde rahatınıza bakacaksınız.

echo "/var/Swapcik.img    none    swap    sw    0    0" >> /etc/fstab

Artık bizimde bir takas alanımız bulunuyor ama siz genede RAM bitirmemeye çalışın.

Debian Tabanlı Sistemler’e Docker Kurulumu

Docker sistem yöneticileri ve yazılım geliştiriciler için ortaya çıkan açık kaynak kodlu bir sanallaştırma uygulamasıdır. Docker Multi platform olarak geliştirilmiştir ve aynı şekilde docker makinaları üzerinde de pek çok işletim sistemini çalıştırabilmeniz mümkündür. Yazılımcılar ve sistem yöneticiler için docker kurulumu ve test imkanını kolaylaştırmasıdır. Aynı zamanda oluşabilecek sorunları da önceden fark etmenize imkan tanır.

Docker yazılımların imaj kaydını tekrar kullanılabilir haline getiriyor yani kurulmuş halini bir imaj dosyası haline getiriyor. Diğer sistemlerde kurulumunu kolaylaştırıyor aynı şekilde DockerFile bakarak her sisteme aynı imaj kaydını geçmiş oluyor. Bu sayede sonradan sizin tekrar ayarları kurcalamanıza gerek kalmıyor.

Ayrıca DockerFile daha sonradan ekleyeceğiniz yenilikler ile geliştirebilirsiniz. Bu sayede yapacaklarınızdan zaman kazanabilirsiniz.

Debian sistemimize öncelikli olarak bi deposunu ekleyelim bunun için /etc/apt/sources.list.d/docker.list yoluna eklemeyi yapacağız bunun için aşağıdaki kod işinizi görecektir.

Kurulum

Aşağıdaki aşamaları takip ederek kurulumu tamamlayabilirsiniz.

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Kernel AUFS Desteği

Eğer kurulu değilse aşağıdaki komutu vererek kurulumu yapabilirsiniz ama kurulu olmama ihtimali baya düşük

sudo apt-get install linux-image-extra-"$(uname -r)"