30 Aralık 2016 Cuma

MySql deyip geçmeyin!

Bu yılın sonunda en yoğun kullanığım mysql sunucusunu kontrol ettiğimde gördüğüm durumu paylaşmak istedim.

Üç ay içinde toplam 1.561.731.908.514  isteğe çevap vermiş. Bu kadar rakamı nasıl okuması bile zor geliyor.


Unutmayın, bu clusterdaki üç sunucudan bir tanesi :D


26 Aralık 2016 Pazartesi

linux sistemlerde uzaktan grafiksel ara birim kullanımı - x2go

Linux sistemleri kullanırken ihtiyaç duyguduğumuz temel araçlardan  birisi uzaktan grafiksel arabirimdir. vnc, remmina, nomachine, oracle remote desktop(vdi) gibi bir çok araçları kullandım. En sonunda x2go yu kullanmaya başladım.

Şu anda x2go yu x2gomatebindings eklentisiyle mate yi kullanıyorum. Oldukça başarılı bir çözüm.

Grafiksel arabirime ihtiyaç duyan veya kullanan herkese x2go yu denemelerini tavsiye ederim.


http://wiki.x2go.org/doku.php/doc:newtox2go

x2go ile iyi eğlenceler dilerim.

Bir zamanlar hayal bile değildi!


Hardisklere yazma/okuma işlemi daima sıkıntılı bir işlem ve oldukca sınırlı bir hıza sahipti.
Son bir kaç yıldaki değişikliklerden sonra saniyede 10GByte üzerinde veri yazılabilen disk sistemleri çıkmış durumdu. Her halde bir kaç yıl sonunda, hardisk erişim/yazma/okuma sorunları tamamen çözülmüş olur.



8 Aralık 2016 Perşembe

kernel güncellemelerinde infiniband sorunları

Sistem güncellemesi sonucu kullandığınız ib modülleri, yeni kernelle sorun çıkartıyorsa,
kernel ve ib paketlerini güncelleme dışı bırakmak en güzeli. Bunun için /etc/yum.conf içine aşağıdaki satırları eklememiz yeterlir.

#exclude=kernel*  ibutils*  libmthca* libmlx4* rdma* libibverbs*

exclude=kernel* ofed-scripts* libibverbs* libibverbs-utils* libibumad* libibmad* libibcm* librdmacm* librdmacm-utils* libmthca* libipathverbs* libibumad-compat* ibacm* ibpd* libibscif* opensm-libs* mstflint* ofed-docs* perftest* qperf* ibutils* infiniband-diags* infinipath* tmi* libmlx4* rdma* libcxgb4* libnes* srptools* libcxgb3*

29 Kasım 2016 Salı

Dosya adlarını değiştirmek?

wget ile bir sürü dosya indirmiş ve sonunda dosya isimlerinin aşağıdaki gibi olduğunu gördüğünüzde,

-rw------- 1 root root 4571582464 Nov 14 13:16 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-11.iso?_auth_=1480368811_ade7d8e4dd0e74beaa67461363924e25
-rw------- 1 root root 4593364992 Nov 14 14:49 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-12.iso?_auth_=1480368811_1bf520f9916df4ea7521fad7f7a0a3e3
-rw------- 1 root root 4589133824 Nov 14 13:31 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-13.iso?_auth_=1480368811_756792cb9a21ad72c35b9e540902bcf3
-rw------- 1 root root 4591882240 Nov 14 13:16 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-14.iso?_auth_=1480368811_58548585e50051fcf1306ea5f5c8ec80
-rw------- 1 root root 4574281728 Nov 14 14:49 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-15.iso?_auth_=1480368811_f9be8cd22982c3ebd49bc5fc23ec2805
-rw------- 1 root root 4595855360 Nov 14 13:31 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-16.iso?_auth_=1480368811_367d04ac31306a579faf1accda37e233
-rw------- 1 root root 4593598464 Nov 14 13:16 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-17.iso?_auth_=1480368811_cc1628e46d8447e5039ead7905c7e1f4
-rw------- 1 root root 4595111936 Nov 14 13:16 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-18.iso?_auth_=1480368811_e5c3c3433993e25c11b4b5d2ce692ac5
-rw------- 1 root root 4588482560 Nov 14 14:49 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-19.iso?_auth_=1480368811_e2038e3d446d61a7bf6b9265ef300d26
-rw------- 1 root root 1875603456 Nov 14 14:46 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-20.iso?_auth_=1480368811_c4aef7cc195efcfd2059840e6af63ffb

bu isimleri nasıl düzenlerim dediğinizde, basit bir shell script ;

# for name in `ls`; do echo $name; nn=`echo $name|cut -d\? -f1`;echo $nn; mv "$name" $nn;done

yardımımıza yetişir.  Yukarıdaki satırda dosya isimleri ? karekterinden önceki bölüm olarak düzeltiliyor. ls ile kontrol ettiğimizde;
-rw------- 1 root root 4571582464 Nov 14 13:16 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-11.iso
-rw------- 1 root root 4593364992 Nov 14 14:49 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-12.iso
-rw------- 1 root root 4589133824 Nov 14 13:31 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-13.iso
-rw------- 1 root root 4591882240 Nov 14 13:16 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-14.iso
-rw------- 1 root root 4574281728 Nov 14 14:49 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-15.iso
-rw------- 1 root root 4595855360 Nov 14 13:31 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-16.iso
-rw------- 1 root root 4593598464 Nov 14 13:16 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-17.iso
-rw------- 1 root root 4595111936 Nov 14 13:16 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-18.iso
-rw------- 1 root root 4588482560 Nov 14 14:49 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-19.iso
-rw------- 1 root root 1875603456 Nov 14 14:46 sat-6-isos--rhel-6-server-x86_64-2016-11-11T10.35-20.iso

görüyoruz.





24 Kasım 2016 Perşembe

Perde ihtiyacı olanlara

Bir kaç perdeciyi gezdikten sonra, perdelik almaya karar verip, aldığımız firmayı sizlerle paylaşmak istiyorum. Perde ve/veya perdelik  ihtiyacınız olursa,  aşağıdaki adrese uğramadan perde almaya karar vermeyiniz.


Tavsiye etmemin nedeni, bir kaç yerdeki satıcıların müşteriye davranışlarını  ve fiyatlarını beğenmemem. Umarım sizlerde Arif beylerden uygun fiyata, istediğiniz kalitede perde veya perdeliği güler yüz eşliğinde satın alırsınız.




7 Ekim 2016 Cuma

Sistemin açılışı esnasında otomatik olarak dosya sistemini kontrolü - forcefsck

Red Hat veya Debian tabanlı bir işletim sistemi kullanıyorsak ve sistemi yeniden başlattığımızda otomatik olarak dosya sisteminin kontrol edilmesini istediğimizde, yeniden başlatmadan önce root altında forcefsck dosyası oluşturmamız yeterlidir.

