Raspberry pi3 Installation

i got new stuff. its very new for me, i’m so excited to have it. its called “Raspberry”.. finally i have it one my new raspberry pi3. i was wondering what i must do with this small device. its still blank. but at least i have to install operating system on it. so i have to download it from raspberry website.
i choose “Raspbian” for my first test. download raspbian from here choose what you like. and then copy to microsd.
actually the installations its very simple as that. but its no so simple when you are using mac os.
here is my step.
1. Download raspbian jessie to your mac os.
2. put microsd on mac os.
3. open diskutil and format microsd as FAT file system.
4. open terminal
5. type command “df -h” to knows device.
6. unmount device with “sudo diskutil unmount /dev/disk2s1”
7. copy downloaded raspbian to microsd with “sudo dd bs=1m if=~/Downloads/2016-05-27-raspbian-jessie.img of=/dev/disk2”
8. eject microsd with “sudo diskutil eject /dev/disk2”

PS :
please make sure microsd devices on format, umount, dd and eject.

next we try with elastix ippbx


rsync and sudo over ssh

I do not have a root password for many of the servers I interact with so I can not SSH directly in as the root user. Also, the ssh daemons are wisely configured with ‘PermitRootLogin’ set to ‘no’ so a password would be moot anyway. I do have sudo permissions on the servers so I can connect under my username and sudo the privileged commands as needed. Glazed-eye screen-staring started when I needed to rsync a remote directory that was read-only for root. How do I get rsync to run under sudo on the remote server? I did some searching and here are some options I found.

Option 1. Set NOPASSWD in the /etc/sudoers file.

crashingdaily ALL= NOPASSWD:/usr/bin/rsync
Then use the –rsync-path option to specify the sudo wrapper.

rsync -a -e “ssh” –rsync-path=”sudo rsync” crashingdaily@server.remotehost.com:/u02/data_pump_dir/ /archive
Option 2. For interactive usage, I can pre-activate sudo and then run rsync as in Option 1.

stty -echo; ssh server.remotehost.com sudo -v; stty echo
rsync -a -e “ssh” –rsync-path=”sudo rsync” crashingdaily@server.remotehost.com:/u02/data_pump_dir/ /archive
The “stty -echo” and “stty echo” is used to temporarily disable the display of the keyboard input to prevent the sudo password from being displayed.

in my case i use :
rsync -chavzP –update –rsync-path=”sudo rsync” –stats user@192.168.10.10:/var/vmail/vmail1/domain.com/ /var/vmail/vmail1/domain.com

credit:
rsync and sudo over SSH


Mencari File di Unix/Linux

Dalam salah satu soal ada pertanyaan mengenai pencarian file di linux bisa dilakukan dengan cara atau metode apa saja. Untuk itu hari ini saya mencoba mengetahui lebih lanjut.

Pencarian file yang biasanya aku lakukan adalah mencari letak file berdasarkan nama file tersebut dengan perintah :

1
2
3
4
5
6
find / -name namafile.txt
Find = merupakan perintah pencarian
/ = direktori tempat pencarian
-name = penentuan nama sebagai parameter kunci
Namafile.txt = merupakan nama file yang dicari, extensi tidak harus txt bisa juga yang lain atau di kosongin.

Berdasarkan informasi hasil penjelajahan dengan google aku menemukan bahwa:

  1. Ada beberapa aplikasi pencarian.
  2. Mencari file dangan nama tertentu.
  3. Mencari file dengan tipe tertentu.
  4. Mencari file dengan ukuran tertentu.
  5. Mencari file yang dimiliki oleh user.
  6. Melakukan aksi untuk hasil pencarian.
  7. Mencari file dengan hak akses tertentu
  8. Dan banyak yang canggih lainnya..,

Kali ini aku akan mencoba menjelaskannya. Ya meskipun copypaste dari source lain, nanti ada kok sourcenya silahkan di cari satu – satu.

  1. Beberapa macam aplikasi pencarian di linux.

whereis

whereis khusus digunakan untuk mencari file binary, source dan manual page. penggunaanya cukup dengan perintah whereis namaprogram

locate

perintah locate digunakan untuk mencari file berdasarkan basis data yang dipakai updatedb. penggunaanya lebih luas dan umum dari pada whereis

find

perintah find inilah perintah yang luar biasa untuk digunakan.

  1. Mencari file dengan nama.

Mungkin ini adalah salah satu yang paling banyak digunakan yaitu mencari file berdasarkan namanya. Pada pencarian ini kita bisa menggunakan character wildcard seperti *. Misalnya kita ingin mencari file yang mengandung huruf e didalam nama filenya:

1
2
3
4
5
6
7
[root@voip-demo /]# find ~ -name "*e*"
/root/wget-log.3
/root/setup-sangoma.txt
/root/wget-log.2
/root/.asterisk_history
/root/nmap-asterisk.pl
/root/.gnupg/secring.gpg

Mudah bukan dan ini adalah contoh dimana kita mencari file dengan dua karakter dimana karakter pertama bebas dan karakter kudanya “e” maka perintahnya akan seperti ini :

