If-Koubou

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

Cara Menginstal Perangkat Lunak Tambahan di Router Rumah Anda (DD-WRT) (Bagaimana caranya)

Pernahkah Anda ingin memiliki fungsi tambahan seperti Email, Bit-torrent, atau bahkan MySQL langsung di router Anda? Yah mungkin sekarang kamu bisa. How-To Geek menyelam ke dalam 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 rangkaian:

  • Ubah Router Home Anda Menjadi Router Super-Powered dengan DD-WRT
  • Cara Menghapus Iklan dengan Pixelserv pada DD-WRT

Dengan asumsi Anda sudah familiar dengan topik tersebut, teruslah membaca. Perlu diingat bahwa panduan ini sedikit lebih teknis, dan pemula harus berhati-hati ketika memodifikasi router mereka.

Kesengsaraan

Saya baru saja membeli Buffalo WZR-HP-AG300H baru yang dilengkapi dengan versi ulang DD-WRT. Karena kenyataan bahwa 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, adalah berbasis Atheros dan skrip dari halaman wiki itu, tidak mendukungnya. Jadi saya mulai menggali (seperti yang selalu saya lakukan) dan menemukan beberapa panduan (1, 2, 3 dan 4) yang bertujuan untuk menjelaskan cara mendapatkan Opkg bekerja secara manual. Meskipun kontribusi mereka (di antara sumber-sumber lain di web) ke panduan ini tidak ternilai, beberapa petunjuknya (IMHO) tidak cukup lurus ke depan. Misalnya, memberi Anda file "lib" ikan, tetapi tidak mengajari Anda cara memancingnya dari sumber. Juga harus menggunakan Linux berformat HD atau setidaknya satu partisi (yang sebenarnya tidak berfungsi pada firmware yang telah saya uji). Itulah sebabnya, saya merasa perlu membuat prosedur ringkas, mudah diikuti, dan direproduksi di bawah ini untuk mendapatkan pengelola paket Opkg OpenWRT untuk bekerja pada router semacam itu.

Pembaruan: Kemampuan pemasangan partisi telah diperkenalkan kembali ke versi re-branded pada build alpha 17798.

Apa itu Opkg?

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

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

Jadi dengan menggunakan Opkg kita dapat menginstal hal-hal seperti yang kita lakukan dengan Ipkg pada panduan "Unleash Even More Power from Your Home Router". 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 menambahkan perangkat lunak di atas firmware yang ada di tempatnya, lalu menggantikannya. Sementara mengganti itu adalah latihan geek yang sangat baik, itu tanpa diragukan lagi: berbahaya, rentan terhadap masalah, ireversibel dan terburuk dari semua router tertentu. Tak perlu dikatakan bahwa ini adalah cara yang lebih sederhana dan lebih aman.

Prasyarat

Untuk melengkapi panduan ini, perhatikan hal-hal berikut:

  1. Sebagaimana dinyatakan di atas, panduan ini dibuat dan diuji pada Buffalo WZR-HP-AG300H dengan versi firmware “Pro” Buffalo 17135. Ia harus bekerja pada semua router berbasis Atheros (ar71xx) dengan versi DD-WRT apa pun dari revisi yang sama atau di atasnya. , tetapi jarak tempuh Anda mungkin sangat.
  2. Anda harus mengaktifkan SSH pada router, serta menginstal dan menggunakan WinSCP untuk menyambungkannya. Ini dijelaskan dalam panduan “Cara Menghapus Iklan dengan Pixelserv pada DD-WRT”. Bahkan, akan diasumsikan bahwa Anda mampu 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 di wiki DD-WRT.
  4. Ruang untuk JFFS dan sekitar 4MB ruang yang diformat untuk pengaturan dasar. Ruang JFFS bukan hanya prasyarat, ini adalah show stopper. Hal ini karena, Jika router Anda tidak memiliki setidaknya 4MB ruang posting yang diformat di atas, Anda tidak akan mendapatkan manfaat nyata dari panduan ini, dan akan lebih baik menggunakan "Unleash Even More Power from Your Home Router" panduan untuk menginstal paket Ipkg langsung ke dalam firmware atau menginstal paket Ipkg secara manual. Ikuti petunjuk pada panduan “Cara Menghapus Iklan dengan Pixelserv pada DD-WRT” untuk mengaktifkan JFFS, dan melihat seberapa banyak ruang kosong yang Anda miliki setelah itu diformat.