touch /forcefsck
reboot

Komutlarını verdiğimizde, sistem yeniden açılırken otomatik olarak dosya sistemi kontrol edilecektir. forcefsck dosyası, kontrol işleminden sonra otomatik olarak silinir.

5 Ekim 2016 Çarşamba

Oracle® VM Release Notes for 3.4.2

Merhabalar,

Alternatif sanallaştırma sistemlerinden olan oracle vm son sürümü 3.4.2 çıkmıştır.

Meraklılarına duyurulur.

Oracle® VM Release Notes for 3.4.2

http://docs.oracle.com/cd/E64076_01/E76173/html/index.html


Oracle VM Manager 3.4 README

README for Oracle VM Manager 3.4 Patch Update.
This patch update for Oracle VM Manager 3.4 is a complete Oracle VM Manager installer ISO that includes all the cumulative bug fixes and security updates since the Oracle VM Manager 3.4.1 release.

Downloading the release

The patch update can be downloaded from My Oracle Support, patch ID 22902502.

Oracle VM Manager 3.4.2 Build 1384

This 3.4.2 release for Oracle VM Manager offers new features, security updates and bug fixes. For a full listing of all the contents of the release review the Oracle VM Release Note for 3.4.2.
Oracle VM Manager 3.4.2 build 1384 has been validated in combination with Oracle VM Server 3.4.2 build 1384 and Oracle VM Agent for SPARC 3.4.2 build 1384.

Oracle VM Manager 3.4.1 Build 1369

Oracle VM Manager 3.4.1 build 1369 is an errata update for the 3.4.1 release build 1350. Build 1369 offers fixes for bugs that were identified after build 1350 was released.
Oracle VM Manager 3.4.1 build 1369 has been validated in combination with Oracle VM Server 3.4.1 build 1351 and Oracle VM Agent for SPARC 3.4.1 build 1350.

Bug Fixes

Notable bugs fixed in Oracle VM Manager 3.4.1 build 1369 are:
  • 23003986 – Fixes an issue where the upgrade does not complete when VM origin URLs or network install path is greater than 512 characters.
  • 23012337 – Fixes an issue where OVA files with URLs that are greater than 512 characters cannot be imported.
  • 23017746 – Fixes an issue where the user cannot proceed beyond the web UI login prompt after successfully entering user credentials.
  • 23031621 – Fixes an issue where in some cases the pre-upgrade script fails with an error “cannot concatenate 'str' and 'javainstance' objects”.

Oracle VM Manager 3.4.1 Build 1350

This 3.4.1 release for Oracle VM Manager is a new feature release.
Oracle VM Manager 3.4.1 build 1350 has been validated in combination with Oracle VM Server 3.4.1 build 1351 and Oracle VM Agent for SPARC 3.4.1 build 1350.

Known Issues

The following known issues exist with Oracle VM Manager 3.4.1 Build 1350:
  • 23003986 - Upgrade does not complete when VM origin URLs or network install path is greater than 512 characters. Additional information including a script to check configurations prior to the upgrade is available through My Oracle Support Doc ID 2121734.1.
  • 23012337 – Cannot import an OVA file with URLs that are greater than 512 characters. Contact Oracle Support for information on a workaround for this issue.
  • 23017746 – Cannot proceed beyond the web UI login prompt after successfully entering user credentials. As a workaround, the CLI is accessible and the ovmkeytoool.sh gensslkey command can be run. Once done, the web UI will be accessible after restarting the ovmm service.
  • 23031621 – In some cases, the pre-upgrade script fails with an error “cannot concatenate 'str' and 'javainstance' objects”. Contact Oracle Support for information on a workaround for this issue.

Oracle VM Upgrade Instructions

Refer to the Oracle VM Installation and Upgrade Guide: http://docs.oracle.com/cd/E64076_01/E64078/html/index.htmlon the Oracle Technology Network (OTN):http://www.oracle.com/technetwork/server-storage/vm/documentation/index.htmlfor details.

Additional Information

Refer to the Oracle VM Release Notes for 3.4.2: http://docs.oracle.com/cd/E64076_01/E76173/html/index.htmlfor a list of features that are introduced with this release.
Oracle VM documentation is available on the Oracle Technology Network (OTN): http://www.oracle.com/technetwork/server-storage/vm/documentation/index.html.
For the latest information, best practices white papers and webinars, please visit http://oracle.com/virtualization.

5 Ağustos 2016 Cuma

Linux sistemlerinin ağ güvenliğinde dikkate almamız gereken paketlere nasıl cevap vermeliyiz?


Bir çok kimse reject kullanır. Fakat benim kişisel tercihim droptur.

Art niyetli kişiler için  drop en iyi seçenek olmasının nedeni,
reject te her gelen isteğe bir cevap gönderilmesidir.

Şayet çok fazla reject gönderilmesi  gerekirse bu  sistemde fazladan yük oluşturur.

Bize gelen kötü paketlere cevap vermek zorundamıyız?

Hayır.

O zaman yapmamız gereken kötü paketleri görmezden gelip, drop etmemiz gerekir.


26 Temmuz 2016 Salı

RedHat / Oracle / Centos 7.x te tarih/zaman ayarını değiştirmek -- timedatectl

Oracle linux sistemimizi tarihi/saat ayarını yapmamız gerekiyorsa, öncelikle doğru zaman dilimini öğrenmemiz gerekmektedir.
Bunun için;

[root@spacwalk ~]# timedatectl list-timezones |grep -i istanbul
Europe/Istanbul

[root@spacwalk ~]# date
Sal Tem 26 10:01:01 PDT 2016


[root@spacwalk ~]# timedatectl set-timezone "Europe/Istanbul"
[root@spacwalk ~]# date
Sal Tem 26 20:03:22 EEST 2016
[root@spacwalk ~]#

RHEL 7 türevi sistemlerde tarih, zaman işlemlerini timedatectl ile yapılacağınıda öğrenmiş oluyoruz.

23 Temmuz 2016 Cumartesi

sudo

Web adminine apache veya sistemdeki servisleri başlatma yetkisi vermek;

kullanıcı ismi = webadmin;
kullanıcı gurubu = webadmin;

visudo ile aşağıdaki satırları ilave etmemiz yeterli.
İlave ettiğimizde webadmin kullanıcısı ve/veya webadmin grubunda olanlar apache servisini çalıştırabilirler.
İlave olarak bu kullanıcıların sudo işlemlerinin ekran görüntüleride kayıt altına alınmaktadır.
sudoreplay ile olaylar, sonradan incelenebilir.

###############################################
Cmnd_Alias WEB_CMDS = /etc/init.d/apache2, /usr/sbin/apachectl, /usr/sbin/service

webadmin ALL=(ALL) WEB_CMDS
%webadmin ALL=(ALL) NOPASSWD: LOG_INPUT: LOG_OUTPUT: ALL
###############################################




