VNC ile RHEL Uzak Masaüstü

  1. Önce bir desktop uygulaması yüklememiz lazım.
    yum groupinstall "GNOME Desktop"
  2. TigerVNC sunucusunu fontlarıyla birlikte yüklemeliyiz.
    yum install tigervnc-server xorg-x11-fonts-Type1
  3. 5903 portundan yayın yapabilmesi için bir service oluşturalım.
    cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:3.service
  4. Kullanıcı bilgisini tüm <USER> alanlarını değiştirerek güncelleyelim.
    vi /etc/systemd/system/vncserver@:3.service
  5. İlgili kullanıcıya geçiş yapıp vncserver için kullanıcı ve şifre oluşturalım.
    vncserver
  6. Aşağıdaki komutlarla da deamonu enable edip başlatalım
    systemctl daemon-reload
    systemctl start vncserver@:3.service
    systemctl enable vncserver@:3.service

Artık VNC viewer ile bağlanabiliriz 🙂

Linux kategorisine gönderildi | Yorum yapın

CentOS 7 & Red Hat Enterprise Linux 7 Java Kurulumu

  1. sudo -i
  2. yum update
  3. yum list available java\*
  4. yum install java-11-openjdk
  5. alternatives –config java
  6. choose you want
Java, Linux kategorisine gönderildi | Yorum yapın

Linux X11Forwarding

Linux sunucu ekranını kendi masaüstümüze çekmek için X11Forwarding açmamız lazım. Aşağıdaki komutlarla açabiliriz.

cat /etc/ssh/sshd_config
vi /etc/ssh/sshd_config

AddressFamily inet
X11Forwarding yes

service sshd restart

touch /home/user/.Xauthority
xauth list
xauth add

Application Servers kategorisine gönderildi | Yorum yapın

Docker Cheat Sheet

## Docker Version and Info
docker -v
docker info


## List Images
docker images

## List Containers (running, all)
docker container ls
docker container ls --all
docker ps
docker ps -a


## Run a New Container
docker run <image-name>
docker run --name
<name> <image-name>
docker run -p
<outer-port>:<inner-port> <image-name>
docker run -d -p
<outer-port>:<inner-port> <image-name>

## Start a Container
docker start <name>

## Stop a Container
docker stop <name>

## Remove a Container
docker rm <container-id>
docker rm -f
<container-id>

## Remove an Image
docker rmi <image-name>

## Remove All Stopped Containers
docker container prune

## Remove All Unused Images
docker image prune -a

## Connect to Docker via Bash
docker exec -it <name> bash

Install Docker
yum install docker

Start Docker Deamon
systemctl start docker

Docker kategorisine gönderildi | Yorum yapın

SSH Key Pair Oluşturmak

Güvenlik amaçlı bağlandığım yerlere çoğunlukla “username”/”password” kullanmaktansa SSH Key Pair oluşturarak “Public Key”i paylaşıp bağlanmayı tercih ediyorum.

Bu yazıda da Mac OS işletim sistemi için nasıl anahtar çifti oluşturulur detaylı bir şekilde anlatmaya çalışacağım.

SSH Key Pair Nedir? (Güvenli Kabuk Anahtar Çifti)

Secure Shell (Güvenli Kabuk), güvensiz bir ağ üzerinde güvenli haberleşmeye olanak sağlayan bir kriptografik ağ protokolüdür.

Amacım şu an private-public key pair (özel-genel anahtar çifti) oluşturmak olduğu için “asimetrik şifreleme” ile RSA anahtar çifti üreteceğim. Aşağıda ssh-keygen aracının özelliklerini bulabilirsiniz.

  1. Terminal üzerindeki aşağıdaki komutu çalıştıracağım. RSA anahtar çifti oluşturmama yardımcı olacak.
    ssh-keygen -t rsa
  2. Hangi dosyaya kaydetmek istediğimizi soracak, istediğiniz ismi verebilirsiniz.
  3. Bu adımdam sonra isterseniz bu anahtarları kullanmak için şifre koyabilirsiniz.
  4. Çıktı aşağıdaki gibi olacaktır. Sizin bir private bir de public olmak üzere iki anahtar oluşturuldu. Private olanı kimse ile paylaşmamanız lazım.
  5. Public olanının (sonu .pub ile bitiyor) içinden anahtarı alıp artık paylaşabilirsiniz.