catatan: Adalah mungkin untuk melakukan ini dengan hanya 2MB ruang untuk setup, tetapi kemudian kita akan kehilangan hasil dari "/ etc" menjadi read-writable dan harus meminta Opkg, ketika menentukan file konfigurasi secara manual setiap waktu ... yang seperti sooo lame ...

Mari kita dapatkan cracking

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 kita kerjakan:

    mkdir / tmp / 1
    cd / tmp / 1

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

  1. Untuk melakukan ini, unduh paket instalasi Opkg untuk arsitektur ar71xx dari bagasi 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 mungkin dapat berubah di masa depan, jadi sesuaikan dengan semestinya.
    Catatan 2: Dimungkinkan bahwa satu-satunya perbedaan dalam mendapatkan panduan ini untuk bekerja untuk arsitektur lain adalah untuk mendapatkan penginstal Opkg dari arsitektur yang berlaku untuk router Anda ... namun ini belum teruji oleh Anda benar-benar.

  2. Meminta Ipkg untuk menginstal Opkg secara manual menggunakan:

    ipkg instal opkg_618-2_ar71xx.ipk

    catatan: Anda dapat, jika Anda ingin juga, instal setiap paket dalam repositori secara manual dengan cara ini. Namun ini berarti bahwa Anda harus menyelesaikan dependensi pada Anda sendiri ... dan apa yang akan menjadi kesenangan dalam hal itu?

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

  1. Untuk melakukan ini, unduh “Root FileSystem” dasar 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 sedang dihilangkan. Karena kami tidak memerlukan apa pun kecuali file "lib", ini baik-baik saja dan Anda dapat dengan aman mengabaikan pesan-pesan ini.

Memperbaiki LD_LIBRARY "PATH"
Kita perlu memberi tahu router, di mana mencari librari yang dibagikan (libs) yang baru saja kita "instal" dan yang perlu dilakukan ini sebelum orang-orang yang datang dengan firmware.

  1. Untuk melakukan ini, atur variabel lingkungan LD_LIBRARY secara manual (untuk saat ini), untuk membuatnya sehingga lokasi di mana kita menyalin file lib yang baru akan menjadi yang pertama di “PATH”:

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

Dapat dibaca "/ etc"
Kita akan menyalin “/ etc” ke JFFS dan kemudian membuat titik mount “/ etc” reguler, tunjuk ke sana. Dengan demikian, keduanya akan membuka dunia kemungkinan, karena "/ etc" akan menjadi dapat dibaca-tulis (yang saya sendiri telah menunggu untuk memberi atau mengambil 7 tahun sekarang) dan mengaktifkan paket yang mengharapkan perilaku ini, untuk bekerja dengan benar.

  1. Buat direktori yang akan memiliki "/ etc":

    mkdir -p / jffs / geek / etc

  2. Secara rekursif menyalin keseluruhan “/ etc” sambil menjaga semua subdirektori, atribut file dan tautan simbolik.

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

  3. Secara manual (untuk saat ini) "bind mount" direktori "/ etc" ke salah satu JFFS:

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

