Meng-install Plan 9 File Server Meng-install Plan 9 file server dapat menjadi sebuah hal yang membingungkan untuk para pemula. Karenanya dokumen ini ditujukan untuk menuntun peng-install-an Plan 9 file server. Ketika meng-install sebuah jaringan (network) Plan 9, file server merupakan salah satu dari beberapa mesin yang di-set terlebih dahulu, segera setelah CPU / authentication server. Peng-install-an cukup mudah jika mengetahui langkah-langkah yang harus diikuti dan memahami apa yang terjadi. Informasi ini dirangkum dari banyak sumber (source), termasuk beberapa manual page, instruksi peng-install-an dari 2nd edition (online), makalah oleh Ken Thompson tentang Plan 9 File Server, berkas-berkas catatan dari
[email protected], dan membaca code di /sys/src/fs. Orang-orang yang penasaran terhadap file server termotivasi untuk membaca materi referensi yang tersedia. Bacalah makalah “The Plan 9 File Server” oleh Ken Thompson (tersedia pada Volume 2 di manual, atau melalui “page/sys/doc/fs.ps”) memberikan titik terang. Lebih jauh, dokumen “Installing the Plan 9 Distribution” dari edisi kedua dapat memberikan tambahan keterangan, dan dapat ditemukan di ftp://ftp.dbsystems.com/pub/plan9/install.html. Wiki menyediakan post-setup installation yang tangkas. Terakhir, berkas-berkas 9fans, tersedia di web yaitu di http://lists.cse.psu.edu/archives/9fans/ memiliki cukup banyak koleksi informasi, dan cukup berguna untuk membantu anda jika menemui kesulitan. Secara umum, langkahlangkah untuk meng-install file server adalah sebagai berikut : Membuat file plan9.ini yang mendeskripsikan hardware file server Membuat boot floppy dengan sebuah file server kernel Melakukan setting terhadap network parameters dan menginisialisasi filesystem dalam disk Melakukan setting terhadap authentication information pada nvram atau pada floppy Mengisi server dengan data dan informasi user (user information) Melakukan rebooting supaya mode “normal” muncul Untuk memulai, pilih sebuah mesin dalam jaringan (network) yang akan menjadi Plan 9 server. Mesin ini akan berfungsi sebagai kernel khusus, dan akan digunakan untuk serving file-file. File server ini tidak bisa, misalnya, ganda (double) seperti CPU atau authentication sever. Dalam penggunaan yang normal di Bell Labs, magnetic disk pada file server hanya digunakan sebagai cache untuk menjadi isi (contents) dari sebuah WORM device. WORM jukeboxes yang lebih kecil tidak lagi mahal (lihat www.ebay.com untuk SCSI MMC jukeboxes seperti HP 80EX), dan harganya cukup terjangkau. Kita juga dapat menggunakan seluruh atau sebagian dari magnetic disk untuk dijadikan sebuah “pseudo worm” yang masih dapat menyediakan kemampuan untuk menggunakan kemampuan builtin backup dari file server (dideskripsikan pada
makalah tentang file server oleh Ken Thompson). Dokumen ini hanya mencakup konfigurasi saja. Perlu anda perhatikan bahwa file server juga dapat men-support perangkat devices yang berbeda dari kernel yang normal. Secara spesifik, hanya SCSI disks yang dapat digunakan untuk file system, walaupun Eric Dorman telah mem-posting code di
[email protected] yang memungkinkan file server untuk menggunakan IDE disks. Drivers yang tersedia untuk sebuah file server lebih sedikit. Hanya 23 file .c pada /sys/src/fs/pc direktori source code yang disediakan sebagai peringatan (warning). Jika anda berencana untuk menggunakan IDE disks, anda dapat memperoleh tambahan code file server edisi ke-4 (4th edition file server code) untuk menggunakan IDE disks (40G dapat bekerja dengan baik) termasuk sebuah mirror device. Code tersebut merupakan gabungan dari code milik edorman, geoff, dan nemo yang telah mengalami perubahan. Code tersebut tersedia jika anda menerima lisensi Plan 9 (accept the Plan9 license). Cukup sedikit SCSI controllers yang dapat didukung. Akhirnya, pembatasan untuk VGA contollers pada kernel yang normal lebih longgar untuk file server. Hal ini disebabkan karena file server tidak berusaha untuk mengambil keuntungan dari display untuk apapun selain console yang sangat mendasar (a very basic console). Setelah mesin tersebut dipilih, buatlah file plan9.ini yang mendeskripsikannya. Lebih jauh lagi, perhatikan satu demi satu semua entry, juga semua yang di sisi lain ditemukan secara otomatis (terutama SCSI controller). Anda mungkin juga perlu secara eksplisit men-set pilihan (option) nvr= di plan9.ini, karena syntax untuk spesifikasi lokasi NVRAM berbeda antara file server dan normal kernels. Meski demikian, tidak dibutuhkan suatu “monitor” entry; dan jika ada satu persen, maka akan diabaikan. Pada umumnya entries mungkin seperti yang di bawah ini : ether0=type=i82557 scsi0=type=ncr53c8xx nvr=fd!0!plan9.nvr bootfile=fd0!dos!9pcfs (Perhatikan bahwa bootfile entry dapat menggunakan style syntax terbaru <device>!<partition name>!
. Sedangkan style syntax sebelumnya adalah <device>!<partition number>!. Hal ini dikarenakan bootfile entry diinterpretasikan oleh 9load, sedangkan nvr digunakan oleh file server kernel). Jika anda telah menyelesaikan dan mencermati file plan9.ini, langkah selanjutnya adalah membangun sebuah file server kernel dan meletakkannya, bersama-sama dengan file plan9.ini, ke dalam sebuah floppy (yang dapat di-boot).
Sumber hirarki XXX telah berubah; instruksi di bawah mungkin tidak dapat berfungsi. /*extern int etherga620reset(Ether*);*/ /*{ “ga620”,etherga620reset, }, */ Muncul pesan kesalahan : key_setup: etherga620reset: not defined Untuk membuat file server kernel untuk sebuah PC, mulai dengan CPU (tunggal / standalone) dan authentication server, cd ke /sys/src/fs/plan9pc dan jalankan mk. Hasilnya yaitu sebuah kernel baru yang dibuat dan ditempatkan dalam sebuah file yang dinamakan “9pcfs.” Ada direktori lain, /sys/src/fs/emelie, yang serupa namun menggunakan 16 KB disk blocks, sedangkan plan9pc menggunakan 4 KB blocks. Jika anda meminta tambahan IDE disks dari link di atas, plan9pc anda akan menggunakan 16 KB blocks. Lihatlah /sys/src/fs/README dan makalah Thompson tentang file server untuk informasi lebih lanjut. Singkatnya, 16 KB blocks akan lebih cepat, namun lebih boros space daripada 4 KB blocks. Sekarang masukkanlah sebuah floppy yang kosong dan telah diformat ke dalam CPU / authentication server, dan jalankan “pc/bootfloppy/dev/fd0disk/path/to/fs/plan9.ini”, dengan asumsi bahwa anda sedang menggunakan floppy disk pertama pada sistem dan bahwa anda telah melakukan “bind –a ’#f’ /dev” pada point di atas. Jika sudah selesai, mount floppy di mana saja, dan copy 9pcfs ke dalamnya. Sebagai contoh dari keseluruhan proses, dimulai dari console CPU (tunggal / standalone) / auth server: cd /usr/cross/sys ed plan9.ini ... cd /sys/src/fs/plan9pc mk (masukkan sebuah floppy disk ke dalam drive) bind –a ‘#f’ /dev pc/bootfloppy /dev/fd0disk /usr/cross/sys/plan9.ini a: cp 9pcfs /n/a: unmount /n/a: Hasilnya adalah sebuah floppy disk yang dapat di-boot dengan sebuah gambar Plan 9 file server kernel di dalamnya, set sebagai default kernel untuk me-load pada saat diboot. Sekarang, keluarkan floppy dan masukkan ke dalam floppy drive pada mesin file server, lalu boot. Setelah beberapa menit dan muncul beberapa pesan kesalahan,
sistem seharusnya menyadari bahwa NVRAM checksum tidak benar (hal ini baik karena pc/bootfloppy menginsialisasi file NVRAM pada floppy dengan sebuah block bernilai nol / zeros ) dan kemudian akan menyajikan “config: ” prompt. Sekarang anda harus membuat konfigurasi basic system parameters, termasuk jaringan (networking) dan filesystem. Hal ini bisa dilihat di manual page fsconfig(8). Secara mendasar, anda mendefinisikan nama service berdasarkan bagaimana fileserver mengidentifikasi dirinya dengan menggunakan perintah “service”, konfigurasi IP dengan menggunakan perintah-perintah “ip”, ”ipmask”, dan “ipgw”, alamat IP dari authentication server melalui perintah “ipauth”, tempat untuk menyimpan informasi konfigurasi melalui perintah “config”, filesystem parameters melalui perintah “filsys”, tempat pembuangan melalui perintah “dump”, instruksi untuk menginisialisasi filesystems melalui perintah “ream”. Anda mungkin ingin menyimpan daftar perintah konfigurasi di suatu tempat jika suatu saat anda membutuhkannya lagi. Perhatikan bahwa anda harus memanggil sedikitnya sebuah filesystem “main”. Perhatikan juga bahwa di dalam config mode, perintah-perintah yang anda ketikkan sebenarnya tidak melakukan apa-apa kecuali mencatat aksi yang akan dipilih jika anda meninggalkan config mode tersebut. Untuk keluar dan melakukan apa yang telah anda spesifikasikan, ketik “end”. Jika anda melakukan kesalahan, dengan aman anda dapat me-reboot mesin dan memulai lagi langkah-langkah sampai sebelum diketikkan “end”. Akhirnya, perintah “config” mengambil sebuah block dari sebuah device dan menyimpan informasi mengenai konfigurasi ke dalamnya. Walaupun demikian, jika block terdapat di bagian awal device tersebut (dan ingat, dalam hal ini sebuah device dapat merupakan partisi), maka akan lebih aman jika filesystem tidak menggunakan block pertama. Sekarang file server akan menginisialisasi disk-disk supaya dapat berinteraksi dengan disk-disk tersebut. Jika sistem tersebut mati, mungkin karena spesifikasi hardware yang tidak sesuai, atau mungkin juga karena kesalahan dalam plan9.ini atau selama konfigurasi. Lebih khusus lagi, sistem akan panik jika tidak dapat menemukan diskdisk tersebut. Pastikan konfigurasi anda benar, lalu coba lagi. Jika anda memiliki magnetic disk yang tidak terpakai, anda dapat saja membuat “other” filsys pada file server, untuk menyimpan tanpa menggunakan space pada WORM. Kemudian, set parameter-parameter yang akan digunakan sistem untuk authetication dengan menulis perintah “passwd”. Untuk ini dibutuhkan sebuah password, authentication ID, dan authentication domain, sama seperti pada waktu anda men-set CPU tunggal (standalone) / authentication server. Dengan menjalankan perintah tersebut, berarti juga me-write informasi konfigurasi ke NVRAM (yang biasanya terdapat pada file yang ada di floppy). Pada point ini, fileserver yang baru akan menjadi mode administratif khusus yang memungkinkan klien-klien yang terhubung untuk melewati pemeriksaan permission
yang normal, dan juga akan memungkinkan klien-klien untuk memodifikasi kepemilikan dari files yang ada (yang flat out-nya tidak dimungkinkan ketika sistem berjalan dalam mode normal). Sebelum users dapat terhubung, sistem akan mengauthenticate mereka melalui authentication server, dan harus mengetahui users apa yang ada untuk melakukan authentication. Sistem akan meng-authenticate users, tapi sistem tidak memiliki sebuah /adm/users untuk melakukannya. Untungnya kita dapat mengetik perintah “users default” untuk membuat sebuah basic set dari users yang cukup untuk meng-install sistem ke dalam mesin yang baru. Sekarang ketik : users default Sekarang kembali ke CPU tunggal (standalone CPU) / auth server. Mount file server yang baru, lalu load distribusinya ke local disk anda, dan akan masuk ke direktori /dist. Ada yang menggunakan wrap/inst dengan -ovr (set ownership, verbose, root to install to as next argument) untuk me-load distribusinya ke dalam file server yang baru. Perhatikan jika CPU / authentication server anda tidak memiliki default (misalnya : “tom”) untuk users yang tidak memiliki key, maka anda perlu untuk membuat user tersebut melalui perintah “newuser” sebelum me-load distribusi : newuser tom (Walaupun jika file server belum dapat me-write ke /adm/users, newuser terkesan seperti membuat sebuah user baru dalam tabel internalnya.) Jika distribusi dan software-software tambahan yang anda inginkan telah ter-install, anda perlu meng-customize beberapa files pada file server sebelum anda me-reboot.) Secara khusus, rc/bin/cpurc, rc/bin/termrc, dan lib/ndb/local merupakan pilihan yang baik untuk customization : cd /n/lance/rc/bin ed termrc ... ed cpurc ... cd /n/lance/lib/ndb ed local ... (edit files lain yang anda rasa perlu untuk di-edit) unmount /n/lance Jika sistem telah ter-install dan file-file administratif telah di-customize, tambahkan users baru melalui perintah “newuser” pada file server console. Perhatikan bahwa ketika anda membuat user, anda juga harus membuat mailbox-nya dengan menggunakan perintah “create”.
Sebagai contoh dalam membuat user baru : newuser cross newuser sys +cross create /mail/box/cross cross upas 775 d create /mail/box/cross/mbox cross upas 662 al Perintah pertama menciptakan seorang user disebut cross, dan menambahkannya ke /adm/users. Lalu, ia akan menambahkan cross ke grup sys. Akhirnya, ia membuat mailbox (kotak surat) untuk cross (lihat juga pilihan –c dari mail(1) ). Lihat fs(8) untuk informasi yang dibutuhkan. Sekarang anda telah melakukan hal-hal dasar. Ingin melanjutkan bermain dengan file server ketika berada di dalam administrative mode dimana anda dapat melewati akses masuk, atau me-reboot-nya dengan segera melalui perintah “halt” untuk memungkinkan akses pengecekan normal: halt Sistem sebaiknya mem-boot semua floppy dan masuk ke bentuk normal, dimana permission dengan bypassing disallowed. Selamat, file server anda telah ter-set up dengan sempurna! Anda perlu mengizinkan kembali pengecekan bypassing of access untuk alasan apapun jugapada titik yang sama di waktu mendatang, anda dapat melakukannya dengan cara memasukkan ulang mode config ketika mesin sedang mem-boot dan mengetik perintah “allow” diikuti “end”. Sistem akan mem-prompt anda dengan ``type a key within the next 5 seconds to enter configuration mode'' (ketik sebuah kunci pada , hal ini bagaimana anda memasukkan ulang mode config. Sekarang anda telah memiliki sebuah file server. Jika anda ingin membuat CPU / authentication server anda tanpa disk (diskless), anda harus membuatnya mem-boot dari file server, anda dapat melakukannya dengan menggunakan sebuah boot floppy yang telah berisi plan9.ini dan sebuah kernel untuk CPU server. (Anda juga dapat menggunakan hard disk anda). Anda dapat menggunakan bootargs untuk membuat konfigurasi gateway, ip address, dan ip mask; fs ip adrss file server anda, dan kemudian authenticate ip adress dari authentication server anda.