sudo apachectl stop
sudo apachectl start
sudo service httpd stop
sudo service httpd start

17 Temmuz 2016 Pazar

admin

Sayfalamayı değiştirme;

safyalama için  her hangi bir sorgu verdiğimizde tüm sorguları ekrana direk yazılır. Bu durum normalde scriptler için iyi iken mysql client ile elle yaptığımız işlemlerde bizi biraz yorar.  3-5 sayfalık çıktılarıda incelerken ilk bilgileri yakalamak sorun olabiliyor. Böyle bir durumda sayfalamayı değiştirerek, her sayda durmasını sağlayabiliriz. Bunun için benim tercihim less kullanmak.

mysql'e
              \P less
komutu vererek değiştirebiliriz.


mysql> \P less
PAGER set to 'less'
mysql> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
10 rows in set (0.00 sec)

mysql> show variables;
555 rows in set (0.00 sec)


mysql> show processlist;
10 rows in set (0.00 sec)




En fazla bağlantı sayısını sistem çalıştırırken değiştirmek;
mysql> set global max_connections = 1000;







Zamana bağlı bir veriyi silmek;
DELETE FROM `joomla_session` WHERE `time` < UNIX_TIMESTAMP('2016-09-27 16:41:00');

Zamana bağlı bir veriyi saydırmak;
select count(*) FROM `joomla_session` WHERE `time` < UNIX_TIMESTAMP('2016-09-27 16:41:00');
select count(*) FROM `joomla_session` WHERE `time` >= UNIX_TIMESTAMP('2016-09-27 16:41:00');


10 Temmuz 2016 Pazar

mysql külüstür

Son günlerde mysql replikasyon ve clusterları ile eğlenip duruyorken, ülkemizde çok fazla galere cluster eklentisiyle, master-master mysql cluster/replikasyon kullanılmadığını fark ettim.

Yolu buradan geçen mysql kullanıcılarına, tavsiyem standard replikasyonları bir tarafa bırakıp, percona extradb cluster veya mariadb'yi galere wsrep eklentisiyle kullanmalarını, en azından test etmelerini tavsiye ederim.

percona extradb cluster - master-master yapısında yüzlerce tablo, milyarlarca satır içeren tabloları rahatlıkla kullanabilirsiniz. Şu ana kadar sanal makineler üzerinde 500 milyon civarında satır içeren tablolarla test yaptım. Aktif olarakta kullanılmaktadır.  Sorun yok. Yeterki düzgün sql sorgusu yapın.



Ubuntu  LTS  16.04  üzerine kurulumuda oldukça basit.

Her hangi ilave repo kullanmadan standart ubuntu reposunu kullanabilirsiniz!
# apt-get install percona-xtradb-cluster-server
Bundan sonra;
                        /etc/mysql/percona-xtradb-cluster.conf.d/mysqld.cnf
dosyasını kendinize göre düzeltmeniz yeterli.


Aşağıdaki örneği inceleyebilirsiniz;

#cat mysqld.cnf
#
# The Percona XtraDB Cluster 5.6 configuration file.
#
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysqld]
#
# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
port        = 3306
basedir        = /usr
datadir        = /var/lib/percona-xtradb-cluster
tmpdir        = /tmp
lc-messages-dir    = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address        = 127.0.0.1
#
# * Fine Tuning
#
key_buffer        = 16M
max_allowed_packet    = 16M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit    = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries    = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
server-id        = 3
expire_logs_days    = 10
max_binlog_size         = 100M
binlog_do_db        = include_database_name
#binlog_ignore_db    = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in
# /var/lib/percona-xtradb-cluster.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/percona-xtradb-cluster
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
ssl-ca=/etc/mysql/cert/mysql-cacert.pem
ssl-cert=/etc/mysql/cert/mysql-server-cert.pem
ssl-key=/etc/mysql/cert/mysql-server-key.pem
#
# * Galera
#
# Path to Galera library
wsrep_provider=/usr/lib/libgalera_smm.so
#
# Add address of other cluster nodes here
wsrep_cluster_address=gcomm://10.255.255.51,10.255.255.52,10.255.255.53
#log_bin
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW
#
# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB
#
# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
#
# Node #3 address
wsrep_node_address=10.255.255.53
wsrep_node_name=10.255.255.53
#
# SST method
wsrep_sst_method=xtrabackup-v2
#
# Cluster name
wsrep_cluster_name=feza
#
# Authentication for SST method
wsrep_sst_auth="sstuser:sK7mlNeXE"

wsrep_certify_nonPK=1
wsrep_debug=1
wsrep_retry_autocommit=1
wsrep_auto_increment_control=1
wsrep_drupal_282555_workaround=0

#wsrep_provider_options="socket.ssl_key=/etc/mysql/cert/mysql-server-key.pem;socket.ssl_cert=/etc/mysql/cert/mysql-server-cert.pem.pem;socket.ssl_ca=/etc/mysql/cert/mysql-cacert.pem"

remzi@tashan:~$



1 Temmuz 2016 Cuma

Reklam

Bu gün reklam yapmak istiyorum.

Yıllar önce kullandığım


Turbo c++ geliştiren, Borland'ın devam embarcadero firmasını hatırlatayım dedim.

https://www.embarcadero.com/

https://www.idera.com/

Tabi kylix unutmuş değilim.

Linux üzerine uygulama geliştirenler embarcaderoya kylix'i sorabilirler. :-)

Belki soran olunca, Kylix tekrardan canlanır.

23 Haziran 2016 Perşembe

Solaris reklamı - virtualbox da çalışan solaris sisteminin diskinin kapasitesini artırmak

Uzun zamandan beri kullanıdığım solaris sanal makinesinin diskinin dolduğunu görünce, kapasiteyi artırayım diyerek artırdım.

Solaris 10 ve 11 de zfs ile disk kapasitesini artırmak  kolay ve 3-5 sn. bir işlem.

Öncelikle fiziksel disk kapasitesini virtualboxtan artırıyoruz.

remzi@tashan:/mnt/arsiv/vbox/solaris-installation-server$ VBoxManage modifyhd export.vdi --resize 250000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%




 

Fiziksel disk kapasite büyütülmüş ise, solaristen otomatik pool genişletmeyi aktif yaptığımızda zfs diskin büyüdüğünü görüyor ve kendisini yeni boyuta göre ayarlıyor.



Hepsi bu kadar.

Bu özellik raid yapıları içinde geçerlidir.
Örneğin 1 TB ile oluşturulmuş disk havuzlarındaki tüm diskleri sırasıyla 4 TB lik disklerle değiştirdikten sonra disk havuzunun kapasitesini aninda artırabilirsiniz.

Halen Solaris ve zfs test etmediyseniz,


Linkinden solarisi indirerek test edin derim.


 

28 Mayıs 2016 Cumartesi

Konsoldan ekran kartının durumunu öğrenme

