Beranda » bagaimana » Cara Menginstal Perangkat Lunak Tambahan pada Router Rumah Anda (DD-WRT)

    Cara Menginstal Perangkat Lunak Tambahan pada Router Rumah Anda (DD-WRT)

    Pernahkah Anda ingin memiliki fungsi tambahan seperti Email, Bit-torrent atau bahkan MySQL langsung di router Anda? Mungkin sekarang Anda bisa. How-To Geek menyelam ke cara menginstal perangkat lunak Opkg pada DD-WRT.

    Gambar oleh Jean Spector dan Aviad Raviv

    Jika Anda belum melakukannya, pastikan dan periksa artikel sebelumnya dalam seri ini:

    • Ubah Router Rumah Anda Menjadi Router Super-Bertenaga dengan DD-WRT
    • Cara Menghapus Iklan dengan Pixelserv di DD-WRT

    Dengan asumsi Anda terbiasa dengan topik-topik itu, teruslah membaca. Ingatlah bahwa panduan ini sedikit lebih teknis, dan pemula harus berhati-hati saat memodifikasi router mereka.

    Kesengsaraan

    Saya baru saja membeli Buffalo WZR-HP-AG300H baru yang hadir dengan DD-WRT versi baru. Karena router ini memiliki port USB, saya segera menghubungkan HD dan mencoba menggunakan panduan wiki "Optware, The Right Way". Sayangnya saya dengan cepat menemukan bahwa router yang saya dapatkan, berbasis Atheros dan skrip dari halaman wiki itu, tidak mendukungnya. Jadi saya sudah mulai menggali (seperti yang selalu saya lakukan) dan menemukan beberapa panduan (1, 2, 3 dan 4) yang bertujuan untuk menjelaskan cara membuat Opkg bekerja secara manual. Sementara kontribusi mereka (di antara sumber-sumber lain di web) untuk panduan ini sangat berharga, beberapa instruksi (IMHO) tidak cukup mudah. Misalnya, memberi Anda "lib" file fish, tetapi tidak mengajari Anda cara memancing dari sumbernya. Juga harus menggunakan Linux yang diformat HD atau setidaknya satu partisi (yang sebenarnya bahkan tidak bekerja pada firmware yang saya uji dengan). Itulah sebabnya, saya merasa perlu membuat prosedur ringkas di bawah ini, mudah diikuti dan direproduksi untuk membuat manajer paket OpenWRT Opkg bekerja pada router tersebut.

    Pembaruan: Kemampuan pemasangan partisi telah diperkenalkan kembali ke versi bermerek ulang pada build alpha 17798.

    Apa itu Opkg?

    Opkg adalah manajer paket seperti apt / aptitude dan yum. Ini bertindak sebagai pengganti manajer paket Ipkg, dan dapat digunakan untuk menginstal perangkat lunak seperti: daemon Transmisi BitTorrent, pengirim email ssmtp dan Knockd a daemon yang menjalankan skrip setelah urutan pemicu port tertentu, untuk beberapa nama. Dari situs OpenWRT:

    Utilitas opkg (garpu ipkg) adalah manajer paket ringan yang digunakan untuk mengunduh dan menginstal paket OpenWrt dari repositori paket lokal atau yang berlokasi di Internet. Opkg mencoba menyelesaikan dependensi dengan paket di repositori - jika gagal, ini akan melaporkan kesalahan, dan membatalkan instalasi paket itu.

    Jadi menggunakan Opkg kita dapat menginstal hal-hal seperti yang kita lakukan dengan Ipkg pada panduan "Lepaskan Lebih Banyak Daya dari Router Rumah Anda". Perbedaan utama, adalah:

    1. Untuk memberikan contoh SSMTP dan Knockd, Anda benar-benar harus mencari tahu dependensi secara manual. Prosedur untuk melakukan ini secara manual merepotkan dan tidak terlalu lurus ke depan. Opkg melakukan ini secara otomatis.
    2. Kali ini kita akan menjadi menambahkan perangkat lunak di atas firmware yang ada, alih-alih menggantinya. Sementara mengganti itu adalah latihan geek yang sangat baik, itu tanpa keraguan: berbahaya, rentan terhadap masalah, ireversibel dan terburuk dari semua router khusus. Tidak perlu dikatakan bahwa ini cara yang lebih sederhana dan lebih aman.

    Prasyarat

    Untuk menyelesaikan panduan ini perhatikan hal berikut:

    1. Sebagaimana dinyatakan di atas, panduan ini dibuat dan diuji pada Buffalo WZR-HP-AG300H dengan firmware firmware “Pro” versi Buffalo 17135. Panduan ini harus bekerja pada router berbasis Atheros (ar71xx) apa pun dengan versi DD-WRT dari revisi yang sama atau di atas , tetapi jarak tempuh Anda mungkin sangat.
    2. Anda harus mengaktifkan SSH pada router, serta menginstal dan menggunakan WinSCP untuk terhubung dengannya. Ini dijelaskan dalam panduan "Cara Menghapus Iklan dengan Pixelserv pada DD-WRT". Bahkan, akan diasumsikan bahwa Anda dapat melakukan semua yang dijelaskan dalam panduan itu.
    3. Anda harus dapat terhubung ke router menggunakan terminal (disarankan SSH). Beberapa petunjuk tentang cara melakukan ini, ada pada wiki DD-WRT.
    4. Ruang untuk JFFS dan sekitar 4MB ruang pos diformat untuk pengaturan dasar. Ruang JFFS bukan hanya prasyarat, ini adalah show stopper. Ini karena, Jika router Anda tidak memiliki setidaknya 4MB ruang post diformat yang disebutkan di atas, Anda tidak akan mendapatkan manfaat nyata dari panduan ini, dan akan lebih baik menggunakan "Lepaskan Lebih Banyak Tenaga dari Router Rumah Anda" panduan untuk menginstal paket Ipkg langsung ke firmware atau menginstal paket Ipkg secara manual. Ikuti petunjuk pada "Cara Menghapus Iklan dengan Pixelserv pada DD-WRT" panduan untuk mengaktifkan JFFS, dan lihat berapa banyak ruang kosong yang sebenarnya Anda miliki setelah itu diformat.

    catatan: Dimungkinkan untuk melakukan ini dengan hanya 2MB ruang untuk setup, tetapi kemudian kita akan kehilangan hasil dari "/ etc" menjadi read-writable dan harus memohon Opkg, sambil menentukan file konfigurasi secara manual setiap kali ... yang seperti sooo lumpuh ...  

    Mari kita mulai retak

    Pada titik ini Anda harus mengaktifkan JFFS dan dapat SSH / WinSCP ke router.

    1. Buka sesi terminal ke router.
    2. Buat direktori sementara yang akan kami tangani:

      mkdir / tmp / 1
      cd / tmp / 1

    Gunakan Ipkg untuk menginstal Opkg
    Sementara kami akan mengganti Ipkg sebagai manajer paket, kami akan menggunakannya untuk menginstal secara manual paket instalasi Opkg.

    1. Untuk melakukan ini, unduh paket instalasi Opkg untuk arsitektur ar71xx dari trunk proyek OpenWRT:

      wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk

      Catatan 1: Pada saat penulisan ini, 618 adalah versi terbaru, ini dapat berubah di masa mendatang, jadi sesuaikanlah sesuai itu.
      Catatan 2: Mungkin saja bahwa satu-satunya perbedaan dalam membuat panduan ini bekerja untuk arsitektur lain adalah untuk mendapatkan installer Opkg dari arsitektur yang berlaku untuk router Anda ... namun ini belum teruji oleh Anda benar-benar.

    2. Aktifkan Ipkg untuk menginstal Opkg secara manual menggunakan:

      ipkg instal opkg_618-2_ar71xx.ipk

      catatan: Anda bisa, jika mau juga, menginstal setiap paket di repositori secara manual dengan cara ini. Namun ini berarti bahwa Anda harus menyelesaikan dependensi sendiri ... dan apa yang akan menyenangkan dalam hal itu?

    Memperoleh file perpustakaan dinamis ("lib" s)
    File “lib” yang diperlukan untuk membuat Opkg berfungsi, adalah bagian dari distribusi OpenWRT. Untuk mendapatkannya, kita harus mengekstraknya dari "Root FileSystem" dari distribusi tersebut.

    1. Untuk melakukan ini, unduh dasar "Root FileSystem" terbaru untuk distrebution openWRT yang berisi "lib" yang diperlukan dari trunk proyek OpenWRT:

      wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz

    2. Ekstrak menggunakan:

      tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz

    3. Salin file "libs" dari "rootfs" yang telah kami ekstrak di atas ke direktori "libs" di JFFS kami, sambil mempertahankan atribut dan tautan simbolisnya:

      cp -Pp / tmp / 1 / lib / * / jffs / usr / lib /

      catatan: Anda akan mendapatkan pesan yang mengatakan bahwa sub-direktori dihilangkan. Karena kita tidak memerlukan apa pun selain file "lib", ini tidak masalah dan Anda dapat dengan aman mengabaikan pesan-pesan ini.

    Memperbaiki LD_LIBRARY "PATH"
    Kita perlu memberi tahu router, di mana mencari pustaka bersama (libs) yang baru saja kita "instal" dan perlu melakukan ini sebelum yang datang dengan firmware.

    1. Untuk melakukan ini, setel variabel lingkungan LD_LIBRARY secara manual (untuk saat ini), untuk menjadikannya lokasi tempat kami menyalin file lib baru akan menjadi yang pertama di "PATH":

      ekspor LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH

    “/ Etc” yang dapat ditulis
    Kita akan menyalin "/ etc" ke JFFS dan kemudian membuat titik mount "/ etc" biasa, arahkan ke sana. Dengan melakukan hal itu, keduanya akan membuka dunia kemungkinan, karena "/ etc" akan menjadi read-writeable (yang saya secara pribadi telah menunggu untuk memberi atau memakan waktu 7 tahun sekarang) dan memungkinkan paket yang mengharapkan perilaku ini, berfungsi dengan benar.

    1. Buat direktori yang berisi "/ etc":

      mkdir -p / jffs / geek / etc

    2. Salin secara keseluruhan "/ etc" sambil mempertahankan semua subdirektori, atribut file, dan tautan simbolik.

      cp -a / etc / * / jffs / geek / etc /

    3. Secara manual (untuk saat ini) “bind mount” direktori “/ etc” ke direktori JFFS:

      mount -o bind / jffs / geek / etc / / etc /

    Setel direktori Optware ("/ opt")
    Opkg dari OpenWRT, diharapkan akan digunakan ketika firmware router dibangun. Seperti pada saat itu, FileSystem belum ada di router, dan dengan demikian masih dapat berubah, tidak ada masalah menginstal ke lokasi apa pun di FileSystem. Itulah sebabnya file konfigurasi Opkg menunjukkan paket untuk diinstal ke "root" (/) dari FileSystem. Namun, kami menggunakan Opkg setelah firmware dibuat dan diinstal pada router, dan karena kami tidak dapat mengubah root dari filesystem menjadi read-writeable, kami akan mengarahkan semua instalasi untuk diinstal di bawah "/ opt". Namun Saat ini "/ opt" juga menunjuk ke lokasi baca-saja pada firmware router. Untuk mengatasinya, kita akan mengarahkan "/ opt" ke JFFS, yang bisa dibaca-tulis.

    1. Untuk melakukan ini, Buat direktori yang akan berisi paket Optware:

      mkdir -p / jffs / opt

    2. Secara manual (untuk saat ini) “bind mount” direktori “/ opt” ke direktori JFFS:

      mount -o bind / jffs / opt / / opt /

      Catatan: Meskipun berada di luar cakupan panduan ini, pengguna yang lebih mahir mungkin ingin mengubah titik pemasangan ini, untuk menunjuk ke HD.

    Menyesuaikan file konfigurasi Opkg
    Kami ingin file konfigurasi Opkg berada di tempat Opkg mencarinya secara default (yaitu "/ etc") dan disesuaikan untuk menginstal ke "/ opt".

    1. Untuk melakukan ini, pindahkan file konfigurasi opkg yang diinstal oleh paket Opkg ke lokasi “/ etc” yang dapat dibaca:

      mv /jffs/etc/opkg.conf / etc /

    2. Ubah tujuan untuk instalasi Optware menjadi “/ opt” alih-alih “root” (/).
      Untuk melakukan ini, dengan editor "vi" atau WinSCP navigasikan ke "/ etc /" dan buat konten file "opkg.conf":

      vi /etc/opkg.conf

      Jadikan seperti:

      src / gz snapshots http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
      dest root / opt
      dest ram / tmp
      list_dir ext / var / opkg-list
      option overlay_root / overlay

      catatan: Anda dapat mengubah direktif “list_dir” untuk menunjuk ke lokasi yang tidak ada dalam RAM, tetapi pada JFFS. Meskipun ini akan membebaskan Anda dari memperbarui daftar, sebelum Anda dapat menginstal perangkat lunak tambahan (jika router Anda reboot dari yang terakhir kali), Anda akan kehilangan sekitar 1,5MB ruang JFFS yang langka dan Anda akan mengalami erosi..

    Halo sayang
    Anda harus dapat melihat bahwa Opkg bekerja dengan mengeluarkan perintah pembaruan dan daftar.

    1. Jika semuanya berjalan dengan baik, Anda seharusnya melihat bahwa daftar Opkg telah diperbarui tanpa kesalahan dan Anda siap untuk mengimplementasikan skrip pada langkah berikutnya:

      pembaruan opkg; daftar opkg

    2. Luangkan waktu untuk mulai menjelajahi paket yang tersedia di repositori ... .

    Skrip StartUp
    Kita sekarang harus membuatnya sehingga semua pemasangan dan lintasan yang diperlukan akan terjadi secara otomatis ketika router melakukan booting. Untuk itu, kami buat untuk Anda, skrip inisialisasi geek-init ini.

    1. Unduh, lalu ekstrak dan letakkan di bawah "/ jffs / geek / etc /". (Pertimbangkan untuk melakukan ini dengan WinSCP).
    2. Buat skrip dapat dieksekusi dengan membuka propertinya dengan WinSCP atau mengeksekusi:

      chmod + x /jffs/geek/etc/geek-init.sh

    3. Buat skrip dijalankan pada startup router, menggunakan WebGUI. Di bawah Administrasi -> Perintah, di kotak teks, masukkan:

      /jffs/geek/etc/geek-init.sh web-gui

      Dan Klik "Simpan Startup".

    Menendang ban
    Jika semuanya berjalan dengan baik, Anda sekarang harus dapat me-reboot router dan masih menggunakan manajer paket Opkg. Yaitu untuk memperbarui, mendaftar dan menginstal aplikasi.
    Mari kita uji apakah semuanya berfungsi dengan menginstal perintah "netstat", yang karena alasan tertentu telah dihilangkan dari build DD-WRT belakangan ini. Sebelum kita melakukan ini, jalankan perintah netstat di terminal dan Anda akan melihat bahwa Anda diparut oleh kesalahan dari shell, mengatakan "-sh: netstat: tidak ditemukan".

    1. Langkah pertama Anda akan selalu, untuk memperbarui daftar Opkg, untuk memiliki daftar paket terbaru dari repositori:

      pembaruan opkg

    2. Jika Anda tidak tahu paket mana yang berisi perintah "netstat", Anda bisa memfilter hasilnya menggunakan.

      daftar opkg | grep netstat

    3. Dan sekarang instal "netstat" menggunakan:

      opkg instal net-tools-netstat

      Dan sekarang, ketika Anda menjalankan perintah netstat lagi itu berfungsi ... ha rapi? :)

    Sampai artikel mendatang di mana kami akan menginstal dan mengkonfigurasi paket perangkat lunak menggunakan metode ini, semoga Anda memiliki banyak kesenangan geek menjelajahi sejumlah besar perangkat lunak yang sekarang tepat di ujung jari Anda.


    Jika mesin seperti itu adalah ketidakmungkinan virtual, itu harus secara logis menjadi ketidakmungkinan yang terbatas. Jadi yang harus saya lakukan untuk membuatnya adalah untuk mencari tahu seberapa tidak mungkin itu, memasukkan angka itu ke dalam generator ketidakmungkinan yang terbatas, memberikan secangkir teh panas yang benar-benar panas dan menyalakannya ... ... ... Satu hal yang mereka benar-benar tidak suka, adalah "Smart-Ass".