Giới thiệu Intel Edison - OPKG Package Manager - P4

I. Giới thiệu

Tiện ích opkg (Open PacKaGe Management) được tích hợp sẵn trong Yocto Linux nhằm giúp người dùng nhanh chóng cài đặt các gói tin từ kho dữ liệu của Intel. OPKG có tính năng tương tự như lệnh yum hoặc apt-get mà cộng đồng người dùng Linux đã khá quen thuộc trong việc quản lý và cài đặt gói tin trên kiến trúc Linux OS.

OPKG được đóng gói dựa trên hai công cụ nổi tiếng sử dụng trên kiến trúc Debian là apt-get và dpkg thực hiện quản lý, tải và cài đặt gói tin. Người dùng có thể theo dõi quá trình phát triển và đóng gói các phiên bản OPKG trên nền tảng hệ điều hành Yocto Linux tại liên kết http://git.yoctoproject.org/cgit/cgit.cgi/opkg/

II. Cơ bản về OPKG

Tập tin lưu trữ danh mục kho dữ liệu (repo) trên Intel Edison đặt tại thư mục /etc/opkg/iotkit.conf. Người dùng hoàn toàn có thể tự xây dựng hệ thống repo cho dự án riêng của mình sử dụng Nginx và thực hiện khai báo nguồn cài đặt mới tại tập tin iotkit.conf.

root@VisudoBlog:/etc/opkg# cat /etc/opkg/iotkit.conf  
src iotkit http://iotdk.intel.com/repos/3.5/intelgalactic/opkg/i586/  
src iotdk-all http://iotdk.intel.com/repos/3.5/iotdk/edison/all  
src iotdk-core2-32 http://iotdk.intel.com/repos/3.5/iotdk/edison/core2-32  
src iotdk-edison http://iotdk.intel.com/repos/3.5/iotdk/edison/edison  

Trước khi sử dụng kho dữ liệu được cung cấp từ Intel, người dùng cần cập nhật danh mục gói tin bằng lệnh opkg update.

root@VisudoBlog:~# opkg update  
Downloading http://iotdk.intel.com/repos/3.5/intelgalactic/opkg/i586//Packages.  
Updated list of available packages in /var/lib/opkg/iotkit.  
Downloading http://iotdk.intel.com/repos/3.5/iotdk/edison/all/Packages.  
Updated list of available packages in /var/lib/opkg/iotdk-all.  
......

Sau khi quá trình cập nhật thư viện thành công, người dùng có thể tiến hành cài đặt nhanh chóng các gói dữ liệu có định dạng .ipk được tải từ http://iotdk.intel.com/repos hoặc từ liên kết chỉ định. Trong ví dụ sau tôi tiến hành cài đặt Nginx trên Intel Edison sử dụng lệnh opkg install nginx.

root@VisudoBlog:~# opkg install nginx  
Installing nginx (1.4.4-r0) on root.  
Downloading http://iotdk.intel.com/repos/3.5/iotdk/edison/core2-32/nginx_1.4.4-r0_core2-32.ipk.  
 Removing any system startup links for nginx ...
Running useradd commands...  
NOTE: Performing useradd with [      --system --no-create-home     --home /var/www/localhost     --groups www-data     --user-group www] and 10 times of retry  
Configuring nginx.  
 Adding system startup for /etc/init.d/nginx.

Quá trình cài đặt Nginx 1.4 trên Edison diễn ra khá nhanh và bạn có thể kiểm tra thông tin cài đặt Nginx sử dụng lệnh nginx -V để hiển thị các thông số cài đặt chi tiết.

root@VisudoBlog:~# nginx -V  
nginx version: nginx/1.4.4  
TLS SNI support enabled  
configure arguments: --crossbuild=Linux:i586 --with-endian=big --with-int=4 --with-long=4 --with-long-long=8 --with-ptr-size=4 --with-sig-atomic-t=4 --with-size-t=4 --with-off-t=4 --with-time-t=4 --with-sys-nerr=132 --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --pid-path=/run/nginx/nginx.pid --prefix=/usr --with-http_ssl_module --with-http_gzip_static_module  

Quay trở lại với OPKG, để tiến hành xem những gói tin đã được cài đặt trên mạch Edison, bạn có thể sử dụng lệnh opkg list-installed kết hợp với grep để lọc gói tin cần thiết.

root@VisudoBlog:~# opkg list-installed | grep nginx  
nginx - 1.4.4-r0  