ssh ile bilgisayarımıza veya sunucumuza bağlanarak ekran kartının durumunu öğrenmek istediğimizde;

remzi@i6100:~$ aticonfig --odgt  --odgc
aticonfig: This program must be run as root when no X server is active

yukarıdaki gibi hata mesajı alırız. Bundan kurtulmanın yolu, oldukça basit;

Öncelikle ekran çıktısını ekran kartına yönlediriyoruz ve her türlü isteği kabul etmesi için izin veriyoruz.


remzi@i6100:~$ export DISPLAY=:0
remzi@i6100:~$ xhost +
access control disabled, clients can connect from any host
remzi@i6100:~$ aticonfig --odgt  --odgc

Default Adapter - AMD Radeon (TM) R9 380 Series
                  Sensor 0: Temperature - 65.00 C

Default Adapter - AMD Radeon (TM) R9 380 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    980           1425
             Current Peak :    980           1425
  Configurable Peak Range : [300-1200]     [150-1750]
                 GPU load :    100%
remzi@i6100:~$

Ekran kartımızın sıcaklığı 65 C derece ve %100 çalışıyor.





23 Nisan 2016 Cumartesi

Günün komutu - Linux sistemlerinde {2016.04.23} - ls (list directory contents)komutunu anlamak

linux kullanıpta ls komutunu bilmeyen yoktur.  Bununla birlikte çıktısını anlamakta zorluk yaşıyoruz. Bu zorluğu gidermek için, ls temel seviyede anlatmaya çalışacağım.



d   r w x   r - x   r - x   2   remzi   remzi    6 Nis 23 14:54 dizin
|    |   |  |   |  | |   |  |  |    |      |           |         Tarih                 İsim
|    |   |  |   |  | |   |  |  |    |      |        Dosyanın ait olduğu grup.
|    |   |  |   |  | |   |  |  |    |    Dosyanın Sahibi
|    |   |  |   |  | |   |  |  |   Dizin/Dosyaya birinci seviyede bağlantıların sayısı
|    |   |  |   |  | |   Dizin/Dosyanın sahibi veya grubu dışındakilere verilen  yetkiler
|    |   |  |   Dizin/Dosyanın bağlı olduğu gruba verilen yetkiler
|    Dizin/Dosyanın Sahibi
Dosyanın Tipi



Dosyanın tipi: Hemen dosyanın dipi olurmu dosya dosyadır demeyin. Linux/Unix sistemlerde oluyor. :)

Linuxteki dosya tipleri;

     -    : Her hangi bir şey belirtilmemişse, bizim bildiğimiz normal dosyadır.

     d   :  Dizin olduğunu belli eder.

     b   : Blok tipi dosyadır. Hardisklere baktığınızda görürsünüz.
             brw-rw---- 1 root disk 8, 0 Nis 23 13:00 /dev/sda

     c   : Aygıt dosyalarıdır.
            Linuxte, ses kartı, seri portlara bir dosyaya erişildiği gibi erişilir.


remzi@tashan:/tmp/umask$ ls -la /dev/ttyS0 /dev/snd/
crw-rw---- 1 root dialout 4, 64 Nis 23 08:54 /dev/ttyS0

/dev/snd/:
total 0
drwxr-xr-x   3 root root      280 Nis 23 08:54 .
drwxr-xr-x  24 root root     5140 Nis 23 12:53 ..
drwxr-xr-x   2 root root       60 Nis 23 08:54 by-path
crw-rw----+  1 root audio 116,  2 Nis 23 08:54 controlC0
crw-rw----+  1 root audio 116,  8 Nis 23 08:54 hwC0D0
crw-rw----+  1 root audio 116,  9 Nis 23 08:54 hwC0D1
crw-rw----+  1 root audio 116, 10 Nis 23 08:54 hwC0D3
crw-rw----+  1 root audio 116,  4 Nis 23 12:40 pcmC0D0c
crw-rw----+  1 root audio 116,  3 Nis 23 15:28 pcmC0D0p
crw-rw----+  1 root audio 116,  5 Nis 23 08:54 pcmC0D3p
crw-rw----+  1 root audio 116,  6 Nis 23 08:54 pcmC0D7p
crw-rw----+  1 root audio 116,  7 Nis 23 08:54 pcmC0D8p
crw-rw----+  1 root audio 116,  1 Nis 23 08:54 seq
crw-rw----+  1 root audio 116, 33 Nis 23 08:54 timer



     l   :  Sembolink link
             Böyle bir dosya/dizin vs. gerçekte yoktur, sadece orijinal dosya/kaynağı gösteren bir yol göstericisidir.

remzi@tashan:/tmp/umask$ ls -la
total 4
drwx------  3 remzi remzi  104 Nis 23 15:31 .
drwxrwxrwt 19 root  root  4096 Nis 23 15:28 ..
drwxr-xr-x  2 remzi remzi    6 Nis 23 14:54 dizin
lrwxrwxrwx  1 remzi remzi    5 Nis 23 15:09 dizinlink1 -> dizin
lrwxrwxrwx  1 remzi remzi    5 Nis 23 15:31 dizinlink2 -> dizin



     s  : Söket tipi dosyalar.
           Genelde servisler ve bazı aygıtlar haberleşmede söket tipi dosya kullanılırlar.

En güzel örnegi ise mysql dir. MySql tcp ile erişebileceğimiz gibi, söket ilede erişebiliriz. Yerelde söket kullanmak, tcp  göre daha avantajlıdır. Bi zahmet avantajları sizler araştırın. :)

remzi@tashan:~$ ls -la /var/run/mysqld/mysqld.sock
srwxrwxrwx 1 mysql mysql 0 Nis 23 15:39 /var/run/mysqld/mysqld.sock

remzi@tashan:/tmp/umask$ ls -la /dev/okiscand
srw-rw-rw- 1 root root 0 Nis 23 08:54 /dev/okiscand

remzi@tashan:/tmp/umask$ ls -la /var/lib/lxd/unix.socket
srw-rw---- 1 root lxd 0 Nis 23 08:43 /var/lib/lxd/unix.socket


ls  komutunu anlatmaya çalıştım. Daha fazla bilgi öğrenmek istiyorsanız, "man ls" "info ls" yardımcı olabilir.





Günün komutu - Linux sistemlerinde {2016.04.23} - umask - oluşturulan bir dosya ve dizinin sahiplik hakkı


Linux sistemlerinizde yeni bir dosya ve dizin oluşturduğunuzda, bunun sahiplik

yetkileri(erişim yetkileri) umask değerine göre verilir. Bu değer varsayılan olarak(genellikle) 022 dir.

umask 022 varsayılan değeriyle oluşturulan dizin ve dosyanın yetkileri;

drwxr-xr-x  2 remzi remzi    6 Nis 23 14:54 dizin
-rw-r--r--  1 remzi remzi    0 Nis 23 14:54 dosya