1
2
3
4
5
6
[root@voip-demo /]# find -name "?e"
./opt/openfire/jre/lib/locale/de
./usr/src/kernels/2.6.18-238.19.1.el5-i686/arch/sh/boards/se
./usr/src/kernels/2.6.18-238.19.1.el5-i686/include/config/de
./usr/src/kernels/2.6.18-194.3.1.el5-i686/arch/sh/boards/se
./usr/src/kernels/2.6.18-194.3.1.el5-i686/include/config/de

Nah simple bukan , ini merupakan pencarian yang sering digunakan oleh saya dan mungkin anda juga akan sering menggunakannya. Sekarang bagaimana kalau kita ingin mencari file di suatu folder tertentu, contoh kita akan mencari file pada folder / yang nama filenya diawali dengan ‘C’ maka perintahnya seperti ini :

1
2
3
4
5
[root@voip-demo /]# find ~ -name "C*"
/root/CloudLinux-5.5-i386-DVD.iso
/root/CentOS-6.0-i386-bin-DVD.iso
/root/CentOS-5.6-i386-bin-DVD.iso
[root@voip-demo /]#

Oke udah mengerti kan kalau kita ingin mencari file pada direktori tertentu maka argumen pertama yaitu direktori yang akan kita cari maka pencarian akan dilakuakan pada direktori tersebut sampai sub dirktori dibawahnya.

  1. Mencari file dengan tipe tertentu.

Program find juga bisa digunakan untuk mencari file berdasarkan tipe tertentu contohnya kita akan mencari direktori-direktori dibawah /usr/local/ maka perintahnya seperti berikut :

1
2
3
4
5
6
7
[root@voip-demo /]# find ~ -type d
/root
/root/download
/root/.gnupg
/root/.ssh
/root/sipp_packages
[root@voip-demo /]#

Dan bila kita ingin tahu berapa jumlah direktori pada /usr/local/ kita tinggal piping perintah tadi ke program wc.

1
2
3
[root@voip-demo /]# find /usr/local/ -type d | wc -l
181
[root@voip-demo /]#

Seperti yang sudah kita bahas sebelumnya di Linux kita mengenal 7 macam tipe file, jadi yang dimaksudkan tipe file disini bukan ekstensinya tetapi tipe filenya dan kita sudah mengenal satu perintah untuk mencari file bertipe direktori, pada contoh berikut ini kita akan mencari file bertipe block special di direktori /dev/ tetapi yang memiliki nama file diawali dengan hda :

1
2
3
4
5
[root@voip-demo /]# find /dev/ -type b -name "hda*"
/dev/hda
/dev/hda1
/dev/hda2
[root@voip-demo /]#

Pada contoh diatas kita mengkombinasikan argumen type dan name dan berarti anda sudah mengerti cara menggunakan find dengan dua argumen. Untuk notasi tipe-tipe file yang dikenal oleh linux akan dijelaskan seperti berikut:

  1. b untuk block special
  2. c untuk character special
  3. d untuk direktori
  4. p untuk fifo
  5. f untuk regular file
  6. l untuk symbolik link
  7. s untuk socket
  8. Mencari file dengan ukuran tertentu

Pencarian ini juga merupakan salah satu yang sering digunakan apalagi oleh seorang administrator untuk mencari file yang kosong atau yang terlalu besar untuk sistem. Pada contoh berikut kita akan mencari file yang berukuran 0 byte :

1
2
3
4
[root@voip-demo /]# find /tmp/ -empty
/tmp/.webmin
/tmp/dotproject-20110818-135332
/tmp/.ICE-unix

Keluaran dari perintah diatas adalah file yang berukuran 0 byte (kosong) atau direktori yang kosong ( yang tidak ada file didalamnya ) jadi jangan kaget bila keluarannya terdapat banyak direktori. Contoh berikut adalah pencarian pada folder /home yang ukuran filenya lebih dari 200 KB perintahnya adalah :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
[root@voip-demo /]# find ~ -size +200k
/root/wget-log.3
/root/CloudLinux-5.5-i386-DVD.iso
/root/wget-log.2
/root/1KDStaz0.9.iso
/root/wget-log
/root/CentOS-6.0-i386-bin-DVD.iso
/root/blankon-pattimura-cdlive-i386.iso
/root/install_sipp.txt
/root/CentOS-5.6-i386-bin-DVD.iso
/root/bb03-amd64-final.iso
/root/webmin-1.550-1.noarch.rpm
/root/openvpn-as-1.3.5-CentOS5.i386.rpm
/root/test_e1.txt
[root@voip-demo /]#

Contoh berikut kita akan mencari file pada folder bin yang berukuran kurang dari 10 KB dan bertipe regular file perintahnya adalah :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
[root@voip-demo /]# find /bin/ -size -10k -type f
/bin/arch
/bin/mountpoint
/bin/doexec
/bin/raw
/bin/kbd_mode
/bin/asterisk.reload
/bin/alsacard
/bin/dbus-uuidgen
/bin/unicode_stop
/bin/dmesg
/bin/unicode_start
/bin/igawk
[root@voip-demo /]#