Kolay gelsin.

Application Servers kategorisine gönderildi | , , ile etiketlendi | Yorum yapın

Java 11-12-13 ve …

Merhabalar, Java 11 ile beraber Java kullanan herkesin hayatında önemli değişiklikler olacak. Bu yazımda onlardan bahsedeceğim.

JDK (Java Development Kit) artık her 6 ayda bir güncellenecek, bunlar da yıl içinde Mart ve Eylül aylarına denk geliyor. LTS (Long Term Support) dediğimiz “Uzun Dönem Destek” paketleri de 3 yılda bir çıkacak.

  • 2018 Eylül – Java 11
  • 2021 Eylül – Java 17
  • 2024 Eylül – Java 23
  • … gibi

Ve tabi ki ücretini ödeyen 3 seneden sonra da desteğini alabilir 🙂

Lisanslama – Oracle JDK & Open JDK

Java 11 ile artık karşımızda Oracle JDK ve Open JDK kavramları var. Bundan sonra

Oracle JDK – Oracle Binary Code License Aggrement

Open JDK – GPL2

ile lisansları ile hayatımızda yer alacak. GPL2 tamamen açık kaynak ve ücretsiz. Oracle Binary Code Lisansı ise geliştirme yaparken yine ücretsiz kullanılabilecek ama üretim (production) ortamlarına ücretli olacak.

Modası Geçen ve Kaldırılanlar

Enterprise API’lerden aşağıdakiler JDK içerisinden çıkarıldı.

  • JAXB – xml binding
  • JAX-WS – xml web services and endpoint technology
  • CORBA – distributed object technology
  • JTA – java transaction api
  • JavaBeans Activation

Detayına şu adresten ulaşabilirsiniz; https://openjdk.java.net/jeps/320

Ayrıca Thread sınıfından destroy() ve stop(Throwable obj) metodları çıkarıldı.

JDK 10 – Thread
JDK 11 – Thread

JavaFX jdk içerisinden çıkarılarak ayrı bir kütüphane haline getirildi, adı da OpenJFX oldu.

Dil ve Kütüphane Yenilikleri

JDK 9 ve 10’da deneysel olarak bulunan HTTP isteği gönderip yanıtını almak için kullanılabilen HttpClient sınıfı artık canlıda. HTTP2 desteği sunduğundan dolayı çoğu yeni proje için Java 11’e geçiş sebebi 🙂 API’yi tanımak için aşağıya bağlantılarını ekledim.

HttpClient API
HttpRequest API
HttpResponse API

 

String sınıfına yeni kullanışlı metodlar eklendi.

repeat() – herhangi bir string i tekrarlamak için
isBlank() – string in boş olup olmadığına bakar
strip() – string’in önü ve arkasındaki boşluk karakterlerini trim() metodundan farklı olarak unicode karakterleri ile temizler
lines() – string in içindeki satırları “\r\n” yani line feed ve carriage return karakterleri stream olarak almamızı sağlar

Ayrıca Files sınıfına aşağıdaki yeni metodlar gelmiş;
Unicode 10 desteği de yine JDK 11 ile geliyor.

Ben burada sadece en çok kullanabileceklerimi yazdım. Tam listeyi yazının en altına ekliyorum.

Performans ve Güvenlik İyileştirmeleri

G1 Garbage Collector ile Java 11, Java 8’e göre %60 daha iyi performans sergiliyor. Bu da yazdığımız kodda herhangi bir değişiklik yapmadan Java 11’e geçirsek bile daha iyi bir performans alabileceğimizin göstergesi.

Ayrıca Epsilon GC ve Z GC adında iki yeni GC eklendi. İkisi de henüz deneysel.