022 genel düşünce için iyi bir değer olsada, güvenlik nedeniyle (çoklu sistemlerde benim dosyamı benden ve/veya grubumdan başkası okumasın isteğiniz mevcutsa) tavsiye edilen bir değer değildir. 

Sadece dosya/dizini oluşturan kişinin bu dosyaya tam erişmesi istiyorsak, .bash_profile veya .bashrc dosyası içerisine  "umask 077" ilave etmemiz gerekiyor. Normalde terminalde "umask 077" komutu verdiğinizde umask değeriniz değişir. Fakat yeni bir oturum/terminal açtığınızda yapmış olduğunuz değişikliğin kaybolduğunu göreceksiniz! Bundan dolayı umask veya benzeri tanımlamaları .bash_profile dosyanızda yapmanızı tavsiye ederim.


umask 077;

-rw-------  1 remzi remzi    0 Nis 23 14:53 dosya
drwx------  2 remzi remzi    6 Nis 23 14:53 dizin


Sayıların ne anlamını aşağıdaki tablodan görebilirsiniz.




Umask Değeri
Dosya Yetkileri
Dizin Yetkileri
0
rw-
rwx
1
rw-
rw-
2
r--
r-x
3
r--
r--
4
-w-
-wx
5
-w-
-w-
6
--x
--x
7
--- (Yetki yok)
--- (yetki yok)


Linuxle eğlenceli ve güvenli günlere...

(Bilgisiz güvenlik olmaz :-D )

31 Mart 2016 Perşembe

Redhat Enterprise Linux 7.x, Oracle Enterprise Linux 7.x ve Ubuntu 16.04 gibi sistemlerde çalışan servisleri görmek

Tüm güncel dağıtımlar initd den systemd ye geçtiklerinden, aktif servisleri görmek için systemctl yi kullanmamız gerekiyor. Sadece aktif servisleri görmek istiyorsanız aşağıdaki komut yeterli.

 systemctl list-unit-files --type=service --state=enabled






Detaylı bilgi için systemctl incelemeniz gerekiyor.

20 Mart 2016 Pazar

Bu güne kadar çıkan solaris 11 sürüm ve güncellemeleri - 100 sürüm güncellemesi, 100ere maşaallah :)



Solaris 11'in resmi olarak çıktığı ilk günden bu güne kadar 100ncü  sürümü güncellemesi çıkmış durumda.
Şimdilik en güncel sürüm;





Hangi sürümün ne zaman çıktığını öğrenmek istiyorsanız,

solaris 11 kurup  # pkg info -r sürüm_no

(örnek: pkg info -r entire@0.5.11,5.11-0.151.0.1) komutunu kullanmanız yeterli.

Tüm sürüm listesi;
5.11-0.175.3.14.0.6.0
5.11-0.175.3.13.0.4.0
5.11-0.175.3.12.0.4.0
5.11-0.175.3.11.0.6.0
5.11-0.175.3.10.0.7.0
5.11-0.175.3.10.0.5.0
5.11-0.175.3.9.0.4.0
5.11-0.175.3.8.0.7.0
5.11-0.175.3.7.0.6.0
5.11-0.175.3.7.0.5.0
5.11-0.175.3.6.0.5.0
5.11-0.175.3.5.0.6.0
5.11-0.175.3.4.0.5.0
5.11-0.175.3.3.0.6.0
5.11-0.175.3.2.0.4.0
5.11-0.175.3.1.0.5.0
5.11-0.175.2.15.0.5.1
5.11-0.175.2.15.0.4.0
5.11-0.175.2.14.0.5.0
5.11-0.175.2.13.0.6.0
5.11-0.175.2.12.0.7.0
5.11-0.175.2.12.0.6.0
5.11-0.175.2.12.0.5.0
5.11-0.175.2.11.0.5.0
5.11-0.175.2.10.0.5.0
5.11-0.175.2.9.0.5.0
5.11-0.175.2.8.0.5.0
5.11-0.175.2.8.0.4.0
5.11-0.175.2.7.0.4.0
5.11-0.175.2.6.0.5.0
5.11-0.175.2.6.0.4.0
5.11-0.175.2.5.0.5.0
5.11-0.175.2.4.0.6.0
5.11-0.175.2.3.0.5.0
5.11-0.175.2.3.0.4.1
5.11-0.175.2.2.0.8.0
5.11-0.175.2.2.0.7.0
5.11-0.175.2.2.0.5.0
5.11-0.175.2.1.0.5.0
5.11-0.175.2.0.0.42.0
5.11-0.175.1.21.0.4.1
5.11-0.175.1.20.0.5.0
5.11-0.175.1.19.0.6.0
5.11-0.175.1.18.0.5.0
5.11-0.175.1.17.0.5.0
5.11-0.175.1.16.0.5.0
5.11-0.175.1.15.0.4.0
5.11-0.175.1.14.0.5.0
5.11-0.175.1.13.0.6.0
5.11-0.175.1.12.0.5.0
5.11-0.175.1.11.0.4.0
5.11-0.175.1.10.0.6.0
5.11-0.175.1.10.0.5.0
5.11-0.175.1.9.0.6.0
5.11-0.175.1.9.0.5.1
5.11-0.175.1.8.0.4.0
5.11-0.175.1.7.0.5.0
5.11-0.175.1.6.0.4.0
5.11-0.175.1.5.0.5.0
5.11-0.175.1.4.0.6.0
5.11-0.175.1.4.0.5.0
5.11-0.175.1.3.0.5.1
5.11-0.175.1.3.0.4.1
5.11-0.175.1.3.0.4.0
5.11-0.175.1.2.0.5.0
5.11-0.175.1.1.0.4.0
5.11-0.175.1.0.0.24.2
5.11-0.175.0.13.0.4.0
5.11-0.175.0.12.0.4.0
5.11-0.175.0.11.0.4.1
5.11-0.175.0.10.0.5.0
5.11-0.175.0.9.0.5.0
5.11-0.175.0.8.0.5.0
5.11-0.175.0.7.0.5.0
5.11-0.175.0.6.0.6.0
5.11-0.175.0.5.0.5.0
5.11-0.175.0.5.0.4.0
5.11-0.175.0.4.0.6.0
5.11-0.175.0.4.0.5.0
5.11-0.175.0.3.0.4.0
5.11-0.175.0.2.0.4.0
5.11-0.175.0.2.0.3.0
5.11-0.175.0.1.0.5.0
5.11-0.175.0.1.0.4.0
5.11-0.175.0.0.0.2.0
5.11-0.151.0.1.14
5.11-0.151.0.1.13
5.11-0.151.0.1.12
5.11-0.151.0.1.11
5.11-0.151.0.1.10
5.11-0.151.0.1.9
5.11-0.151.0.1.8
5.11-0.151.0.1.7
5.11-0.151.0.1.6
5.11-0.151.0.1.5
5.11-0.151.0.1.4
5.11-0.151.0.1.3
5.11-0.151.0.1.2
5.11-0.151.0.1.1
5.11-0.151.0.1


