COURSE NDG LINUX ESSENTIALS | Chapter 2
October 17, 2018
Add Comment
Assalamu'alaikum sobat IT semua,
Dihari ini saya melanjutkan kursus saya dan seperti biasa saya akan membagikan materi yang telah saya dapat dari kursus ini pada chapter 2 jadi simak y sobat IT semua.
Dihari ini saya melanjutkan kursus saya dan seperti biasa saya akan membagikan materi yang telah saya dapat dari kursus ini pada chapter 2 jadi simak y sobat IT semua.
PENDAHULUAN
Dalam bab ini kita akan mengenal beberapa aplikasi dan alat open source. Kami juga akan membahas perangkat lunak open source dan lisensi.
APLIKASI OPEN SOURCE UTAMA
Kernel Linux dapat menjalankan berbagai perangkat lunak di berbagai platform perangkat keras. Komputer dapat bertindak sebagai server , yang berarti ia terutama menangani data atas nama orang lain, atau dapat bertindak sebagai desktop , yang berarti pengguna akan berinteraksi dengannya secara langsung. Mesin dapat menjalankan perangkat lunak atau dapat digunakan sebagai mesin pengembangan dalam proses pembuatan perangkat lunak. Anda bahkan dapat menjalankan banyak peran karena tidak ada perbedaan dengan Linux tentang peran mesin; ini hanya masalah mengkonfigurasi aplikasi mana yang berjalan.
Salah satu keuntungannya adalah Anda dapat mensimulasikan hampir semua aspek lingkungan produksi, mulai dari pengembangan, hingga pengujian, hingga verifikasi perangkat keras yang diperkecil, yang menghemat biaya dan waktu. Sebagai seseorang yang mempelajari Linux, Anda dapat menjalankan aplikasi server yang sama pada desktop Anda atau server virtual murah yang dijalankan pada Penyedia Layanan Internet yang besar. Tentu saja, Anda tidak akan dapat menangani volume penyedia besar, karena mereka akan memiliki perangkat keras yang jauh lebih mahal. Tetapi Anda dapat mensimulasikan hampir semua konfigurasi tanpa memerlukan perizinan perangkat keras atau server yang kuat.
Perangkat lunak Linux umumnya masuk dalam salah satu dari tiga kategori:
- Perangkat lunak server - perangkat lunak yang tidak memiliki interaksi langsung dengan monitor dan keyboard mesin yang digunakannya. Tujuannya adalah untuk melayani informasi ke komputer lain, yang disebut klien . Kadang-kadang perangkat lunak server mungkin tidak berbicara dengan komputer lain tetapi hanya akan duduk di sana dan "mengerutkan" data.
- Perangkat lunak desktop - browser web, editor teks, pemutar musik, atau perangkat lunak lain yang berinteraksi dengan Anda. Dalam banyak kasus, seperti browser web, perangkat lunak berbicara ke server di ujung lain dan menafsirkan data untuk Anda. Di sini, perangkat lunak desktop adalah klien.
- Alat - kategori longgar dari perangkat lunak yang ada untuk memudahkan mengelola sistem Anda. Anda mungkin memiliki alat yang membantu Anda mengonfigurasi tampilan Anda, atau sesuatu yang menyediakan shell Linux , atau bahkan alat yang lebih canggih yang mengubah kode sumber menjadi sesuatu yang dapat dieksekusi komputer
Selain itu, kami akan mempertimbangkan aplikasi seluler , sebagian besar untuk kepentingan ujian LPI. Aplikasi seluler sangat mirip dengan aplikasi desktop tetapi berjalan di ponsel atau tablet, bukan di komputer desktop.
Tugas apa pun yang ingin Anda lakukan di Linux kemungkinan dapat diakomodasi oleh sejumlah aplikasi. Ada banyak browser web, banyak server web, dan banyak editor teks (manfaatnya masing-masing adalah subjek dari banyak perang suci UNIX). Ini tidak berbeda dengan dunia sumber tertutup. Namun, manfaat dari open source adalah jika seseorang yang tidak menyukai cara server web mereka bekerja, mereka dapat mulai membangun sendiri. Satu hal yang akan Anda pelajari ketika Anda maju dengan Linux adalah bagaimana mengevaluasi perangkat lunak. Kadang-kadang Anda akan pergi dengan pemimpin paket, kadang-kadang Anda ingin melihat ke tepi berdarah.
APLIKASI SERVER
Linux unggul dalam menjalankan aplikasi server karena keandalan dan efisiensinya. Ketika mempertimbangkan perangkat lunak server, pertanyaan paling penting adalah "layanan apa yang saya jalankan?" Jika Anda ingin melayani halaman web, Anda akan memerlukan perangkat lunak server web, bukan server mail!
Salah satu kegunaan awal Linux adalah untuk server web . Server web menghosting konten untuk halaman web, yang dilihat oleh browser web menggunakan Hypertext Transfer Protocol (HTTP) atau citarasanya yang dienkripsi, HTTPS. Halaman web itu sendiri bisa statis yang berarti bahwa ketika browser web meminta halaman server web hanya mengirim file seperti yang muncul pada disk. Server juga dapat menyajikan konten dinamis , artinya permintaan dikirim oleh server web ke aplikasi, yang menghasilkan konten. WordPress adalah salah satu contoh populer. Pengguna dapat mengembangkan konten melalui browser mereka di aplikasi WordPress dan perangkat lunak mengubahnya menjadi situs web yang berfungsi penuh. Setiap kali Anda berbelanja online, Anda melihat situs yang dinamis.
Apache adalah server web dominan yang digunakan saat ini. Apache awalnya merupakan proyek mandiri tetapi kelompok tersebut sejak itu telah membentuk Yayasan Perangkat Lunak Apache dan mengelola lebih dari seratus proyek perangkat lunak sumber terbuka.
Server web lain adalah nginx , yang berbasis di Rusia. Ini berfokus pada kinerja dengan memanfaatkan kernel UNIX yang lebih modern dan hanya melakukan sebagian dari apa yang dapat dilakukan Apache. Lebih dari 65% situs web diberdayakan oleh nginx atau Apache.
Email selalu menjadi populer digunakan untuk server Linux. Saat membahas server email, selalu bermanfaat untuk melihat 3 peran berbeda yang diperlukan untuk mendapatkan email di antara orang-orang:
Mail Transfer Agent (MTA) - mencari tahu server mana yang perlu menerima email dan menggunakan Simple Mail Transfer Protocol (SMTP) untuk memindahkan email ke server itu. Sudah lazim bagi email untuk mengambil beberapa "lompatan" untuk mencapai tujuan akhirnya, karena sebuah organisasi mungkin memiliki beberapa MTA.
Agen Pengiriman Surat (MDA , juga disebut Agen Pengiriman Lokal) - mengurus penyimpanan email di kotak surat pengguna. Biasanya dipanggil dari MTA akhir dalam rantai.
Server POP / IMAP - Protokol Kantor Pos dan Protokol Akses Pesan Internet adalah dua protokol komunikasi yang memungkinkan klien email yang berjalan di komputer Anda berbicara ke server jarak jauh untuk mengambil email.
Terkadang perangkat lunak akan mengimplementasikan beberapa komponen. Di dunia sumber tertutup, Microsoft Exchange mengimplementasikan semua komponen, sehingga tidak ada opsi untuk membuat pilihan individual. Di dunia open source ada banyak pilihan. Beberapa server POP / IMAP menerapkan format basis data email mereka sendiri untuk kinerja, jadi juga akan menyertakan MDA jika basis data khusus diinginkan. Orang yang menggunakan format file standar (seperti semua email dalam satu file teks) dapat memilih MDA apa pun.
MTA yang paling terkenal adalah sendmail . Postfix adalah salah satu yang populer dan bertujuan untuk lebih sederhana dan lebih aman daripada sendmail.
Jika Anda menggunakan format file standar untuk menyimpan email, MTA Anda juga dapat mengirimkan email. Atau, Anda dapat menggunakan sesuatu seperti procmail , yang memungkinkan Anda menentukan filter khusus untuk memproses email dan memfilternya.
Dovecot adalah server POP / IMAP yang populer karena kemudahan penggunaan dan perawatannya yang rendah. Cyrus IMAP adalah opsi lain.
Untuk berbagi file, Samba adalah pemenang yang jelas. Samba memungkinkan mesin Linux terlihat seperti mesin Windows sehingga dapat berbagi file dan berpartisipasi dalam domain Windows. Samba mengimplementasikan komponen server, seperti membuat file tersedia untuk berbagi dan peran server Windows tertentu, dan juga klien berakhir sehingga mesin Linux dapat menggunakan berbagi file Windows.
Jika Anda memiliki mesin Apple di jaringan Anda, proyek Netatalk memungkinkan mesin Linux Anda berperilaku sebagai server file Apple.
Protokol berbagi file asli untuk UNIX disebut Network File System (NFS) . NFS biasanya merupakan bagian dari kernel yang berarti bahwa sistem file jarak jauh dapat dipasang seperti disk biasa, membuat akses file transparan ke aplikasi lain.
Ketika jaringan komputer Anda semakin besar, Anda perlu mengimplementasikan beberapa jenis direktori. Direktori tertua disebut Sistem Nama Domain dan digunakan untuk mengonversi nama seperti http://www.linux.com ke alamat IP seperti 192.168.100.100, yang merupakan pengidentifikasi unik komputer di Internet. DNS juga menyimpan informasi global seperti alamat MTA untuk nama domain yang diberikan. Suatu organisasi mungkin ingin menjalankan server DNS mereka sendiri untuk meng-host nama publik mereka, dan juga berfungsi sebagai direktori layanan internal. The Internet Software Consortium mempertahankan server DNS yang paling populer, hanya disebut mengikat setelah nama dari proses yang berjalan layanan.
DNS sebagian besar terfokus pada nama komputer dan alamat IP dan tidak mudah dicari. Direktori lain bermunculan untuk menyimpan informasi lain seperti akun pengguna dan peran keamanan. The Lightweight Directory Access Protocol (LDAP) adalah direktori yang paling umum yang juga kekuatan Microsoft Active Directory. Dalam LDAP, objek disimpan di pohon, dan posisi objek di pohon itu dapat digunakan untuk memperoleh informasi tentang objek selain apa yang disimpan dengan objek itu sendiri. Sebagai contoh, seorang administrator Linux dapat disimpan di cabang pohon yang disebut "departemen TI", yang berada di bawah cabang yang disebut "Operasi". Dengan demikian orang dapat menemukan semua staf teknis dengan mencari di bawah cabang departemen TI. OpenLDAP adalah pemain dominan di sini.
Satu bagian terakhir dari infrastruktur jaringan disebut Dynamic Host Configuration Protocol (DHCP) . Ketika komputer dinyalakan, diperlukan alamat IP untuk jaringan lokal sehingga dapat diidentifikasi secara unik. Tugas DHCP adalah mendengarkan permintaan dan menetapkan alamat gratis dari kumpulan DHCP. Konsorsium Perangkat Lunak Internet juga memelihara server DHCP ISC , yang merupakan pemain paling umum di sini.
Sebuah basis data menyimpan informasi dan juga memungkinkan untuk memudahkan pengambilan dan query. Database paling populer di sini adalah MySQL dan PostgreSQL . Anda dapat memasukkan angka penjualan mentah ke dalam basis data dan kemudian menggunakan bahasa yang disebut Structured Query Language (SQL) untuk mengumpulkan penjualan berdasarkan produk dan tanggal untuk menghasilkan laporan.
APLIKASI DESKTOP
Ekosistem Linux memiliki beragam aplikasi desktop. Anda dapat menemukan game, aplikasi produktivitas, alat kreatif, dan lainnya. Bagian ini hanyalah survei tentang apa yang ada di luar sana, dengan fokus pada apa yang dianggap paling penting oleh LPI.
Sebelum melihat aplikasi individual, ada baiknya untuk melihat lingkungan desktop. Desktop Linux menjalankan sistem yang disebut X Window , juga dikenal sebagai X11 . Server Linux X11 adalah X.org , yang menyediakan cara bagi perangkat lunak untuk beroperasi dalam mode grafis dan menerima input dari keyboard dan mouse. Windows dan ikon ditangani oleh perangkat lunak lain yang disebut window manager atau lingkungan desktop. Window manager adalah versi lebih sederhana dari lingkungan desktop karena hanya menyediakan kode untuk menggambar menu dan mengelola aplikasi windows di layar. Lingkungan desktop berlapis dalam fitur seperti jendela masuk, sesi, pengelola file, dan utilitas lainnya. Singkatnya, workstation Linux hanya teks menjadi desktop grafis dengan penambahan X-Windows dan lingkungan desktop atau window manager.
Manajer jendela termasuk Compiz , FVWM , dan Pencerahan , meskipun ada banyak lagi. Lingkungan desktop pada dasarnya adalah KDE dan GNOME , keduanya memiliki window manager sendiri. Baik KDE maupun GNOME adalah proyek yang matang dengan jumlah utilitas luar biasa yang dibangun melawan mereka, dan pilihannya sering kali adalah masalah preferensi pribadi.
Aplikasi produktivitas dasar, seperti pengolah kata, spreadsheet, dan paket presentasi sangat penting. Secara kolektif mereka dikenal sebagai office suite , sebagian besar disebabkan oleh Microsoft Office yang merupakan pemain dominan di pasar.
OpenOffice (kadang-kadang disebut OpenOffice.org) dan LibreOffice menawarkan rangkaian perkantoran lengkap, termasuk alat gambar yang berupaya untuk kompatibilitas dengan Microsoft Office baik dalam hal fitur maupun format file. Kedua proyek ini juga merupakan contoh yang bagus tentang bagaimana politik memengaruhi open source.
Pada tahun 1999, Sun Microsystems mengakuisisi perusahaan Jerman yang relatif tidak dikenal yang membuat office suite untuk Linux yang disebut StarOffice . Segera setelah itu, Sun mengganti namanya menjadi OpenOffice dan merilisnya di bawah lisensi open source. Untuk semakin memperumit masalah, StarOffice tetap menjadi produk eksklusif yang diambil dari OpenOffice. Pada 2010 Sun diakuisisi oleh Oracle, yang kemudian menyerahkan proyeknya ke Yayasan Apache.
Oracle memiliki sejarah yang buruk dalam mendukung proyek-proyek open source yang diperolehnya, sehingga tak lama setelah akuisisi oleh Oracle, proyek itu bercabang menjadi LibreOffice. Pada saat itu ada dua kelompok orang yang mengembangkan perangkat lunak yang sama. Sebagian besar momentum beralih ke proyek LibreOffice yang karenanya disertakan secara default di banyak distribusi Linux.
Untuk menjelajah web, dua pesaing utama adalah Firefox dan Google Chrome . Keduanya adalah browser web open source yang cepat, kaya fitur, dan memiliki dukungan yang sangat baik untuk pengembang web. Kedua paket ini adalah contoh yang baik tentang bagaimana keanekaragaman baik untuk open source - peningkatan satu mendorong tim lain untuk mencoba dan terbaik yang lain. Akibatnya, Internet memiliki dua browser yang luar biasa yang mendorong batas apa yang dapat dilakukan di web dan bekerja di berbagai platform.
Proyek Mozilla juga keluar dengan Thunderbird , klien email desktop berfitur lengkap. Thunderbird terhubung ke server POP atau IMAP, menampilkan email secara lokal, dan mengirim email melalui server SMTP eksternal.
Klien email penting lainnya adalah Evolution dan KMail yang merupakan klien email proyek GNOME dan KDE. Standarisasi melalui POP dan IMAP dan format email lokal berarti mudah untuk beralih di antara klien email tanpa kehilangan data. Email berbasis web juga merupakan pilihan lain.
Untuk jenis kreatif, ada Blender , GIMP , dan Audacity yang masing-masing menangani pembuatan film 3D, manipulasi gambar 2D, dan pengeditan audio. Mereka memiliki berbagai tingkat kesuksesan di pasar profesional. Blender digunakan untuk semuanya, mulai dari film independen hingga film Hollywood, misalnya.
ALAT KONSOL
Sejarah pengembangan UNIX menunjukkan tumpang tindih yang cukup besar antara keterampilan pengembangan perangkat lunak dan administrasi sistem. Alat yang memungkinkan Anda mengelola sistem memiliki fitur bahasa komputer seperti loop, dan beberapa bahasa komputer digunakan secara luas dalam mengotomatisasi tugas-tugas administrasi sistem. Dengan demikian, seseorang harus mempertimbangkan keterampilan ini saling melengkapi.
Pada tingkat dasar, Anda berinteraksi dengan sistem Linux melalui shell, tidak peduli apakah Anda terhubung ke sistem dari jarak jauh atau dari keyboard yang terpasang. Tugas shell adalah menerima perintah, seperti manipulasi file dan memulai aplikasi, dan meneruskannya ke kernel Linux untuk dieksekusi. Di sini, kami menunjukkan interaksi khas dengan shell Linux:
Pengguna diberi prompt, yang biasanya berakhir dengan tanda dolar $untuk menunjukkan akun yang tidak memiliki hak. Apa pun sebelum prompt, dalam hal ini sysadmin@localhost:~, adalah prompt yang dapat dikonfigurasi yang memberikan informasi tambahan kepada pengguna. Pada gambar di atas, sysadminadalah nama pengguna saat ini, localhostadalah nama server, dan ~merupakan direktori saat ini (dalam UNIX, simbol tilde adalah bentuk singkat untuk direktori home pengguna). Kita akan melihat perintah-perintah Linux secara lebih rinci di bab-bab selanjutnya, tetapi untuk menyelesaikan penjelasannya, perintah pertama mencantumkan file dengan lsperintah, menerima beberapa informasi tentang file, dan kemudian menghapus file itu dengan rmperintah.
Shell Linux menyediakan bahasa yang kaya untuk iterasi file dan menyesuaikan lingkungan, semua tanpa meninggalkan shell. Misalnya, dimungkinkan untuk menulis satu baris perintah yang menemukan file dengan konten yang cocok dengan pola tertentu, mengekstrak informasi yang berguna dari file, kemudian menyalin informasi baru ke file baru.
Linux menawarkan beragam cangkang untuk dipilih, kebanyakan berbeda dalam bagaimana dan apa yang dapat dikustomisasi, dan sintaksis bahasa scripting bawaan. Dua keluarga utama adalah shell Bourne dan C shell . Shell Bourne dinamai pencipta dan shell C dinamai karena sintaksis meminjam banyak dari bahasa C. Karena kedua cangkang ini ditemukan pada tahun 1970-an, ada versi yang lebih modern, Bourne Again Shell (Bash) dan tcsh (tee-cee-shell). Bash adalah shell default pada kebanyakan sistem, meskipun Anda hampir dapat memastikan bahwa tcsh tersedia jika itu adalah preferensi Anda.
Orang lain mengambil fitur favorit mereka dari Bash dan tcsh dan telah membuat kerang lain, seperti kerang Korn (ksh) dan zsh . Pilihan kerang sebagian besar adalah pilihan pribadi. Jika Anda dapat merasa nyaman dengan Bash maka Anda dapat beroperasi secara efektif pada sebagian besar sistem Linux. Setelah itu Anda dapat bercabang dan mencoba kerang baru untuk melihat apakah mereka membantu produktivitas Anda.
Yang lebih membelah daripada pemilihan kerang adalah pilihan editor teks. Editor teks digunakan di konsol untuk mengedit file konfigurasi. Dua kamp utama adalah vi (atau vim yang lebih modern ) dan emacs . Keduanya adalah alat yang sangat kuat untuk mengedit file teks, mereka berbeda dalam format perintah dan bagaimana Anda menulis plugin untuk mereka. Plugin dapat berupa apa saja, mulai dari penyorotan sintaksis proyek perangkat lunak hingga kalender terintegrasi.
Baik vim dan emacs adalah kompleks dan memiliki kurva belajar yang curam. Ini tidak membantu jika semua yang Anda butuhkan hanyalah pengeditan sederhana dari file teks kecil. Oleh karena itu pico dan nano tersedia di sebagian besar sistem (yang terakhir merupakan turunan dari yang pertama) dan menyediakan pengeditan teks yang sangat dasar.
Bahkan jika Anda memilih untuk tidak menggunakan vi, Anda harus berusaha untuk mendapatkan keakraban dasar karena vi dasar ada di setiap sistem Linux. Jika Anda memulihkan sistem Linux yang rusak dengan menjalankan dalam mode pemulihan distribusi Anda yakin akan tersedia vi .
Jika Anda memiliki sistem Linux, Anda perlu menambah, menghapus, dan memperbarui perangkat lunak. Pada satu titik ini berarti mengunduh kode sumber, mengaturnya, membangunnya, dan menyalin file pada setiap sistem. Untungnya, distribusi membuat paket yang merupakan salinan terkompresi dari aplikasi. Seorang manajer paket menjaga melacak file mana yang termasuk dalam paket mana dan bahkan mengunduh pembaruan dari server jauh yang disebut repositori . Pada sistem Debian alat termasuk dpkg , apt-get , dan apt-cache . Pada sistem Red Hat, Anda menggunakan rpm dan yum . Kami akan melihat lebih banyak pada paket nanti.
ALAT PENGEMBANGAN
Seharusnya tidak mengejutkan bahwa ketika perangkat lunak dibangun berdasarkan kontribusi dari programmer, Linux memiliki dukungan yang sangat baik untuk pengembangan perangkat lunak. Kerang dibangun untuk dapat diprogram dan ada editor kuat yang disertakan pada setiap sistem. Ada juga banyak alat pengembangan yang tersedia, dan banyak bahasa modern memperlakukan Linux sebagai warga negara kelas satu.
Bahasa komputer menyediakan cara bagi seorang programmer untuk memasukkan instruksi dalam format yang lebih mudah dibaca manusia, dan agar instruksi tersebut akhirnya diterjemahkan menjadi sesuatu yang dimengerti komputer. Bahasa termasuk dalam salah satu dari dua kubu: ditafsirkan atau dikompilasi . Bahasa yang diterjemahkan menerjemahkan kode tertulis ke dalam kode komputer ketika program berjalan, dan bahasa yang dikompilasi diterjemahkan sekaligus.
Linux sendiri ditulis dalam bahasa yang dikompilasi yang disebut C. Keuntungan utama C adalah bahasa itu sendiri memetakan secara dekat ke kode mesin yang dihasilkan sehingga programmer yang terampil dapat menulis kode yang kecil dan efisien. Ketika memori komputer diukur dalam Kilobyte, ini sangat penting. Bahkan dengan ukuran memori yang besar saat ini, C masih membantu untuk menulis kode yang harus berjalan cepat, seperti sistem operasi.
C telah diperpanjang selama bertahun-tahun. Ada C ++, yang menambahkan dukungan objek ke C (gaya pemrograman yang berbeda), dan Objective C yang mengambil arah lain dan banyak digunakan dalam produk Apple.
Bahasa Java mengambil putaran berbeda pada pendekatan yang dikompilasi. Alih-alih mengkompilasi ke kode mesin, Java pertama-tama membayangkan CPU hipotetis yang disebut Java Virtual Machine (JVM) dan mengkompilasi semua kode untuk itu. Setiap komputer host kemudian menjalankan perangkat lunak JVM untuk menerjemahkan instruksi JVM (disebut bytecode) menjadi instruksi asli.
Terjemahan ekstra dengan Java mungkin membuat Anda berpikir itu akan lambat. Namun, JVM cukup sederhana sehingga dapat diimplementasikan dengan cepat dan andal pada apa pun dari komputer yang kuat hingga perangkat berdaya rendah yang terhubung ke televisi. File Java yang dikompilasi juga dapat dijalankan di komputer manapun yang mengimplementasikan JVM!
Manfaat lain dari kompilasi ke target perantara adalah bahwa JVM dapat menyediakan layanan untuk aplikasi yang biasanya tidak akan tersedia pada CPU. Mengalokasikan memori ke suatu program adalah masalah yang kompleks, tapi itu sudah ada dalam JVM. Ini juga berarti bahwa pembuat JVM dapat memfokuskan perbaikan mereka pada JVM secara keseluruhan, sehingga setiap kemajuan yang mereka buat tersedia secara instan untuk aplikasi.
Bahasa yang ditafsirkan, di sisi lain, diterjemahkan ke kode mesin saat dijalankan. Daya komputer ekstra yang dihabiskan untuk melakukan hal ini seringkali dapat diperoleh kembali dengan peningkatan produktivitas yang diperoleh programmer dengan tidak harus berhenti bekerja untuk mengkompilasi. Bahasa yang ditafsirkan juga cenderung menawarkan lebih banyak fitur daripada bahasa yang dikompilasi, yang berarti bahwa kode seringkali lebih sedikit diperlukan. Penerjemah bahasa itu sendiri biasanya ditulis dalam bahasa lain seperti C, dan kadang-kadang bahkan Java! Ini berarti bahwa bahasa yang ditafsirkan sedang dijalankan pada JVM, yang diterjemahkan pada saat runtime ke dalam kode mesin yang sebenarnya.
Perl adalah bahasa yang ditafsirkan. Perl awalnya dikembangkan untuk melakukan manipulasi teks. Selama bertahun-tahun, ia mendapat dukungan dari administrator sistem dan masih terus ditingkatkan dan digunakan dalam segala hal mulai dari otomatisasi hingga membangun aplikasi web.
PHP adalah bahasa yang awalnya dibangun untuk membuat halaman web yang dinamis. File PHP dibaca oleh server web seperti Apache. Tag khusus dalam file menunjukkan bahwa bagian kode harus ditafsirkan sebagai instruksi. Server web menyatukan semua bagian file yang berbeda dan mengirimkannya ke browser web. Keunggulan utama PHP adalah mudah dipelajari dan tersedia di hampir semua sistem. Karena itu, banyak proyek populer dibangun di PHP. Contoh penting termasuk WordPress (blogging), cacti (untuk pemantauan), dan bahkan bagian dari Facebook.
Ruby adalah bahasa lain yang dipengaruhi oleh Perl dan Shell, bersama dengan banyak bahasa lainnya. Itu membuat tugas pemrograman yang kompleks relatif mudah, dan dengan dimasukkannya kerangka kerja Ruby on Rails, adalah pilihan populer untuk membangun aplikasi web yang kompleks. Ruby juga merupakan bahasa yang mendukung banyak alat otomatisasi terkemuka seperti Chef dan Puppet, yang membuat mengelola sejumlah besar sistem Linux menjadi lebih mudah.
Python adalah bahasa scripting lain yang umum digunakan. Sama seperti Ruby, ini membuat tugas-tugas kompleks lebih mudah dan memiliki kerangka kerja yang disebut Django yang membuat pembuatan aplikasi web sangat mudah. Python memiliki kemampuan pemrosesan statistik yang sangat baik dan merupakan favorit di dunia akademis.
Bahasa hanyalah alat yang memudahkan Anda memberi tahu komputer apa yang Anda inginkan. Pustaka menggabungkan tugas-tugas umum ke dalam paket berbeda yang dapat digunakan oleh pengembang. ImageMagick adalah salah satu perpustakaan yang memungkinkan pemrogram memanipulasi gambar dalam kode. ImageMagick juga dilengkapi dengan beberapa alat baris perintah yang memungkinkan Anda untuk memproses gambar dari shell dan memanfaatkan kemampuan skrip di sana.
OpenSSL adalah perpustakaan kriptografi yang digunakan dalam segala hal mulai dari server web hingga baris perintah. Ini memberikan antarmuka standar sehingga Anda dapat menambahkan kriptografi ke skrip Perl Anda, misalnya.
Pada tingkat yang jauh lebih rendah adalah perpustakaan C. Ini menyediakan serangkaian fungsi dasar untuk membaca dan menulis ke file dan tampilan, yang digunakan oleh aplikasi dan bahasa lain.
MEMAHAMI PERANGKAT LUNAK OPEN SOURCE DAN LISENSI
Ketika kita berbicara tentang membeli perangkat lunak ada tiga komponen berbeda:
- Kepemilikan - Siapa yang memiliki kekayaan intelektual di balik perangkat lunak?
- Transfer uang - Bagaimana cara uang berpindah tangan?
- Lisensi - Apa yang Anda dapatkan? Apa yang dapat Anda lakukan dengan perangkat lunak? Bisakah Anda menggunakannya hanya di satu komputer? Bisakah Anda memberikannya kepada orang lain?
Dalam kebanyakan kasus, kepemilikan perangkat lunak tetap pada orang atau perusahaan yang membuatnya. Pengguna hanya diberikan lisensi untuk menggunakan perangkat lunak. Ini adalah masalah hukum hak cipta. Transfer uang tergantung pada model bisnis pencipta. Lisensi itulah yang benar-benar membedakan perangkat lunak sumber terbuka dari perangkat lunak sumber tertutup .
Dua contoh yang kontras akan memulainya.
- Dengan Microsoft Windows, Microsoft Corporation memiliki kekayaan intelektual. Lisensi itu sendiri, Perjanjian Lisensi Pengguna Akhir (EULA) , adalah dokumen hukum khusus yang harus Anda klik, menunjukkan penerimaan Anda, untuk menginstal perangkat lunak. Microsoft menyimpan kode sumber dan hanya mendistribusikan salinan biner melalui saluran yang diotorisasi. Untuk sebagian besar produk konsumen, Anda diizinkan untuk menginstal perangkat lunak pada satu komputer dan tidak diperbolehkan membuat salinan disk selain untuk cadangan. Anda tidak diperbolehkan merekayasa balik perangkat lunak. Anda membayar untuk satu salinan perangkat lunak, yang memberi Anda pembaruan kecil tetapi bukan peningkatan besar-besaran.
- Linux dimiliki oleh Linus Torvalds. Dia telah menempatkan kode di bawah lisensi yang disebut GNU Public License versi 2 (GPLv2) . Lisensi ini, antara lain, mengatakan bahwa kode sumber harus dibuat tersedia bagi siapa saja yang meminta dan bahwa Anda diizinkan untuk melakukan perubahan apa pun yang Anda inginkan. Satu peringatan untuk ini adalah bahwa jika Anda membuat perubahan dan mendistribusikannya, Anda harus meletakkan perubahan Anda di bawah lisensi yang sama sehingga orang lain dapat memperoleh manfaat. GPLv2 juga mengatakan bahwa Anda tidak dibebani biaya untuk mendistribusikan kode sumber selain dari biaya aktual Anda untuk melakukannya (seperti menyalinnya ke media yang dapat dilepas).
Secara umum, ketika Anda membuat sesuatu, Anda juga mendapatkan hak untuk memutuskan bagaimana itu digunakan dan didistribusikan. Perangkat Lunak Bebas dan Sumber Terbuka (FOSS) mengacu pada perangkat lunak di mana hak ini telah dilepaskan dan Anda diizinkan untuk melihat kode sumber dan mendistribusikannya. Linus Torvalds telah melakukan itu dengan Linux - meskipun dia menciptakan Linux, dia tidak dapat memberi tahu Anda bahwa Anda tidak dapat menggunakannya di komputer Anda karena ia telah melepaskan hak itu melalui lisensi GPLv2.
Lisensi perangkat lunak adalah masalah politik dan seharusnya tidak mengherankan bahwa ada banyak pendapat yang berbeda. Organisasi telah membuat lisensi mereka sendiri yang mewujudkan pandangan khusus mereka sehingga lebih mudah untuk memilih lisensi yang ada daripada membuat sendiri. Misalnya, universitas seperti Massachusetts Institute of Technology (MIT) dan University of California telah mengeluarkan lisensi, seperti halnya proyek seperti Apache Foundation. Selain itu, kelompok-kelompok seperti Free Software Foundation telah membuat lisensi mereka sendiri untuk memajukan agenda mereka.
THE FREE SOFTWARE FONDATION AND THE OPEN SOURCE
Dua kelompok dapat dianggap sebagai kekuatan paling berpengaruh di dunia open source: Free Software Foundation (FSF) dan Open Source Initiative (OSI) .
Free Software Foundation didirikan pada tahun 1985 oleh Richard Stallman (RMS) . Tujuan FSF adalah untuk mempromosikan Perangkat Lunak Bebas . Perangkat Lunak Bebas tidak merujuk pada harga, tetapi pada kebebasan untuk berbagi, mempelajari, dan memodifikasi kode sumber yang mendasarinya. Pandangan FSF bahwa perangkat lunak berpemilik (perangkat lunak yang didistribusikan di bawah lisensi sumber tertutup) adalah buruk. FSF juga menganjurkan bahwa lisensi perangkat lunak harus menegakkan keterbukaan modifikasi. Ini adalah pandangan mereka bahwa jika Anda memodifikasi Perangkat Lunak Bebas Anda harus diminta untuk membagikan perubahan Anda. Filosofi khusus ini disebut copyleft .
FSF juga mengadvokasi menentang paten perangkat lunak dan bertindak sebagai pengawas untuk organisasi standar, berbicara ketika standar yang diusulkan mungkin melanggar prinsip-prinsip Perangkat Lunak Bebas dengan memasukkan item-item seperti Digital Rights Management (DRM) yang dapat membatasi apa yang dapat Anda lakukan dengan layanan.
FSF telah mengembangkan serangkaian lisensi mereka sendiri, seperti GPLv2 dan GPLv3, dan lisensi Lesser GPL versi 2 dan 3 (LGPLv2 & LGPLv3). Lisensi yang lebih rendah mirip dengan lisensi reguler kecuali mereka memiliki ketentuan untuk menautkan ke Perangkat Lunak yang Tidak Bebas. Misalnya, di bawah GPLv2 Anda tidak dapat mendistribusikan kembali perangkat lunak yang menggunakan pustaka sumber tertutup (seperti driver perangkat keras) tetapi varian yang lebih rendah memungkinkan ini.
Perubahan antara versi 2 dan 3 sebagian besar difokuskan pada penggunaan Perangkat Lunak Bebas pada perangkat perangkat keras tertutup yang telah diciptakan Tivoization . TiVo adalah perusahaan yang membangun perekam video digital televisi pada perangkat keras mereka sendiri dan menggunakan Linux sebagai basis untuk perangkat lunak mereka. Sementara TiVo merilis kode sumber ke versi Linux mereka seperti yang dipersyaratkan dalam GPLv2, perangkat keras tidak akan menjalankan binari yang dimodifikasi. Di mata FSF ini bertentangan dengan semangat GPLv2 sehingga mereka menambahkan klausa khusus untuk versi 3 lisensi. Linus Torvalds setuju dengan TiVo tentang masalah ini dan telah memilih untuk tetap dengan GPLv2.
Open Source Initiative didirikan pada tahun 1998 oleh Bruce Perens dan Eric Raymond (ESR) . Mereka percaya bahwa Perangkat Lunak Bebas dibebankan secara politis dan bahwa lisensi yang kurang ekstrim diperlukan, terutama di sekitar aspek copyleft dari lisensi FSF. OSI percaya bahwa sumber tidak hanya harus tersedia secara bebas, tetapi juga bahwa tidak ada batasan harus ditempatkan pada penggunaan perangkat lunak tidak peduli apa yang digunakan. Berbeda dengan FSF, OSI tidak memiliki lisensi sendiri. Sebaliknya, OSI memiliki seperangkat prinsip dan menambahkan lisensi lain ke daftar itu jika memenuhi prinsip-prinsip itu, yang disebut lisensi Open Source . Perangkat lunak yang sesuai dengan lisensi Open Source adalah Perangkat Lunak Open Source .
Beberapa lisensi Open Source adalah keluarga lisensi BSD, yang jauh lebih sederhana daripada GPL. Mereka hanya menyatakan bahwa Anda dapat mendistribusikan kembali sumber dan binari selama Anda mempertahankan pemberitahuan hak cipta dan tidak menyiratkan bahwa pencipta asli mendukung versi Anda. Dengan kata lain "lakukan apa yang Anda inginkan dengan perangkat lunak ini, jangan katakan Anda menulisnya." Lisensi MIT memiliki semangat yang sama, hanya dengan kata-kata yang berbeda.
Lisensi FSF, seperti GPLv2, juga merupakan lisensi Open Source. Namun, banyak lisensi Open Source seperti BSD dan MIT tidak mengandung ketentuan copyleft dan karenanya tidak dapat diterima oleh FSF. Lisensi ini disebut lisensi perangkat lunak bebas permisif karena mereka permisif dalam cara Anda dapat mendistribusikan kembali perangkat lunak. Anda dapat mengambil perangkat lunak berlisensi BSD dan memasukkannya ke dalam produk perangkat lunak tertutup selama Anda memberikan atribusi yang tepat.
LEBIH BANYAK KETENTUAN UNTUK HAL YANG SAMA
Daripada memikirkan poin-poin penting Open Source vs Free Software, komunitas telah mulai menyebut semuanya sebagai perangkat lunak Free and Open Source (FOSS). Kata bahasa Inggris "gratis" dapat berarti "gratis seperti dalam makan siang" (seperti tanpa biaya) atau "gratis seperti dalam ucapan" (seperti tanpa batasan). Ambiguitas ini telah menyebabkan dimasukkannya kata libre untuk merujuk pada definisi yang terakhir. Jadi, kita berakhir dengan Perangkat Lunak Bebas / Bebas / Sumber Terbuka (FLOSS).
Meskipun istilah-istilah ini sesuai, mereka menyembunyikan perbedaan antara dua aliran pemikiran. Paling tidak, ketika Anda menggunakan perangkat lunak FOSS, Anda tahu Anda tidak perlu membayar untuk itu dan Anda dapat mendistribusikannya kembali sesuai keinginan.
SKEMA PERIZINAN LAINNYA
Lisensi FOSS sebagian besar terkait dengan perangkat lunak. Orang-orang telah menempatkan karya seperti gambar dan rencana di bawah lisensi FOSS tetapi ini bukan maksudnya.
Ketika perangkat lunak telah ditempatkan di domain Publik , penulis telah melepaskan semua hak, termasuk hak cipta atas karya tersebut. Di beberapa negara, ini adalah default ketika pekerjaan dilakukan oleh agen pemerintah. Di beberapa negara, karya berhak cipta menjadi domain publik setelah penulis meninggal dan masa tunggu yang panjang telah berlalu.
Organisasi Creative Commons (CC) telah menciptakan Lisensi Creative Commons yang mencoba untuk mengatasi niat di balik lisensi FOSS untuk entitas non perangkat lunak. Lisensi CC juga dapat digunakan untuk membatasi penggunaan komersial jika itu adalah keinginan pemegang hak cipta. Lisensi CC adalah:
- Attribution (CC BY) - seperti halnya lisensi BSD, Anda dapat menggunakan konten CC BY untuk penggunaan apa pun tetapi harus memberi kredit pada pemegang hak cipta
- Attribution ShareAlike (CC BY-SA) - versi copyleft dari lisensi Attribution. Karya yang diturunkan harus dibagikan di bawah lisensi yang sama, seperti halnya dalam cita-cita Perangkat Lunak Bebas
- Atribusi No-Derivs (CC BY-ND) - Anda dapat mendistribusikan kembali konten dalam kondisi yang sama dengan CC-BY tetapi tidak dapat mengubahnya
- Attribution-NonCommercial (CC BY-NC) - sama seperti CC BY, tetapi Anda tidak boleh menggunakannya untuk tujuan komersial
- Attribution-NonCommercial-ShareAlike (CC-BY-NC-SA) - Dibangun di atas lisensi CC BY-NC tetapi mengharuskan perubahan Anda dibagikan di bawah lisensi yang sama.
- Attribution-NonCommercial-No-Derivs (CC-BY-NC-ND) - Anda membagikan konten yang akan digunakan untuk tujuan non komersial, tetapi orang tidak dapat mengubah konten.
Tanpa Hak Dilindungi Undang-undang (CC0) - Ini adalah versi publik dari domain Creative Commons.
Lisensi di atas semua dapat diringkas sebagai ShareAlike atau tidak ada batasan, dan apakah penggunaan komersial atau derivasi diizinkan.
MODEL BISNIS OPEN SOURCE
Jika Anda memberikan perangkat lunak secara gratis, bagaimana Anda dapat menghasilkan uang darinya?
Cara paling sederhana untuk menghasilkan uang adalah dengan menjual dukungan atau garansi di sekitar perangkat lunak. Anda dapat menghasilkan uang dengan menginstal perangkat lunak untuk orang, membantu orang ketika mereka memiliki masalah, atau memperbaiki bug untuk uang. Anda seorang konsultan yang efektif.
Anda juga dapat mengenakan biaya untuk layanan atau berlangganan yang meningkatkan perangkat lunak. Proyek perekam video digital Open Source MythTV adalah contoh yang sangat baik. Perangkat lunak ini gratis, tetapi Anda dapat membayar untuk menghubungkannya ke layanan daftar TV untuk mengetahui jam berapa acara televisi tertentu dihidupkan.
Anda dapat mengemas perangkat keras atau menambahkan perangkat lunak sumber tertutup ekstra untuk dijual bersama perangkat lunak gratis. Peralatan dan sistem tertanam yang menggunakan Linux dapat dikembangkan dan dijual. Banyak firewall konsumen dan perangkat hiburan mengikuti model ini.
Anda juga dapat mengembangkan perangkat lunak sumber terbuka sebagai bagian dari pekerjaan Anda. Jika Anda membuat alat untuk membuat hidup Anda lebih mudah di pekerjaan rutin Anda, Anda mungkin bisa meyakinkan majikan Anda untuk membiarkan Anda membuka sumbernya. Mungkin ini adalah situasi di mana Anda bekerja pada perangkat lunak saat mendapatkan bayaran tetapi lisensi sebagai sumber terbuka akan memungkinkan orang lain dengan masalah yang sama untuk dibantu dan bahkan berkontribusi.
Pada 1990-an, Gerald Combs bekerja di penyedia layanan Internet dan mulai menulis alat analisis jaringan sendiri karena alat serupa pada saat itu sangat mahal. Lebih dari 600 orang kini telah berkontribusi dalam proyek ini, yang disebut Wireshark. Sekarang sering dianggap lebih baik daripada penawaran komersial dan telah menyebabkan perusahaan yang dibentuk di sekitar Gerald untuk mendukung Wireshark dan untuk menjual produk dan dukungan yang membuatnya lebih bermanfaat. Perusahaan ini kemudian dibeli oleh vendor jaringan besar yang mendukung pengembangannya.
Perusahaan lain mendapatkan nilai yang sangat besar dari perangkat lunak open source sehingga mereka merasa layak untuk mempekerjakan orang untuk bekerja pada perangkat lunak secara penuh. Mesin pencari Google telah merekrut pencipta bahasa komputer Python, dan bahkan Linus Torvalds disewa oleh Linux Foundation untuk bekerja di Linux. Perusahaan telepon Amerika AT&T mendapatkan nilai seperti itu dari proyek Ruby dan Rails untuk properti Yellow Pages mereka sehingga mereka memiliki karyawan yang tidak melakukan apa-apa selain bekerja untuk proyek-proyek itu.
Salah satu cara terakhir bahwa orang menghasilkan uang secara tidak langsung melalui open source adalah bahwa itu adalah cara terbuka untuk menilai keterampilan seseorang. Ini adalah satu hal untuk mengatakan Anda melakukan tugas-tugas tertentu di pekerjaan Anda, tetapi memamerkan kreasi Anda dan membaginya dengan dunia memungkinkan calon pengusaha melihat kualitas pekerjaan Anda. Demikian pula, perusahaan telah menemukan bahwa sumber terbuka bagian yang tidak penting dari perangkat lunak internal mereka menarik minat orang berkaliber tinggi.
Pada bab ini kita mendapatkan sebuah ilmu bahwa kita lebih baik menggunakan open source karena mendapat dukungan dari pengembang,lebih aman,dan di jamin 100% halal.
Sekian yang dapat saya bagikan semoga bermanfaaf bagi kita semua.Mohon ma'af apabila masih ada kekurangan karena saya masih jauh dari kesempurnaan wa billahi taufiq walhidayah.
Wassalamu'alaikum wr.wb
0 Response to "COURSE NDG LINUX ESSENTIALS | Chapter 2"
Post a Comment