Trang chủ » làm thế nào để » Cách cài đặt phần mềm bổ sung trên bộ định tuyến gia đình của bạn (DD-WRT)

    Cách cài đặt phần mềm bổ sung trên bộ định tuyến gia đình của bạn (DD-WRT)

    Bạn đã bao giờ muốn có thêm chức năng như Email, Bit-torrent hoặc thậm chí MySQL trực tiếp trên bộ định tuyến của mình chưa? Vâng có lẽ bây giờ bạn có thể. How-To Geek đi sâu vào cách cài đặt phần mềm Opkg trên DD-WRT.

    Hình ảnh của Jean Spector và Aviad Raviv

    Nếu bạn chưa có, hãy chắc chắn và kiểm tra các bài viết trước trong loạt bài:

    • Biến Bộ định tuyến gia đình của bạn thành Bộ định tuyến siêu cấp với DD-WRT
    • Cách xóa quảng cáo với Pixelserv trên DD-WRT

    Giả sử bạn đã quen thuộc với những chủ đề đó, hãy tiếp tục đọc. Hãy nhớ rằng hướng dẫn này kỹ thuật hơn một chút và người mới bắt đầu nên cẩn thận khi sửa đổi bộ định tuyến của họ.

    Khổ nạn

    Gần đây tôi đã mua một chiếc Buffalo WZR-HP-AG300H mới đi kèm với phiên bản DD-WRT được đăng ký lại thương hiệu. Do bộ định tuyến này có cổng USB, tôi đã ngay lập tức kết nối HD và thử sử dụng phần mềm Opt Opt, hướng dẫn wiki đúng cách. Thật không may, tôi đã nhanh chóng phát hiện ra rằng bộ định tuyến mà tôi có, dựa trên Atheros và tập lệnh từ trang wiki đó, không hỗ trợ nó. Vì vậy, tôi đã bắt đầu đào (như tôi vẫn thường làm) và tìm thấy một số hướng dẫn (1, 2, 3 và 4) nhằm giải thích làm thế nào để Opkg hoạt động thủ công. Mặc dù đóng góp của họ (trong số các nguồn khác trên web) cho hướng dẫn này là vô giá, một số hướng dẫn là (IMHO) đơn giản là không đủ thẳng. Ví dụ: cung cấp cho bạn tệp cá lib lib, nhưng không dạy bạn cách câu cá từ nguồn. Ngoài ra, phải sử dụng HD định dạng Linux hoặc ít nhất là phân vùng của một (điều này thực sự thậm chí không hoạt động trên các phần cứng tôi đã thử nghiệm). Đó là lý do tại sao, tôi cảm thấy cần phải tạo quy trình ngắn gọn, đơn giản để làm theo và có thể tái tạo dưới đây để có được trình quản lý gói OpenWRT Opkg để làm việc trên các bộ định tuyến như vậy.

    Cập nhật: Khả năng phân vùng gắn đã được giới thiệu lại vào phiên bản được gắn lại thương hiệu trên bản dựng alpha 17798.

    Opkg là gì?

    Opkg là một trình quản lý gói như apt / aptitude và yum. Nó hoạt động như một sự thay thế cho trình quản lý gói Ipkg và có thể được sử dụng để cài đặt phần mềm như: daemon truyền BitTorrent, trình gửi email ssmtp và Knockd một trình nền thực thi các tập lệnh sau một chuỗi kích hoạt cổng được chỉ định, để đặt tên cho một số. Từ trang OpenWRT:

    Tiện ích opkg (một ngã ba ipkg) là một trình quản lý gói gọn nhẹ được sử dụng để tải xuống và cài đặt các gói OpenWrt từ các kho lưu trữ gói cục bộ hoặc các gói nằm trên Internet. Opkg cố gắng giải quyết các phụ thuộc với các gói trong kho - nếu điều này không thành công, nó sẽ báo lỗi và hủy cài đặt gói đó.

    Vì vậy, bằng cách sử dụng Opkg, chúng ta có thể cài đặt những thứ như chúng ta đã làm với Ipkg trên Hướng dẫn giải phóng sức mạnh thậm chí nhiều hơn từ Bộ định tuyến tại nhà của bạn. Sự khác biệt chính là:

    1. Để đưa ra các ví dụ về SSMTP và Knockd, bạn thực sự phải tìm ra các phụ thuộc theo cách thủ công. Thủ tục để làm điều này bằng tay là khó chịu và không đơn giản lắm. Opkg tự động làm điều này.
    2. Lần này chúng ta sẽ thêm phần mềm bên trên phần sụn được đặt đúng chỗ, thay vào đó thay thế nó. Mặc dù thay thế nó là một bài tập đam mê tuyệt vời, nhưng không nghi ngờ gì: nguy hiểm, dễ gặp vấn đề, không thể đảo ngược và tồi tệ nhất trong tất cả các bộ định tuyến cụ thể. Không cần phải nói rằng đây là cách đơn giản và an toàn hơn.

    Điều kiện tiên quyết

    Để hoàn thành hướng dẫn này, hãy lưu ý những điều sau:

    1. Như đã nêu ở trên, hướng dẫn này đã được tạo và thử nghiệm trên Buffalo WZR-HP-AG300H với phiên bản firmware 17135 của Buffalo. Nó hoạt động trên mọi bộ định tuyến dựa trên Atheros (ar71xx) với bất kỳ phiên bản DD-WRT nào có cùng phiên bản trở lên , nhưng số dặm của bạn có thể rất.
    2. Bạn sẽ cần kích hoạt SSH trên bộ định tuyến, cũng như cài đặt và sử dụng WinSCP để kết nối với nó. Điều này đã được giải thích trong Hướng dẫn cách xóa quảng cáo với Pixelserv trên hướng dẫn DD-WRT. Trên thực tế, sẽ có giả định rằng bạn có thể làm mọi thứ được giải thích trong hướng dẫn đó.
    3. Bạn cần có khả năng kết nối với bộ định tuyến bằng thiết bị đầu cuối (khuyên dùng SSH). Một số gợi ý về cách thực hiện việc này, trên wiki DD-WRT.
    4. Không gian cho JFFS và khoảng 4 MB không gian định dạng bài đăng cho thiết lập cơ sở. Không gian JFFS không chỉ là một điều kiện tiên quyết, nó là một điểm dừng hiển thị. Điều này là do, nếu bộ định tuyến của bạn không có ít nhất 4 MB dung lượng được định dạng bài đăng đã đề cập ở trên, bạn sẽ không nhận được bất kỳ lợi ích thực sự nào từ hướng dẫn này và sẽ tốt hơn khi sử dụng Bộ giải phóng dữ liệu nhiều hơn từ Bộ định tuyến gia đình của bạn. hướng dẫn cài đặt các gói Ipkg trực tiếp vào phần sụn hoặc cài đặt các gói Ipkg theo cách thủ công. Làm theo các hướng dẫn trên mạng Cách xóa quảng cáo bằng Pixelserv trên hướng dẫn DD-WRT, để bật JFFS và xem bạn thực sự có bao nhiêu dung lượng trống sau nó được định dạng.

    Chú thích: Có thể thực hiện việc này chỉ với 2 MB dung lượng để thiết lập, nhưng sau đó chúng tôi sẽ mất kết quả của trò chơi / v.v., trở nên có thể đọc được và sẽ phải gọi Opkg, trong khi chỉ định tệp cấu hình theo cách thủ công mỗi lần như thế Sooo què  

    Chúng ta hãy nứt

    Tại thời điểm này, bạn đã kích hoạt JFFS và có thể SSH / WinSCP vào bộ định tuyến.

    1. Mở một phiên cuối đến bộ định tuyến.
    2. Tạo một thư mục tạm thời mà chúng tôi sẽ làm việc:

      mkdir / tmp / 1
      cd / tmp / 1

    Sử dụng Ipkg để cài đặt Opkg
    Mặc dù chúng tôi sẽ thay thế Ipkg làm trình quản lý gói, chúng tôi sẽ sử dụng nó để cài đặt thủ công gói cài đặt Opkg.

    1. Để thực hiện việc này, hãy tải xuống gói cài đặt Opkg cho kiến ​​trúc ar71xx từ trung kế dự án OpenWRT:

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

      Lưu ý1: Tại thời điểm viết bài này, 618 là phiên bản mới nhất, điều này có thể thay đổi trong tương lai, vì vậy hãy điều chỉnh cho phù hợp.
      Lưu ý 2: Có thể sự khác biệt duy nhất trong việc làm cho hướng dẫn này hoạt động cho các kiến ​​trúc khác là để trình cài đặt Opkg từ kiến ​​trúc áp dụng cho bộ định tuyến của bạn, tuy nhiên điều này chưa được kiểm chứng bởi bạn.

    2. Gọi Ipkg để cài đặt thủ công Opkg bằng cách sử dụng:

      cài đặt ipkg opkg_618-2_ar71xx.ipk

      Chú thích: Bạn có thể, nếu bạn cũng muốn, cài đặt mọi gói trong kho theo cách thủ công theo cách này. Tuy nhiên, điều này có nghĩa là bạn sẽ phải giải quyết các phụ thuộc vào chính bản thân mình và điều gì sẽ là niềm vui trong đó?

    Lấy các tệp thư viện động (Tiếng lib lib s)
    Các tệp lib lib được yêu cầu để làm cho Opkg hoạt động, là một phần của bản phân phối OpenWRT. Để có được chúng, người ta phải trích xuất chúng từ bản gốc Root FileSystem của phân phối đã nói.

    1. Để thực hiện việc này, hãy tải xuống bản gốc cơ bản mới nhất của Root Root FileSystem để biết sự phân biệt openWRT có chứa các lib lib bắt buộc từ thân cây dự án OpenWRT:

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

    2. Giải nén nó bằng cách sử dụng:

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

    3. Sao chép các tập tin lib libs từ các thư mục gốc của Google, chúng tôi đã trích xuất ở trên vào thư mục lib libs trên JFFS của chúng tôi, trong khi vẫn giữ các thuộc tính và liên kết tượng trưng của chúng:

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

      Chú thích: Bạn sẽ nhận được thông báo nói rằng các thư mục con đang bị bỏ qua. Vì chúng tôi không cần bất cứ thứ gì ngoại trừ các tập tin lib lib, điều này vẫn ổn và bạn có thể bỏ qua các tin nhắn này một cách an toàn.

    Sửa lỗi LD_LIBRARY ngay bây giờ
    Chúng ta cần nói với bộ định tuyến, nơi để tìm các thư viện dùng chung (libs) mà chúng ta vừa cài đặt, và nó cần phải làm điều này trước những cái đi kèm với phần sụn.

    1. Để thực hiện việc này, hãy đặt biến môi trường LD_LIBRARY theo cách thủ công (hiện tại), để đặt nó ở vị trí mà chúng tôi đã sao chép các tệp lib mới sẽ là vị trí đầu tiên trong tệp BẮT ĐẦU:

      xuất LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH

    Đọc-ghi có thể đọc được
    Chúng tôi sẽ sao chép các ứng dụng khác nhau trên JFFS và sau đó tạo ra điểm gắn kết của trò chơi / trò chơi thông thường, chỉ vào nó. Làm như vậy, cả hai sẽ mở ra một thế giới khả năng, bởi vì, Lv / vv, sẽ trở thành có thể đọc được (mà cá nhân tôi đã chờ đợi cho hoặc mất 7 năm nay) và cho phép các gói mong đợi hành vi này hoạt động chính xác.

    1. Tạo thư mục sẽ giữ các ứng dụng / v.v.

      mkdir -p / jffs / geek / vv

    2. Sao chép một cách đệ quy toàn bộ Thư / etc ... trong khi bảo tồn tất cả các thư mục con, thuộc tính tệp và liên kết tượng trưng.

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

    3. Theo cách thủ công (hiện tại), liên kết gắn kết, thư mục cài đặt trên thư mục JFFS:

      gắn kết -o liên kết / jffs / geek / etc / / etc /

    Đặt thư mục Optware (Ưu đãi / tối ưu)
    Opkg từ OpenWRT, dự kiến ​​sẽ được sử dụng khi phần sụn của bộ định tuyến được xây dựng. Vào thời điểm đó, Hệ thống tệp chưa có trên bộ định tuyến và do đó vẫn có thể thay đổi, không có vấn đề gì khi cài đặt vào bất kỳ vị trí nào trên Hệ thống tệp. Đó là lý do tại sao các tập tin cấu hình Opkg chỉ ra các gói để cài đặt vào cơ sở dữ liệu gốc (/) của Tập tin cơ sở dữ liệu. Tuy nhiên, chúng tôi đang sử dụng Opkg sau phần sụn đã được xây dựng và cài đặt trên bộ định tuyến và vì chúng tôi không thể thay đổi thư mục gốc của hệ thống tập tin thành có thể đọc được, chúng tôi sẽ chỉ ra tất cả các bản cài đặt sẽ được cài đặt trong bộ điều khiển / opt. Tuy nhiên, hiện tại, các ứng dụng khác cũng chỉ đến một vị trí chỉ đọc trên phần sụn của bộ định tuyến. Để khắc phục điều này, chúng tôi sẽ làm cho điểm / opt Nhận điểm thành JFFS, có thể đọc được.

    1. Để thực hiện việc này, Tạo thư mục sẽ chứa các gói Optware:

      mkdir -p / jffs / opt

    2. Thủ công (hiện tại) gắn kết liên kết với nhau trong thư mục J /FS:

      gắn kết -o liên kết / jffs / opt / / opt /

      Lưu ý: Trong khi vượt quá phạm vi của hướng dẫn này, Người dùng cao cấp hơn có thể muốn thay đổi điểm gắn kết này, để trỏ đến HD.

    Điều chỉnh tệp cấu hình Opkg
    Chúng tôi muốn tệp cấu hình Opkg ở nơi Opkg tìm kiếm theo mặc định (đó là phiên bản / v.v.) và được điều chỉnh để cài đặt vào.

    1. Để thực hiện việc này, hãy di chuyển tệp cấu hình opkg được cài đặt bởi gói Opkg đến vị trí có thể đọc / ghi có thể đọc được:

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

    2. Thay đổi đích đến cho các cài đặt Optware thành Là / cài đặt thay vì gốc root (/).
      Để thực hiện việc này, với trình soạn thảo của vi vi và WinSCP, hãy điều hướng đến Trực tuyến / etc /, và tạo ra nội dung của tập tin opkg.conf.

      vi /etc/opkg.conf

      Làm cho nó trông giống như:

      ảnh chụp nhanh src / gz http://doads.openwrt.org/snapshots/trunk/ar71xx/packages
      gốc / opt
      mệnh ram / tmp
      list_dir ext / var / opkg-list
      tùy chọn lớp phủ_root / lớp phủ

      Chú thích: Bạn có thể thay đổi chỉ thị của danh sách liệt kêvirir để chỉ đến một vị trí không có trong RAM, mà là trên JFFS. Mặc dù điều này sẽ giúp bạn cập nhật danh sách, trước khi bạn có thể cài đặt phần mềm bổ sung (nếu bộ định tuyến của bạn được khởi động lại từ lần trước), bạn sẽ mất khoảng 1,5 MB dung lượng JFFS khan hiếm và bạn sẽ bị xói mòn.

    Xin chào em yêu
    Bạn sẽ có thể thấy rằng Opkg đang hoạt động bằng cách phát hành các bản cập nhật và liệt kê các lệnh.

    1. Nếu mọi việc suôn sẻ, bạn sẽ thấy rằng danh sách Opkg đã được cập nhật mà không có lỗi và bạn đã sẵn sàng để thực hiện tập lệnh trong bước tiếp theo:

      cập nhật opkg; danh sách opkg

    2. Dành thời gian để bắt đầu khám phá các gói có sẵn trên kho lưu trữ .

    Kịch bản khởi động
    Bây giờ chúng ta cần phải làm cho nó để tất cả việc gắn và đường dẫn cần thiết sẽ tự động xảy ra khi bộ định tuyến khởi động. Cuối cùng, chúng tôi đã tạo cho bạn, tập lệnh geek-init khởi tạo này.

    1. Tải xuống, sau đó giải nén nó và đặt nó dưới tên / jffs / geek / etc /. (Cân nhắc làm điều này với WinSCP).
    2. Làm cho tập lệnh có thể thực thi được bằng cách đi vào các thuộc tính của nó bằng WinSCP hoặc thực thi:

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

    3. Làm cho tập lệnh thực thi khi khởi động bộ định tuyến, sử dụng WebGUI. Trong phần Quản trị -> Lệnh, trong hộp văn bản, đặt:

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

      Và bấm vào Lưu Lưu Startup Startup.

    Đá lốp xe
    Nếu mọi việc suôn sẻ, bây giờ bạn có thể khởi động lại bộ định tuyến và vẫn sử dụng trình quản lý gói Opkg. Đó là cập nhật, liệt kê và cài đặt ứng dụng.
    Hãy kiểm tra xem mọi thứ có hoạt động không bằng cách cài đặt lệnh của net netatat, vì lý do nào đó đã bị bỏ qua khỏi các bản dựng của DD-WRT gần đây. Trước khi chúng ta thực hiện điều này, hãy thực thi lệnh netstat trong thiết bị đầu cuối và bạn sẽ thấy rằng bạn đang bị lỗi do shell, nói rằng -sh: netstat: không tìm thấy.

    1. Bước đầu tiên của bạn sẽ luôn là, để cập nhật danh sách Opkg, để có danh sách các gói mới nhất từ ​​kho lưu trữ:

      cập nhật opkg

    2. Nếu bạn không biết gói nào chứa lệnh net netatat, bạn có thể lọc kết quả bằng cách sử dụng.

      danh sách opkg | grep netstat

    3. Và bây giờ cài đặt mạng netstat trên mạng sử dụng:

      opkg cài đặt net-tools-netstat

      Và bây giờ, khi bạn thực hiện lại lệnh netstat thì nó hoạt động gọn gàng ha? :)

    Cho đến khi các bài viết trong tương lai chúng tôi sẽ cài đặt và định cấu hình các gói phần mềm bằng phương pháp này, bạn có thể có rất nhiều niềm vui khi khám phá số lượng lớn phần mềm hiện có ngay trên đầu ngón tay của bạn.


    Nếu một máy như vậy là không thể ảo, thì nó phải là một khả năng hữu hạn. Vì vậy, tất cả những gì tôi phải làm để tạo ra một thứ là tìm ra chính xác khả năng của nó như thế nào, đưa con số đó vào máy tạo khả năng hữu hạn, cho nó một tách trà nóng thật sự và bật nó lên thực sự không thích, là một trò chơi thông minh Ass Ass Ass.