Tüm sürüm hakkındaki bilgilere;
                                                   http://solaris11.ddns.net
erişebilirsiniz.

13 Mart 2016 Pazar

virtualbox disk image dosyasını, ubuntu altında sisteme bağlamak


Günün birinde virtualboxtaki sisteminizi gerçek sistem altından kullanmanız gerekirse, sanal makinenin diskini aşağıdaki gibi sisteminize bağlayabilirsiniz.


modprobe  nbd  max_part=64


qemu-nbd  -c /dev/nbd0 oel6.vdi

kpartx -a /dev/nbd0

vgchange -a y

10 Mart 2016 Perşembe

Linuxte softraid grubunun büyütülmesi

Bu gün yedekleme sisteminin kapasitesine artırmayım dedim ve iki disk ilave ettim.


Bu işlemin tamamlanması için gereken süre yaklaşık  15 saat (900 Dakika).

Raid5 yapısının genişletilmesi/büyütülmesi disklerin büyüklüğüne ve raidin aktif kullanım durumuna göre değişmektedir.  Bu işlem 3-4 günde sürebilirdi, şayet mevcut diskler yoğun kullanılsaydı!!!

Linuxte softraid disk eklemek oldukça kolay olduğunu burdan bir kez daha hatırlatayım. Yeni diskinizi taktıktan sonra;

öncelikle yeni diskleri, mevcut gruba spare olarak ilave ediyoruz;

# mdadm --manage /dev/md357 --add /dev/sdc2 /dev/sde2

gruba ilave edildikten sonra mevcut grubun disk sayisini 3 den 5 çıkartıyoruz.

# mdadm --grow --raid-devices=5 /dev/md357

Hepsi bu kadar. :-D


Her türlü işlemler tamamlandıktan sonra software raidimizi kontrol yapmak istersek aşağıdaki gibi kontrol yapabiliriz.

echo check > /sys/block/md357/md/sync_action

Kontrol işleminin ne durumda olduuğunu

                                mdadm -D /dev/md357



 ile izleyebiliriz.

Yalnız bu işlem bitene kadar her hangi bir işlem yapmamız iyi olur.



6 Mart 2016 Pazar

Günün komutu - Linux sistemlerinde {2016.03.06} - tmux

Daha önce tmux kullanmamışlar için tmuxdan bahsetmek istiyorum.

tmux(terminal multiplexer), konsolumuzu yatay ve/veya dikey bölümlere ayırarak ayrı ayrı kullanmamızı sağlayan güzel bir araç.

Aşağıda gördüğünüz gibi ekran üç parçaya bölünmüş ve her parçada ayrı yarı
uygulamalar çalışmaktadır.


Konsolun panelleri arasında geçişde kısa yollar kullanıyoruz. Belli başlı kısa yollar;

tmux kullanımı:

CTRL b + "  yatay  ekran bölme
CTRL b + %  Dikey  ekran bölme
CTRL b + o ( o harfi ) Paneller arası geçiş
CTRL b + q  Bölünmüş ekranların numaralarını gösterir
CTRL b + } bölünmüş ekranında sağa doğru geçilir,
CTRL b + { bölünmüş ekranda sola doğru geçilir
CTRL b + z Bölünmüş ekran zoomlanır, tekrar yapıldığında eski duruma geçilir.

CTRL b + p Bir önceki ekrana geçilir
CTRL b + n Bir sonraki ekrana geçilir
CTRL b + w Ekranları listeler ve seçilen ekrana geçiş sağlanır

CTRL B + , Ekrana isim verilmesini sağlar.

CTRL B + & Ekranı öldürür.

CTRL b + d  Bulunulan ekrandan ayrılır. Ekranımız bıraktığımız gibi kalır. İstediğimizde geri dönebiliriz.

tmux  attach -t session_name     - Ayrıldığımız ekrana geri dönmemizi sağları

tmux list-sessions  - tmux oturumlarını listeler

tmux swicth -t session-name Ekranlar arası geçiş yapmayı sağlar


Özellikler bunlarla sınırlı değil, meraklı olanlar tmux araştırabilir. 

ubuntu kullananlar "apt-get install tmux" komutu ile yükleyebilirler.
 
 
Birden fazla panelde aynı işlemleri yapmak
ctrl+b
:setw synchronize-panes on
:setw synchronize-panes off
 



3 Mart 2016 Perşembe

Oracle / Sun ZFS disk ünitesinin root parolasını resetlemek

Disk ünitesinin parolası unutulduysa aşağıdaki işlemleri yaparak resetleyebiliriz;


grub'a -s parametresi ileve edilerek single modda sistem açılır.

sistem rw mounda mount edilir

mount -o remount,rw /

aksh çalıştırılır.

configuration users root

select root
set initial_password=root


> configuration users select root set initial_password=<NEW_PASSWORD>
initial_password = ******** (uncommitted)
commit














29 Şubat 2016 Pazartesi

python ile bir dizin içindeki dosyalarin isimlerini değiştirmek

Bir sürü dosyamızın isimlerinde boşluk mevcut ve bu boşlukları her hangi bir şey ile değiştirmek istiyorsak, python'dan yardım isteyebiliriz.

Örnek;

python3
>>>import os
>>>[os.rename(dosya,dosya.replace(' ','_')) for dosya in os.listdir('/depo/arsiv/')]


9 Şubat 2016 Salı

openvz ölmeyecek gibi

Sanallaştırma ortamlarının en iyi oyuncularından virtuozzo ölmeyecek gibi görünüyor.  


https://openvz.org/Virtuozzo
https://openvz.org/Roadmap

Alternatif  sanallaştırma ortamlarını inceleyenler için, çıkacak yeni sürümün özelliklerini inceleyebilir, zamanı olursa test edebilirler.

https://download.openvz.org/virtuozzo/releases/7.0-beta3/x86_64/iso/

Mevcut sürüm beta olsada test edebilirsiniz. Fakat gerçek hayatta kullanmak için, sabırla birazcık daha beklemek gerektiğini unutmayınız. :-)

4 Şubat 2016 Perşembe

sanallaştırma - proxmox


Merhabalar,

Bir süre önce sanallaştırma hakkındaki düşüncelerimi yazmıştım.

Bu gün bilgisi olmayan veya ilgilenmeyenler için proxmoxun ile neler yapabileceğinizi hatırlatacağım.

Proxmox sanallaştırmada linux container ve  donanımsal sanallaştırma tekniğini
kullanıyor. Sanallaştırma işleminin temelinde ise KVM kullanılmaktadır.

Günümüzdeki işlemcilerin hepsinde KVM desteği olduğu düşünülürse, daha iyi bir yol aramaya ihtiyaç varmı!

Şimdi bir kaç dakikanızı ayırarak aşağıdaki linkleri incelermesiniz?