Tuy nhiên, để hỗ trợ việc debug các thông tin về nguồn gốc gói tin, tập tin cấu hình, phiên bản, kiến trúc, ... của gói dữ liệu thì tham số opkg info sẽ giúp bạn nhiều hơn trong việc hiển thị thông tin.

root@VisudoBlog:~# opkg info nginx  
Package: nginx  
Version: 1.4.4-r0  
Depends: libssl1.0.0 (>= 1.0.1m), libc6 (>= 2.20), libz1 (>= 1.2.8), libpcre1 (>= 8.35), libcrypto1.0.0 (>= 1.0.1m), base-files, shadow, base-passwd  
Recommends: update-rc.d  
Status: install user installed  
Section: net  
Architecture: core2-32  
Maintainer: Poky <poky@yoctoproject.org>  
MD5Sum: 9b439439c8d444aaec311b14e74dfe29  
Size: 297816  
Filename: nginx_1.4.4-r0_core2-32.ipk  
Conffiles:  
 /etc/nginx/nginx.conf e005b396e5d7e2d9634a202be8806369
 /etc/nginx/fastcgi.conf c53b8ddf4250e742594d24c55e73c0df
....................
Source: http://nginx.org/download/nginx-1.4.4.tar.gz file://nginx-cross.patch file://nginx.conf file://nginx.init file://nginx-volatile.conf  
Description: HTTP and reverse proxy server  Nginx is a web server and a reverse proxy  
 server for HTTP, SMTP, POP3 and   IMAP protocols, with a strong focus on
 high  concurrency, performance and   low memory usage.
Installed-Time: 1471624238  

Để gỡ bỏ gói tin đã cài đặt, bạn chỉ cần thực hiện lệnh opkg remove --force-remove.

root@VisudoBlog:~# opkg remove --force-remove nginx  
Removing package nginx from root...  
Stopping nginx:  Removing any system startup links for nginx ...  
  /etc/rc0.d/K20nginx
  /etc/rc1.d/K20nginx
...................

Tùy chọn opkg download giúp người dùng tải gói tin .ipk về máy mà không tiến hành cài đặt tự động, giúp phục vụ việc debug hoặc nghiên cứu thêm về kiến trúc của định dạng .ipk.

root@VisudoBlog:~# opkg download nginx  
Downloading http://iotdk.intel.com/repos/3.5/iotdk/edison/core2-32/nginx_1.4.4-r0_core2-32.ipk.  
Downloaded nginx as ./nginx_1.4.4-r0_core2-32.ipk.  
root@VisudoBlog:~# file nginx_1.4.4-r0_core2-32.ipk  
nginx_1.4.4-r0_core2-32.ipk: Debian binary package (format 2.0)  

III. Tổng kết

OPKG giúp quá trình cài đặt và kiểm soát gói tin trên Edison khá đễ dàng cho người mới bắt đầu sử dụng Linux. Với các tùy chọn hỗ trợ từ OPKG, bạn có thể dễ dàng tiếp thu nhanh chóng các kỹ thuật quản lý, cài đặt, gỡ bỏ, cập nhật, tải hoặc thậm chí tự xây dựng kho dữ liệu riêng cho dự án IoT của chính mình. Các kỹ thuật tùy biến nâng cao OPKG bạn có thể tham khảo thêm tại https://wiki.openwrt.org/doc/techref/opkg.

lên
9 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Giới thiệu SDR - Ứng dụng MATLAB và RTL-SDR trong nghiên cứu sóng vô tuyến - P1

Trong bài viết này, tôi sẽ thực hiện các thí nghiệm về xử lý tín hiệu không dây sử dụng công nghệ Software Defined Radio (SDR), đây là một chủ đề đã được nghiên cứu trong 20 năm trở lại đây và đang là xu hướng phát triển trong các thiết bị IoT ngày nay.

lên
8 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

Giới thiệu Intel Edison - Cylon.js - P6

CylonJS là một thư viện Javascript hỗ trợ trong việc phát triển Robot và các dự án IoT trên nền tảng Node.js. Sức mạnh của CylonJS nằm trong số lượng 43 mạch điều khiển và phần mềm mà nó hỗ trợ. Trường hợp bạn đang sở hữu một mạch Arduino và muốn tìm hiểu về CylonJS, hãy truy cập ngay trang web chính thức để có thể bắt đầu từ bây giờ https://cylonjs.com/documentation/platforms/arduino/.

lên
5 thành viên đã đánh giá bài viết này hữu ích.