Nah kita udah bahas file yang kuran dari dan lebih dari sekarang gimana cari file yang ukurannya udah pasti kita tentukan, gampang sekali perintahnya sebagai berikut :

1
2
3
4
5
6
[root@voip-demo /]# find /bin/ -size 10k -type f
/bin/mktemp
/bin/tracepath
/bin/tracepath6
/bin/dbus-cleanup-sockets
[root@voip-demo /]#

Kita jangan menggunakan + atau – untuk mencari file dengan ukuran yang sudah pasti. Sekarang bagaimana kalau mencari file yang ukurannya diantara atau dalam range tertentu, tenag jangan pusing dulu perintahnya sebagai berikut :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
[root@voip-demo /]# find /bin/ -size +10k -size -20k
/bin/env
/bin/alsaunmute
/bin/false
/bin/link
/bin/basename
/bin/logger
/bin/sync
/bin/kill
/bin/unlink
/bin/rmdir
/bin/true
/bin/taskset
/bin/dbus-send
/bin/hostname
/bin/dbus-monitor
[root@voip-demo /]#

Gampang banget ngak sih, ya iya lah masa ya iya dong. Dari tadi kan kita mencari file dengan ukuran Kilobyte gimana mencari file yang satuannya lain, nah ini beberapa contoh argumen yang dapat digunakan :

  1. b untuk blok 512 byte
  2. c untuk byte
  3. w untuk word
  4. k untuk kilobyte (1024)
  5. M untuk mega byte (1048576)
  6. G untuk giga byte ( (1073741824)
  7. Mencari file yang dimiliki oleh user.

Pencarian file berdasarkan kepimikan user dari file tersebut menggunakan perintah :

1
2
3
4
5
6
7
8
[root@voip-demo /]# find / -user root -name "*.iso"
/root/CloudLinux-5.5-i386-DVD.iso
/root/1KDStaz0.9.iso
/root/CentOS-6.0-i386-bin-DVD.iso
/root/blankon-pattimura-cdlive-i386.iso
/root/CentOS-5.6-i386-bin-DVD.iso
/root/bb03-amd64-final.iso
[root@voip-demo /]#
  1. Melakukan aksi untuk hasil pencarian

Dalam melakukan pencarian file dan melakukan perubahan terhadap file yang di temukan kita bisa menggunakan perintah :

Menghapus file yang berakhiran .iso yang ada dalam folder home, sampai ke subdirectory

1
find ~ -name “*.iso” -exec rm -rf {} \;

Memindahkan file yang berakhiran .iso yang ada dalam folder tes, sampai ke subdirectory ke folder backup

1
[root@voip-demo ~]# find . -name "*.iso" -exec mv  {} /root/backup/ \;
  1. Mencari file dengan hak akses tertentu

File-file world-writable, utamanya file sistem, dapat menjadi lubang keamanan jika seorang cracker memperoleh akses ke sistem anda dan memodifikasinya. Selain itu direktori world-writable berbahaya, karena memungkinkan cracker menambah atau menghapus file sesuai keinginannya. Untuk mencari seluruh file world-writable di sistem anda, gunakan perintah berikut:

1
root# find / -perm -2 -print

dan pastikan anda paham mengapa file tersebut world-writable. Dalam operasi normal, terdapat beberapa file writable, termasuk beberapa dari /dev, dan link simbolik.

  1. Mencari file dengan isi file / baris dari file sebagai acuannya.

Kita sering lupa terhadap beberapa file program yang kita buat, lupa nama, lupa tempat, bahkan lupa akan ekstensinya. Berikut adalah cara untuk mencafi file berdasarkan beberapa baris isi atau isi file tersebut:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[root@voip-demo ~]# find /etc/asterisk | xargs grep "language" -sl
/etc/asterisk/alsa.conf
/etc/asterisk/minivm.conf
/etc/asterisk/extensions_minivm.conf
/etc/asterisk/modem.conf
/etc/asterisk/asterisk.conf
/etc/asterisk/console.conf
/etc/asterisk/extensions.conf.old_freePBX-2.7.0-10
/etc/asterisk/adtranvofr.conf
/etc/asterisk/sip.conf.rpmnew
/etc/asterisk/oss.conf
/etc/asterisk/unicall.conf
/etc/asterisk/vpb.conf
/etc/asterisk/extensions.conf.old_freePBX-2.7.0-5beta
/etc/asterisk/voicemail.conf.rpmnew
/etc/asterisk/chan_dahdi.conf.template
/etc/asterisk/say.conf
/etc/asterisk/zapata.conf.template
/etc/asterisk/a2billing.conf
/etc/asterisk/extensions_additional.conf
/etc/asterisk/iaxprov.conf
/etc/asterisk/iax.conf.old_freePBX-2.7.0-5beta
/etc/asterisk/extensions.conf
/etc/asterisk/extensions.lua
/etc/asterisk/sip.conf.old_freePBX-2.7.0-5beta
[root@voip-demo ~]#

Masih banyak penggunaan  file yang bisa di explorasi. Asalkan kita bisa menggunakan regex semua akan tampak semakin mudah.