http://pve.proxmox.com/wiki/Hotplug_%28qemu_disk,nic,cpu,memory%29

http://www.linux-kvm.org/page/KVM_Features

Şu an sadece en çok kullandığım ve hoşuma giden  özellikleri kopyalıyorum.
Linklere bakmaya erinecekler için . :-)

Bir sanal sunucumuz çalışırken ihtiyaç anında ram ve cpu da ekleyebiliyorsak,
daha ne isteyelim. Benim kullandığım sistemde sanal makineler arası haberleşmede 25GBit/s civarında.    Özellikle database +web uygulamaları ile çalışanlar için bu hız mükemmel bir şey.  Eminim yeni xeon işlemcilerde bu hız daha yüksek olacaktır.

Acaba kullandığım işletim sistemini destekliyormu diye düşünüyorsanız, aşağıdaki linkte sizin için. :-)
 

http://www.linux-kvm.org/page/Guest_Support_Status


Bu kadar ön bilgiye rağmen, hala endişeniz varsa, endişenizi gidermek için soru sormaktan(eposta yoluyla) çekinmeyin. 


Not: Sanal windows 2012 R2 işletim sisteminde, sanal sunucu çalışırken Ram ve cpu artırabiliyorsunuz.  Fakat azaltmakta sıkıntı mevcut. Örneğin, sanal windows sunucumuzda 2 işlemci ve 8 GB ram verdik. Sistem çalışırken işlemciyi 4'e, ramı 16GB yükseltebiliyoruz. Fakat 16GB den, 8GB veya 4 işlemciden 2 GB ye düşemiyoruz. Bu işlem için windowsta bir şeyler yapmak lazım gibi. Windowsla yakın olan arkadaşlar nedenin açıklayabilir.

windowsta azaltmalar sorunlu olsada,  linux sistemlerinde(aktif olarak kullandığım, oracle enterprise linux 6 ve 7) sorun yok. Ram, cpu, disk, ethernet  vs. istediğiniz gibi artırın veya azaltın.


Hadi birazda sizler deneyin.














27 Ocak 2016 Çarşamba

Belli bir ağdan gelen gelen trafiği çöpe (karadeliğe) göndermek



Linux sunucumuza gelen, istenmeyen bir trafik varsa, bu trafiği çöpe gönderebiliriz.


Örnek; 1.2.3.0/24 ağından gelen tüm trafiği çöpe gönderelim;

# ip rule add blackhole to 1.2.3.0/24

Kontrolünü ise;

# ip ro

komutuyla yapabiliriz.

Şayet belli bir ağ yerine belli bir ülkeden gelen trafiği çöpe göndermek istiyorsak, iptables'in geoip  mödülünü inceleyebilirsiniz. Aslında yukarıdaki işlemi iptables ile yapmak daha doğru olur. Fakat bu her zaman mümkün olmayabilir! Olmaması iptablesdan kaynaklanan bir durum değil, kullanılan uygulamalar veya sistem politikalarından kaynaklanabilir. iptables ile aklınıza gelen herşeyi yapabileceğinizi unutmayın. :)













26 Ocak 2016 Salı

This system profile has already been registered. - uln_register


Oracle Enterprise Linux 7.2'yi ULN kayıt işlemi yaparken ;

"This system profile has already been registered."





Hatası alırsanız yapmanız gereken işlem;
                                                                   echo "uuid=`uuidgen -t`" >> /etc/sysconfig/rhn/up2date


[root@oel7 rhn]#  echo "uuid=`uuidgen -t`" >> /etc/sysconfig/rhn/up2date

uygulayıp, tekrardan uln_register komutunu çalıştırmak.

25 Ocak 2016 Pazartesi

Günün komutu - Linux sistemlerinde {2015.10.06} - mpstat


Bundan sonra her gün, sık kullanılmayan, hatta ismini bile duymadığımız bir linux komutundan kısaca bahsedeceğim.

1. mpstat : işlemcilerin durumlarını raporlar


Meraklı olanlar, detaylı bilgi için herzaman olduğu gibi man den faydalanmalı.

man mpstat

MPSTAT(1)                     Linux User’s Manual                    MPSTAT(1)

NAME
       mpstat - Report processors related statistics.

SYNOPSIS
       mpstat [ -A ] [ -I { SUM | CPU | ALL } ] [ -u ] [ -P { cpu [,...] | ON | ALL } ] [ -V ] [ interval [ count ] ]

Günün komutu - Linux sistemlerinde {2015.11.26} - grub2 - boot sorunu


Şayet RHEL 7.x türevi bir sistem kullanıyorsanız ve grub.cfg dosyasına bağlı bir

aksaklıktan dolayı sisteminin açılmıyor veya açılırken halt ediyorsa, en basit ve

kolay yoldan grub.cfg oluşturmanın yolu, dvd ile sistemi kurtarma modunda

açarak, grub2-mkconfig ile yeni grub.cfg dosyasını oluşturabiliriz.

 

grub2-mkconfig --outputfile=/boot/grub2/grub.cfg

Günün komutu - Linux sistemlerinde {2016.01.25} - lscpu - Sistemimizdeki işlemci modelini, çekirdek ve thread sayısını öğrenmek


İşlemcimiz hakkında her türlü bilgiyi /proc/cpuinfo dosyasından öğrenebileceğimiz gibi, lscpu komutuyla da öğrenebiliriz.



Özellikle cluster ve sanallaştırma sistem kuracağımız zaman işlemcinin modeli önemli önemli olmaktadır. Sanallaştırma  sistemi tasarlıyorsak ve elimizde bir kaç farklı sunucu, bilgisayar mevcut fakat bunları değerlendirmek istiyorsak,
cpu ailesi, modeli ve stepi çok önemlidir. Bunlar aynı olmadığı zaman,
canlı taşınma(livemigration) ve kesintisiz/yüksek kullanılabilirlik(HA) özelliklerini kullanamayız(En azından xen ve vmwarede bunların aynı olması gerekiyor!).

Aynı model(CPU family, Model, Stepping) işlemcileri, fakat frekansı, çekirdek sayısı farklı işlemcileri aynı clusterda(tavsiye edilmese bile) kullanabiliyoruz!

18 Ocak 2016 Pazartesi

Günün ipucu - Linux sistemlerinde {2016.01.18} - Hatırlayamadığımız komutu bulmak!


Linux sistemimizde  cache kullanımını öğrenmek istiyoruz, fakat hangi komutu

kullanılılacağını unuttuk. Bu durumda ne yapmam diyorsanız, imdadımıza man

komutu yetişiyior. Kullanımını bir örnekle öğrenelim.

Şimdi bir anahtar kelimeye ihtiyacımız var.

cache kullanım durumunu öğrenmek istediğimize göre anahtar kelimemizde

"cache info" olabilir.