Atur direktori Optware ("/ opt")
Opkg dari OpenWRT, diharapkan dapat digunakan ketika peranti lunak router dibangun. Karena pada saat itu, FileSystem belum ada di router, dan karena itu masih dapat berubah, tidak ada masalah menginstal ke lokasi mana pun di FileSystem. Itulah sebabnya file konfigurasi Opkg mengarahkan paket-paket untuk diinstal ke "root" (/) dari FileSystem. Namun, kami menggunakan Opkg setelah firmware dibangun dan dipasang di router, dan karena kami tidak dapat mengubah akar filesystem untuk dapat dibaca-tulis, kami akan mengarahkan semua instalasi untuk diinstal di bawah “/ opt”. Namun Saat ini "/ opt" juga menunjuk ke lokasi hanya-baca pada firmware router. Untuk mengatasi hal ini, kami akan membuat titik “/ opt” ke JFFS, yang dapat dibaca-tulis.

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

    mkdir -p / jffs / opt

  2. Secara manual (untuk saat ini) "bind mount" the "/ opt" direktori ke JFFS satu:

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

    Catatan: Sementara di luar ruang lingkup panduan ini, pengguna yang lebih mahir mungkin ingin mengubah titik mount ini, untuk menunjuk ke HD.

Menyesuaikan file konfigurasi Opkg
Kami ingin file konfigurasi Opkg berada di tempat Opkg menelusurinya secara default (yang adalah “/ etc”) dan menyesuaikan untuk memasang ke “/ opt”.

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

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

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

    vi /etc/opkg.conf

    Jadikan terlihat seperti:

    snapshot src / gz http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
    dest root / opt
    dest ram / tmp
    lists_dir ext / var / opkg-daftar
    opsi overlay_root / overlay

    catatan: Anda dapat mengubah direktif "lists_dir" untuk menunjuk ke lokasi yang tidak dalam RAM, tetapi lebih pada JFFS. Meskipun ini akan membebaskan Anda dari memperbarui daftar, sebelum Anda dapat menginstal perangkat lunak tambahan (jika router Anda direboot dari 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 semua berjalan dengan baik Anda harus melihat bahwa daftar Opkg telah diperbarui tanpa kesalahan dan Anda siap untuk menerapkan skrip pada langkah berikutnya:

    pembaruan opkg; daftar opkg

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

Skrip StartUp
Sekarang kita perlu membuatnya sehingga semua pemasangan dan pemasangan yang diperlukan akan terjadi secara otomatis ketika router mem-boot. Untuk itu, kami buat untuk Anda, skrip inisialisasi inisialisasi ini.

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

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

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

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

    Dan Klik "Save Startup".

Menendang ban
Jika semua berjalan dengan baik, Anda sekarang harus dapat mereboot router dan masih menggunakan pengelola paket Opkg. Yaitu untuk memperbarui, daftar dan menginstal aplikasi.
Mari kita uji bahwa semuanya bekerja dengan menginstal perintah "netstat", yang karena alasan tertentu telah dihilangkan dari build DD-WRT akhir-akhir ini. Sebelum kita melakukan ini, jalankan perintah netstat di terminal dan Anda akan melihat bahwa Anda diparut oleh kesalahan dari shell, mengatakan "-sh: netstat: not found".

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

    pembaruan opkg

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

    daftar opkg | grep netstat

  3. Dan sekarang instal "netstat" menggunakan:

    opkg menginstal net-tools-netstat

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

Sampai artikel di masa depan yang akan kita instal dan konfigurasi paket perangkat lunak menggunakan metode ini, semoga Anda memiliki banyak geek yang menyenangkan menjelajahi sejumlah besar perangkat lunak yang sekarang ada di ujung jari Anda.

Jika mesin seperti itu adalah kemustahilan virtual, itu pasti secara logis adalah ketidakmungkinan yang terbatas. Jadi yang harus saya lakukan untuk membuat satu adalah mencari tahu bagaimana tepatnya itu mustahil, memberi makan angka itu ke dalam generator yang tidak terbatas, memberikannya secangkir teh panas yang segar dan menyalakannya ... ... ... Satu hal yang mereka benar-benar tidak suka, adalah "Smart-Ass".