laporan resmi modul1 mata kuliah sistem operasi oleh kelompok d2
DESCRIPTION
Laporan Resmi Kelompok D2, pada MODUL1 Mata Kuliah Sistem Operasi, Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh NopemberTRANSCRIPT
-
LAPORAN RESMIMODUL 01
PRAKTIKUM SISTEM OPERASI 2013/2014
KELOMPOK D2 :5112100062 REVA YOGA PRADANA
5112100101 R MAULANA ISKANDAR Z
JURUSAN TEKNIK INFORMATIKAFAKULTAS TEKNOLOGI INFORMASI
INSTITUT TEKNOLOGI SEPULUH NOPEMBERSURABAYA
2013
-
SOAL PENDAHULUAN MODUL 11. Gambarkan silsilah (turunan) dari keluarga sistem operasi Linux yang kalian
ketahui.
2. Tuliskan dan jelaskan fungsi direktori sistem yang ada di Linux. Seperti:
a. /dev
berisi file sistem khusus yang merupakan refleksi device hardware yang dikenali dan digunakan sistem
b. /usr
berisi library,binary, dokumentasi, dan file lainnya hasil installasi user
DEBIAN
ENOCH SLSPUPPY LINUX
CRUX
RED HAT
LINUX
LINSPIRE
KNOPPIX
UBUNTUGENTOO
SABAYON
SLACKWAREARCH
CALDERA
FEDORA
MANDRIVA
OpenGEU
LINUX MINTZenWalk
OpenSUSEPCOSLinux
-
c. /var
berisi file-file log mailbox, dan data aplikasi
d. /bin
berisi file-file binary, standar, yang dapat digunakan oleh semua user, baik user biasa maupun super user
e. /mnt
direktori khusus yang disediakan untuk mounting disk ke sistem dalam bentuk directory
f. /etc
berisi file-file konfigurasi sistem, biasanya hanya boleh diubah oleh super user
g. /lib
berisi file-file library yang digunakan untuk mendukung kerja kernel linux
h. /
direktori root yang menampung seluruh file yang ada di linux
3. Jelaskan dan berikan contoh penggunaan command berikut beserta bukti screenshotnya masing-masing :
mkdir : membuat direktori
ls : menampilkan isi suatu direktori
-
cd : membuka suatu direktori
pwd: mengetahui lokasi sekarang
man: menampilkan manual penggunaan fungsi pada shell script
-
vim: menulis teks. Software editor teks selain gedit dan nano
chown: mengganti kepemilikan direktori / file
-
cp: menggandakan file / folder
mv: memindah file / folder
rm: remove file / folder
-
find: menemukan suatu file / folder. Jika file / folder yang dicari ada, maka outputnya adalah nama file / folder tsb
history: menampilkan history(apa saja yang telah diketik) di terminal.
Cat: melihat isi file
tail: melihat beberapa part dari isi suatu file
-
echo: untuk mencetak teks ke layar terminal / file
grep: grep kata, memperlihtakan isi file dengan isi berawalan kata
chmod: ngubah permission dari file
-
ps: liat proses status
awk: pola scanning dan pengolahan bahasa.
sudo: gak semua linux ada sudo. Jadi superuser intinya.
-
Nano: software editor selain gedit, vi
-
passwd:passwd : ganti password super user passwd user : ganti password user
ln: link. Untuk membuat shortcut.Format: ln -s link_yang_dituju lokasi_dari_shortcut_tersebut
export: misal export VAR=/home/username/maka, tiap kita memunculkan nilai dari VAR ($VAR), maka yang dihasilkan adalah lokasi /home/username.
Su: subsitute user. Untuk ganti user. Format su namauser , lalu ketik password user yang ingin dituju
-
chattr: change attribute. digunakan untuk melindungi sebuah file sehingga tidak akan dapat dihapus ataupun dirubah dengan perintah apapun. Perintah chattr memberikan attribut i pada file yang dilindungi. contoh: # chattr +i namafile
4. Jelaskan dan berikan contoh bagaimana melakukan manajemen (menambah, menghapus, set password) user beserta hak aksesnya (permission & ownership) terhadap suatu file dalam system operasi linux dengan melalui terminal. (sertakan dokumentasi berupa screenshot)
manajemen user:
-
ADDUSER : untuk menambahkan akun
PASSWD : mengubah password
USERMOD : memodifikasi user
USERDEL / DELUSER : menghapus user
deluser NamaUser #menghapus user beserta foldernya di home#userdel NamaUser #menghapus user tanpa menghapus foldernya di home#
-
hak akses:
d : ada direktorinyar : readw : writex : execute
rwx rwx rwx7 7 7 ==> tiap rwx, sistemnya kyk biner
5. Bagaimana cara menginstall dan menghapus perangkat lunak software di linux melalui terminal dengan repositori dan source code. (sertakan dokumentasi
-
berupa screenshot)Cara menghapus program:
1. masukkan Perintah:sudo apt-get remove nama-aplikasi #hapus biasa, settingan ttg filenya ttp ada#
atau
sudo apt-get remove --purge nama-aplikasi #hapus semuanya, termasuk settingan2nya#
2. masukkan password
cara menginstall app:
sudo apt-get install nama-aplikasi
-
6. Jelaskan dan berikan contoh mengenai input redirection , output redirection,dan pipelining dan berikan contoh masing-masing 3. (sertakan dokumentasi berupa screenshot)
output redirection:echo halooo > halo /*replace isi file halo dengan teks halooo*/echo halooo >> halo /*nggak replace isi filenya, tapi nambahi isi dari file halo, dengan teks halooo*/
input redirection:cat < teks.txt
-
pipelining:
7. Apa itu sed ? Berikan contoh penggunaanya pada terminal. (sertakan dokumentasi berupa screenshot)sed adalah stream editor. Untuk mengganti suatu kata dalam file tertentu menjadi kata lainnya. Misal kata galau jadi senang. Syntax nya adalah: sed -i 's/galau/senang/g' teks.txt
8. Jelaskan dan berikan contoh penggunaan berikut pada shell scripting beserta screenshotnya :
Argument dan Variable (inisialisasi dan access)Dalam pendefinisian variabel harus mengikuti beberapa aturan, seperti:
- dimulai dengan huruf atau underscore
- hindari pemakaian spesial karakter seperti *,$,#,dll.
- bash bersifat case sensitive, maksudnya membedakan huruf besar dan kecil, a berbeda dengan A, nama berbeda dengan Nama,NaMa,dsb
- untuk mengeset nilai variabel gunakan operator assignment (pemberi nilai)"="
-
Alias contoh penggunaan alias :
alias nulis=echo
jadi saat mengetik perintah nulis, fungsinya bakal sama kayak echo. Untuk menormalkan kembali, cukup pakai unalias nulis
Functionsyntax membuat fungsi di shell script:function nama_fungsi(){
perintah}
if statementsalah-satu syntax dalam shell script, yang digunakan dalam percabangan.
Syntaxnya:
if [ kondisi1 ] #jika kondisi 1 terpenuhi#
then
perintah
elif [ kondisi2 ] #jika kondisi 1 tidak terpenuhi, dan kondisi 2 terpenuhi#
-
then
perintah
else #jika kedua kondisi di atas tidak terpenuhi#
perintah
fi #akhir dari if#
while statementsalah-satu syntax perulangan. Syntax:
while [ kondisi ]; do
perintah
done
for loopsfor (( kondisi_inisialisasi;syarat looping tetap berjalan;update value ))
-
do perintahdone
case statementsyntax dasarnya seperti gambar ini:
expr: syntax untuk pengorasian dua buah angka / variabel
(masing-masing contoh penggunaan sertakan dokumentasi berupa screenshot)
9. Bagaimana cara mengatur proxy pada shell? (sertakan dokumentasi berupa screenshot)
export http_proxy=http://: export ftp_proxy=http://:
-
SOAL SHIFT
1. Bahrul adalah seorang mahasiswa yang mudah galau. Jika sedang galau, biasanya setiap malam Jumat dia akan menulis kegalauannya pada sebuah diary digital berupa file plaintext di direktori /home/[username] setiap jam 8 malam. Supaya tidak kelihatan terlalu galau, Bahrul ingin mengganti setiap kata galau pada diary tersebut dengan kata senang. Namun, karena tidak tahu caranya, maka ia meminta bantuan anda sebagai sahabatnya, untuk membuat scriptnya.
-
*sesuaikan isi yang ada di dalam tanda [ ]Penjelasan soal nomor 1 :
Soal menyuruh kita untuk membuat script yang bisa mengubah kata galau dalam suatu teks editor menjadi kata senang di waktu tertentu sesuai keinginan soal
Karena diperlukan waktu tertentu ketika menjalankan script, maka diperlukan scheduling dalam menjalankan script, kita bisa gunakan fitur crontab
Penyelesaian soal nomor 1 : Kita buat script untuk mengubah semua kata galau dalam text file menjadi kata senang
Kita tulis di script.sh kita dengan perintah :export DISPLAY=:0 && gedit && sed i s/galau/senang/g /direktori yang dituju/*.txt
Perintah sed = stream editor
-i = in place, s = substitute, g = global Kemudian kita atur crontab sesuai jadwal yang diinginkan, format crontab : Minute-Hour-
Date-Month-Day_in_Week
Setelah pengaturan di crontab, maka program tadi akan berjalan sesuai jadwal
-
2. Suatu ketika, Bu Diana memberikan kisi-kisi ujian matkul Matdis tentang bilangan Fibonacci. Dimana materi tersebut sangat sulit dipahami oleh bahrul. Sehingga ia kembali galau. Dia malu jika meminta temannya untuk menjelaskan materi tersebut berulang kali. Bahrul takut jikalau tidak lulus matdis. Sebagai sahabatnya, bantulah bahrul membuat script tentang bilangan Fibonacci tersebut.
Penjelasan soal nomor 2 : Soal menyuruh kita untuk membuat script menampilkan bilangan Fibonacci di terminal kita
Penyelesaian soal nomor 2 : Kita buat script.sh dengan isi sebagai berikut :
var1=0
var2=1
read num #menentukan banyaknya bilangan yg ditampilkan
for(( i=0;i
-
3. Bahrul dinobatkan sebagai kepala bagian teknis di Lab AJK . bahrul memberikan suatu aturan kepada user bahwa pada jam aktif perkuliahan, user tidak diperkenankan untuk bermain game. namun suatu ketika ada 2 user yang bernama Rangga dan Cinta sedang bermain game. karena hal itu melanggar aturan, Bahrul memutuskan untuk menegur mereka secara halus dengan membuat sebuah script yang dapat menampilkan suatu pesan peringatan ke layar rangga dan cinta dengan aturan:
Setiap kelipatan detik ganjil, script akan menuliskan kalimat Rangga, jangan main game ya untuk Rangga
Setiap kelipatan detik genap, script akan menuliskan kalimat Cinta, jangan main game ya untuk Cinta
Setiap kalimat yang ditulis untuk Rangga dalam suatu file, kalimat itu tidak boleh dibaca oleh Cinta, begitu pula sebaliknya. Sebagai sahabatnya, bantu bahrul dalam pembuatan script tersebut.
a) Penjelasan soal nomor 3 :soal a menyuruh kita untuk menampilkan notifikasi pada user rangga di setiap detik ganjil dengan isi rangga, jangan main game ya
-
soal b menyuruh kita untuk menampilkan notifikasi pada user cinta di setiap detik genap dengan isi cinta, jangan main game ya
kemudian text tempat menyimpan notifikasi itu tidak bisa dibaca oleh user yang lain
b) Penyelesaian soal nomor 3 :Pertama kita buat user rangga dan cinta dengan perintah adduser rangga dan adduser cinta
Untuk menampilkan notifikasi tersebut, kita bisa buat script.sh dengan isi :while [ true ];
do
#diperlukan dibeberapa komputer yang mengalami error pada #detik 8 dan 9 /*
detik=`date +%S`;
if [$detik -eq 08];
then
detik=8;
elif [$detik -eq 09];
then
detik=9;
fi;
#*/
if [ $(($detik%2)) -ne 0 ];
then
echo "rangga, jangan main game!" | write rangga;
echo "rangga, jangan main game!" > 'alamat/rangga.txt';
chmod 700 rangga.txt;
chown rangga:rangga rangga.txt;
else
echo "cinta jangan nonton sinetron!" | write rangga; echo "cinta jangan nonton sinetron!" > 'alamat/cinta.txt';
-
chmod 700 cinta.txt;
chown cinta:cinta cinta.txt;
done
-
4. Sebagai kepala bagian teknis Lab. AJK, bahrul diberikan sebuah server yang menyediakan berbagai layanan. Suatu ketika, bahrul menyadari kalau ada beberapa file penting di server yang sudah diedit oleh user yang memiliki akses pada server tersebut dan bisa menjadi root. Karena bahrul tidak begitu paham akan security server tersebut, dia meminta bantuan anda untuk mengamankan file-file penting tersebut. Ada dua cara yang bisa dilakukan, yaitu:
a) menghapus hak akses sebagai root dari user tersebut.
b) tanpa harus menghapus usaha hak akses tersebut sebagai root, tapi user tetap tidak bisa menghapus file.
Penjelasan soal nomor 4 :
Soal a) menyuruh kita untuk menghapus hak akses user sebagai root
Soal b) menyuruh kita untuk menetapkan file agar tidak bisa dihapus oleh siapapun tanpa menghilangkan hak akses user sebagai root
Penyelesaian soal nomor 4 :
Untuk soal a) kita bisa buat script.sh dengan isi :deluser user sudo #user diisi nama user
atau untuk menyelesaikan soal a) kita bisa mengubah visudo dengan menjalankan script.sh dengan isi :sed i s/user/#user /etc/sudoersdengan ini, kita akan menhapus user dari grup sudo NB : user adalah nama user
-
untuk menyelesaikan soal b) kita bisa menjalankan script.sh dengan isi : chattr +i /direktori/nama_file
-
5. Bahrul mempunyai rencana berlibur di Karimun Jawa minggu depan. Namun dia merasa server AJK masih tidak aman karena takut ada orang lain yang menyalahgunakan. Bantu Bahrul membuat sebuah script yang dapat mencatat aktivitas apa saja yang sudah terjadi pada servernya dan disimpan ke dalam sebuah file tiap 1 menit. Kelompokan laporan dalam folder berdasarkan hari. Buat laporan sedetil mungkin seperti file apa yang dihapus, apa nama folder yang dibuat, dll.
Scriptnya:
hari=`date +%A`
tanggal=`date +%F`
penunjukhari=`date +%u`
jam=`date +%H`
menit=`date +%M`cek=`ls -l | grep $hari`
-
if [ "$cek" == "" ]; then
mkdir $hari
fi
touch /home/revoreva/shift_1_sisop/$hari/$tanggal\ $jam:$menit
cat /home/revoreva/.bash_history >> /home/revoreva/shift_1_sisop/$hari/$tanggal\ $jam:$menit
-
6. Ketika di Karimun Jawa, Bahrul merasa bosan diving terus sehingga dia memutuskan membuat program yang dapat menampilkan sebuah pesan dan jika nama file sudah ada pada direktori tersebut maka nama file baru yang dibuat berformat namafile + urutan angka, contoh: file1, file2, dst. Pada saat program dibuka akan menampilkan selamat pagi/siang/sore/malam [nama kelompok] dengan user [username], sekarang pukul [waktu sekarang] dan pada direktori [direktori aktif sekarang].
*sesuaikan isi yang ada di dalam tanda [ ]