[root@lxc ~]# man -k "cache info" 
slabtop (1)          - display kernel slab cache information in real time
[root@lxc ~]#

Kullanacağımız komutu (slabtop) bulduk. Daha detaylı bilgi almak istersek;

[root@lxc ~]# man slabtop

SLABTOP(1)                                                                     User Commands                                                                    SLABTOP(1)

NAME
       slabtop - display kernel slab cache information in real time




man'ın 9 bölümden oluştuğunu hatırlayalım.
   
"The table below shows the section numbers of the manual followed by the types of pages they contain.

       1   Executable programs or shell commands
       2   System calls (functions provided by the kernel)
       3   Library calls (functions within program libraries)
       4   Special files (usually found in /dev)
       5   File formats and conventions eg /etc/passwd
       6   Games
       7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
       8   System administration commands (usually only for root)
       9   Kernel routines [Non standard]
"

Meraklılar için;
                                    man man
komutu yeterli olur.



Linux sistemlerinin, kullanımı kolay sistemler olduğunu bir kez daha görüyoruz.

Bu arada solaris 11'i de unutmayalım. Benim için Solaris 11 kullanımı, daha kolay  :)



17 Ocak 2016 Pazar

Güvenlik açığı

Duymayan kalmadıysada, sistemlerini güncellemeyenlere hatırlatmak istedim.

http://www.cyberciti.biz/faq/howto-openssh-client-security-update-cve-0216-0777-cve-0216-0778/

A list of affected Linux distros

  1. CentOS Linux 7.x
  2. RHEL (RedHat Enterprise Linux) 7.x
  3. Debian Linux (squeeze, wheezy, jessie, stretch, and sid release)
  4. Ubuntu Linux 15.10
  5. Ubuntu Linux 15.04
  6. Ubuntu Linux 14.04 LTS
  7. Ubuntu Linux 12.04 LTS
  8. SUSE Linux Enterprise Server 12 (SLES 12)
  9. SUSE Linux Enterprise Server 12 Service Pack 1 (SLES 12 SP1)
  10. SUSE Linux Enterprise Server 11 Service Pack 4 (SLES 11 SP4)
  11. SUSE Linux Enterprise Server 11 Service Pack 3 (SLES 11 SP3)
  12. openSUSE 13.2
  13. openSUSE Leap 42.1

Sistemlerini kullananların sistemlerindeki ssh sürümünü güncellemeleri iyi olur.

14 Ocak 2016 Perşembe

Normal kullanıcıların dmesg komutu ile sistem mesajlarına ulaşmasını önlemek

Bildiğimiz gibi standart olarak sistem mesajlarını, dmesg komutu yardımıyla tüm kullanıcılar erişebilir. Bunun böyle olmasını istemiyorsak yapmamız gereken işlem kernel.dmesg_restrict aktif yapmak. Yapılısı;

/etc/sysctl.conf dosyası içerisine;

kernel.dmesg_restrict = 1

Satırı ilave edildikten sonra;

sysctl -p

komutunu çalıştırmamız yeterlidir. Bundan sonra normal kullanıcılar dmesg komutunu kullanmak isterlerse, aşağıdaki mesajlar karşılaşırlar.


[rx@lxc ~]$ dmesg
dmesg: read kernel buffer failed: Operation not permitted


:D


13 Ocak 2016 Çarşamba

Günün ipucu - Linux sistemlerinde {2016.01.13} - Tek komutla belli bir kullanıcıya ait tüm dosyaların silinmesi

Bu gün uzan zaman önce almış olduğun "CompTIA Linux+ Powered by Linux Professional Instute Study Guide: Exam LX01-103 end Exam LX0-104" kitabına göz atayım dedim.

Öncelikle bu kitabı linux yeni başlayan veya bir kaç yıldır kullanan her sistem yöneticisine tavsiye ederim. En az bir kere baştan sona okunması gereken bir kitab.


Bu kitabın içindeki örneklerden bazıların sizlerle paylaşmak istiyorum.
Bunlardan bir taneside belli bir kullanıcıya ait dosyaların silinmesi örneği.

Örneğimize başlayalım.

1.  # find / -user Christine  | xargs -d "\n" rm

Bu örneği biraz değiştirelim;

# find / -user remzi   -type f | xargs -d "\n" rm -f

kök dizin altında remzi kullanıcısına ait ne kadar  dosya varsa siler.

xarg delimiters olarak sadece yeni satır(newlines) kullanılmasını söylememiz gerektiği için -d "\n" kullanıyoruz. Şayet belirtmez isek ummadığımız sonuçla karşılaşabiliriz.


2. # rm -f `find / -user remzi`


3. # rm $(find  / -user remzi)


Gördüğünüz gibi bir işlemi üç değişik yolla yapabiliyoruz.

Sakın kendinizi  bu üç yolla sınırlamayın. Emin daha nice yollar vardır. :)


Bu haftalık da bu kadar.



9 Ocak 2016 Cumartesi

5 Ocak 2016 Salı

vpn çözümü - softether

Günümüzün temel ihtiyaçlarından olan vpn çözümlerinde kullanabileceğimiz en

iyi çözümlerden bir tanesi softether çözümüdür.

http://www.softether.org/
http://www.softether.org/3-spec
http://softether-download.com/

vpn çözümü kullananlar ve ihtiyacı olanlar, kesinlikle yukarıdaki linkleri incelemi unutmayın!

 
Bu güzel çözüm için Tsukuba üniversitesine teşekkür ederim.

Umarım bizim üniversitelerimiz Tsukaba/MIT gibi üniversiteleri örnek alırlar.




Not: SoftEtherin linux client tarafı, windows client yazılımında olduğu gibi tam değil. Default router, router önceliklendirmeyi kullanıcının kendisi yapıyor.
Kullanıcı tarafı linux olanlar bu noktayı göz önünde bulundurup, script hazırlamaları veya hazır scriptlerden bir tanesini kullanması gerekiyor.

Gerçi kaç kullanıcımız linux işletim sistemini kullanıyor ki!!!



4 Ocak 2016 Pazartesi

Günün ipucu - Linux sistemlerinde {2016.01.04} - Tek komutla birden fazla dosya, dizin oluşturmak

Aynı anda onlarca dizin veya dosya oluşturacağımız zaman "regular expression"  yardımımıza koşar.

Aşağıdakini deneyerek  kolaylıklardan birisini öğrenebiliriz;

mkdir /tmp/test
cd /tmp/test

mkdir test{a..z}{0..9}
touch testfile{a..z}{0..9}

ls

daha fazla bilgi için reguler expression;

http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_04_02.html
http://www.tldp.org/LDP/abs/html/regexp.html

ve googlayabilirsiniz. 

ansible ile yerel quay sunucusu üzerinden execution environment kullanımı

 Yerel quay veya registry sunucularımızdaki ee leri ansible ile kullanabiliyoruz. Bunun için kendi yaptığımız ee leri veya hazır ee leri yük...