Epsilon Garbage Collector, performans ölçüm amaçlı kullanılabilir, aşağıdaki parametrelerle açılabiliyor.
XX:+UnlockExperimentalVMOptions
XX:+UseEpsilonGC

Z Garbage Collector, multi-terabytes heap e çıkmayı sağlıyor. Sadece 64 bit Linux makinelerde çalışıyor.
XX:+UnlockExperimentalVMOptions
XX:+UseZGC

Güvenlik konusuna gelirsek, TLS 1.3 desteği sağlanmış ve eski güvenliğini kaybetmiş kriptografik algoritmalar çıkarılmış ve yeni daha güvenli algoritmalar eklenmiş. Handshake sırasındaki ilk mesaj hariç hepsi şifrelenmiş. Detaylarına aşağıdaki linkten erişilebilir.
https://openjdk.java.net/jeps/332

Son olarak Oracle’ın açıkladığı Java 11 değişiklikler listesi bağlantıdadır.

Java kategorisine gönderildi | , , , , , ile etiketlendi | Yorum yapın

CentOS 7 Üzerine MySQL Kurmak

CentOS package manager olarak yum kullanıyor. O sebeple önce bunu güncellememiz lazım. Aşağıdaki komutla yapabiliriz.

sudo yum update

Güncelleme bittikten sonra indireceğimiz mysql server versiyonunu belirlememiz lazım. Mysql download sayfasından (http://dev.mysql.com/downloads/repo/yum/) versiyonumuzu seçelim.

Ben versiyon olarak bu örnekte aşağıdaki versiyonu seçtim.
https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

Şimdi sırasıyla bu versiyonu indirelim.

sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

İndirme işlemi bitince kurulumu başlatalım.

sudo yum install mysql-community-server

Kurulum da bitince MySQL Community Server’ı başlatabiliriz.

sudo service mysqld start

Sunucunun durumuna aşağıdaki komut ile bakabiliriz.

sudo service mysqld status

Active(running) şeklinde görebildiysek başarılıyız.

Şimdi aklımızda sorular olması lazım 🙂 Kurdum ama şifrem ne, hangi porttan erişebilirim gibi…
Öncelikle şifremizi belirleyelim. Kurulum aşamasında bize rastgele bir şifre verildi, onu önce bi alalım.

sudo grep 'temporary password' /var/log/mysqld.log

Süper artık random password elimizde. O zaman değiştirelim, bunun için MySQL Server’a bağlanmamız lazım.

mysql -uroot -p

MySQL konsoluna düşmemiz lazım. “mysql>” şeklinde görebiliriz. Şifreyi değiştirelim.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YeniSifrem123!';

Portu da kontrol edip yazımızı bitirelim.

select @@port;

Bu arada mysql konsolundan çıkmak için “exit;” yazıp entera basın, kalmayın orada 🙂

Database Management Systems, MySQL kategorisine gönderildi | Yorum yapın

Oracle’da Kullanıcı Açmak ve Yetki Vermek

Merhaba, Oracle DB üzerinde kullanıcı açmak için gerekli komutlar aşağıdaki gibi olabilir. Bu arada yetkili bir kullanıcı ile bağlandığımızı farz ediyorum. Kullanıcı adını SUKRU olarak belirledim.

Kullanıcı tanımlamak için

CREATE USER SUKRU IDENTIFIED BY SUKRU

Bağlanma hakkı vermek için

GRANT CREATE SESSION TO SUKRU

Tablo oluşturma hakkı vermek için

GRANT CREATE TABLE TO SUKRU

Sequence oluşturma hakkı vermek için

GRANT CREATE SEQUENCE TO SUKRU

Tablespace alanını kullanabilmek için

GRANT UNLIMITED TABLESPACE TO SUKRU

Güncel sürüm Oracle’da SELECT, INSERT, UPDATE, DELETE için yetki gerekmiyor ama gerekirse

GRANT
  SELECT,
  INSERT,
  UPDATE,
  DELETE
ON
  schema.table
TO
  SUKRU
Oracle kategorisine gönderildi | , , , , ile etiketlendi | Yorum yapın