Pernahkah Anda ingin memiliki fungsionalitas tambahan seperti Email, Bit-torrent atau bahkan MySQL langsung di router Anda? Mungkin sekarang kamu bisa. How-To Geek mempelajari cara menginstal perangkat lunak Opkg di DD-WRT.
Gambar oleh Jean Spector dan Aviad Raviv
Jika Anda belum melakukannya, pastikan dan lihat artikel sebelumnya dalam seri ini:
- Ubah Router Rumah Anda Menjadi Router Bertenaga Super dengan DD-WRT
- Cara Menghapus Iklan dengan Pixelserv di DD-WRT
Dengan asumsi Anda sudah familiar dengan topik tersebut, teruslah membaca. Ingatlah bahwa panduan ini sedikit lebih teknis, dan pemula harus berhati-hati saat memodifikasi router mereka.
Kesengsaraan
Saya baru saja membeli yang baru
Buffalo WZR-HP-AG300H
yang hadir dengan versi bermerek ulang
DD-WRT
. Karena fakta bahwa router ini memiliki port USB, saya segera menghubungkan HD dan mencoba menggunakan "
Optware, Cara yang Benar
"Panduan wiki. Sayangnya, saya segera menemukan bahwa router yang saya dapatkan, 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 membuat Opkg bekerja secara manual. Meskipun kontribusi mereka (di antara sumber lain di web) untuk panduan ini sangat berharga, beberapa petunjuknya (IMHO) tidak cukup langsung. Misalnya, memberi Anda "lib" file fish, tetapi tidak mengajari Anda cara memancing dari sumbernya. Juga harus menggunakan HD berformat Linux atau setidaknya satu partisi (
yang sebenarnya bahkan tidak berfungsi pada firmware yang telah saya uji
). Itulah sebabnya, saya merasa perlu membuat prosedur di bawah ini yang ringkas, mudah diikuti, dan dapat direproduksi untuk mendapatkan
OpenWRT
Manajer paket Opkg untuk bekerja pada router tersebut.
Pembaruan: Kemampuan partisi pemasangan telah diperkenalkan kembali ke versi merek ulang pada versi 17798 alpha.
Apa itu Opkg?
Opkg adalah pengelola paket seperti apt / aptitude dan yum. Ini bertindak sebagai pengganti Manajer paket ipkg , dan dapat digunakan untuk menginstal perangkat lunak seperti: Penularan Daemon BitTorrent, pengirim email ssmtp dan Knockd daemon yang mengeksekusi skrip setelah urutan pemicu port tertentu, 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.
Opkgmencoba untuk menyelesaikan dependensi dengan paket di repositori - jika gagal, ini akan melaporkan kesalahan, dan membatalkan instalasi paket itu.
Jadi dengan menggunakan Opkg kita dapat menginstal hal-hal seperti yang kita lakukan dengan Ipkg di " Bebaskan Lebih Banyak Daya dari Router Rumah Anda "Panduan. Perbedaan utama, adalah:
- Untuk memberikan contoh SSMTP dan Knockd, Anda benar-benar harus mengetahui dependensi secara manual. Prosedur untuk melakukan ini secara manual merepotkan dan tidak terlalu mudah. Opkg melakukan ini secara otomatis.
- Kali ini kita akan melakukannya menambahkan perangkat lunak di atas firmware yang ada, bukan menggantinya. Meskipun menggantinya adalah latihan geek yang sangat baik, tidak diragukan lagi: berbahaya, rentan terhadap masalah, tidak dapat diubah, dan terburuk dari semua router tertentu. Tak perlu dikatakan bahwa ini jauh lebih sederhana dan lebih aman.
Prasyarat
Untuk melengkapi panduan ini perhatikan hal-hal berikut:
- Seperti yang dinyatakan di atas, panduan ini dibuat dan diuji Buffalo WZR-HP-AG300H dengan firmware “Pro” Buffalo versi 17135. Ini harus bekerja pada semua router berbasis Atheros (ar71xx) dengan versi DD-WRT apa pun dari revisi yang sama atau lebih tinggi, tetapi jarak tempuh Anda mungkin sangat.
- Anda harus mengaktifkan SSH di router, serta menginstal dan menggunakan WinSCP untuk menyambung ke sana. Ini dijelaskan di " Cara Menghapus Iklan dengan Pixelserv di DD-WRT "Panduan. Faktanya, akan diasumsikan bahwa Anda mampu melakukan semua yang dijelaskan dalam panduan itu.
- Anda harus dapat terhubung ke perute menggunakan terminal (disarankan menggunakan SSH). Beberapa petunjuk tentang cara melakukan ini, ada di Wiki DD-WRT .
- Ruang untuk JFFS dan sekitar 4MB ruang yang diformat pos untuk pengaturan dasar. Ruang JFFS bukan hanya prasyarat, ini adalah penghenti acara. Ini karena, Jika router Anda tidak memiliki setidaknya 4MB ruang terformat posting yang disebutkan di atas, Anda tidak akan mendapatkan manfaat nyata dari panduan ini, dan akan lebih baik menggunakan " Bebaskan Lebih Banyak Daya dari Router Rumah Anda Panduan untuk menginstal paket Ipkg langsung ke firmware atau menginstal paket Ipkg secara manual. Ikuti instruksi di " Cara Menghapus Iklan dengan Pixelserv di DD-WRT ”Untuk mengaktifkan JFFS, dan lihat berapa banyak ruang kosong yang sebenarnya Anda miliki setelah itu diformat.
catatan: Hal ini dimungkinkan untuk melakukan ini dengan hanya 2MB ruang untuk pengaturan, tetapi kemudian kita akan kehilangan hasil dari "/ etc" menjadi dapat dibaca dan harus menjalankan Opkg, sementara menentukan file konfigurasi secara manual setiap kali… yang seperti sangat payah ...
Ayo mulai
Pada titik ini Anda harus mengaktifkan JFFS dan dapat melakukan SSH / WinSCP ke router.
- Buka sesi terminal ke router.
-
Buat direktori sementara tempat kita akan bekerja:
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.
-
Untuk melakukannya, unduh paket instalasi Opkg untuk arsitektur ar71xx dari
Batang 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.
Pengucapan: Mungkin saja satu-satunya perbedaan dalam membuat panduan ini berfungsi untuk arsitektur lain adalah mendapatkan penginstal Opkg dari arsitektur yang berlaku untuk router Anda… namun ini belum benar-benar diuji oleh Anda. -
Minta Ipkg untuk menginstal Opkg secara manual menggunakan:
ipkg menginstal opkg_618-2_ar71xx.ipk
catatan: Anda dapat, jika Anda ingin juga, menginstal setiap paket di repositori secara manual dengan cara ini. Namun ini berarti bahwa Anda harus menyelesaikan ketergantungan Anda sendiri… dan apa yang akan menyenangkan di dalamnya?
Memperoleh file perpustakaan dinamis ("lib" s)
File "lib" yang diperlukan untuk membuat Opkg berfungsi, merupakan bagian dari distribusi OpenWRT. Untuk mendapatkannya, seseorang harus mengekstraknya dari "Root FileSystem" dari distribusi tersebut.
-
Untuk melakukan ini, unduh "Root FileSystem" dasar terbaru untuk distribusi openWRT yang berisi "libs from the
Batang proyek OpenWRT
:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
-
Ekstrak dengan menggunakan:
tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz
-
Salin file "libs" dari "rootf" 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", tidak masalah dan Anda dapat mengabaikan pesan ini dengan aman.
Memperbaiki LD_LIBRARY_PATH ”
Kami perlu memberi tahu router, tempat mencari pustaka bersama (libs) yang baru saja kami "pasang" dan perlu melakukan ini
sebelum
yang disertakan dengan firmware.
-
Untuk melakukan ini, setel variabel lingkungan LD_LIBRARY secara manual (untuk saat ini), agar lokasi tempat kita menyalin file lib baru akan menjadi yang pertama di "PATH":
ekspor LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
“/ Etc” yang dapat dibaca dan ditulis
Kita akan menyalin "/ etc" ke JFFS dan kemudian membuat titik mount "/ etc" biasa, arahkan ke sana. Melakukan hal itu, akan membuka dunia kemungkinan, karena "/ etc" akan menjadi dapat dibaca-tulis (yang saya pribadi telah menunggu untuk diberikan atau diambil 7 tahun sekarang) dan memungkinkan paket yang mengharapkan perilaku ini, untuk bekerja dengan benar.
-
Buat direktori yang akan menampung “/ etc”:
mkdir -p / jffs / geek / etc
-
Salin keseluruhan "/ etc" secara rekursif sambil mempertahankan semua subdirektori, atribut file, dan tautan simbolik.
cp -a / etc / * / jffs / geek / etc /
-
Secara manual (untuk saat ini) "bind mount" direktori "/ etc" ke JFFS:
mount -o bind / jffs / geek / etc / / etc /
Setel direktori Optware (“/ opt”)
Opkg dari OpenWRT, diharapkan dapat digunakan saat firmware router dibuat. Karena pada saat itu, FileSystem belum ada di router, dan karenanya masih dapat berubah, tidak ada masalah menginstal ke lokasi mana pun di FileSystem. Itulah sebabnya file konfigurasi Opkg mengarahkan paket-paket yang akan diinstal ke "root" (/) dari FileSystem. Namun, kami menggunakan Opkg
setelah
firmware dibuat dan diinstal pada router, dan karena kami tidak dapat mengubah root sistem file menjadi dapat dibaca-tulis, kami akan mengarahkan semua instalasi untuk diinstal di bawah "/ opt". Namun Saat ini "/ opt" juga menunjuk ke lokasi hanya-baca di firmware router. Untuk mengatasi hal ini, kami akan membuat "/ opt" mengarah ke JFFS, yang dapat dibaca-ditulis.
-
Untuk melakukan ini, Buat direktori yang akan berisi paket Optware:
mkdir -p / jffs / opt
-
Secara manual (untuk saat ini) "bind mount" direktori "/ opt" ke JFFS:
mount -o bind / jffs / opt / / opt /
Catatan: Meskipun 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".
-
Untuk melakukan ini, pindahkan file konfigurasi opkg yang diinstal oleh paket Opkg ke lokasi "/ etc" yang dapat dibaca dan ditulis:
mv /jffs/etc/opkg.conf / etc /
-
Ubah tujuan instalasi Optware menjadi “/ opt” bukan “root” (/).
Untuk melakukan ini, dengan editor "vi" atau WinSCP arahkan ke "/ etc /" dan buat konten file "opkg.conf":