作為軟路由系統(tǒng)的折騰黨就要會(huì)使用 OpenWrt 的命令,比如有些小白經(jīng)常把 mips、aarch64、X86 的插件胡亂瞎裝,不會(huì)區(qū)分架構(gòu),這時(shí)就要用到查看 CPU 架構(gòu)的命令了,下面就是 OpenWrt 查詢維護(hù)命令,主要是硬件、系統(tǒng)、磁盤、安裝等相關(guān)常用命令。
cat /proc/cpuinfo
# 查看CPU信息
uname -m
# 查看CPU架構(gòu)
cat /proc/meminfo
# 查看內(nèi)存使用情況
df -h
# 查看磁盤的使用率
uname -a
# 查看內(nèi)核信息
opkg print-architecture
# 可接受的架構(gòu)
dmesg
# 讀取內(nèi)核的日志
logread
# 讀取系統(tǒng)日志
ps -w
# 列出進(jìn)程
uptime
# 顯示運(yùn)行時(shí)間、CPU負(fù)載
vi etc/config/network
# 修改后臺(tái)地址或綁定網(wǎng)口
/etc/init.d/uhttpd restart
# Luci 重啟命令
/etc/init.d/uhttpd enable
# 開機(jī)自啟動(dòng)
/etc/init.d/uhttpd start
# 啟動(dòng)uhttpd
/etc/init.d/firewall restart
# 重啟防火墻
/etc/init.d/network restart
# 重啟網(wǎng)絡(luò)服務(wù)
reboot
# 重啟設(shè)備
opkg update
# 更新軟件包列表
opkg install ***
# 安裝軟件包
opkg remove ***
# 卸載軟件包
opkg install *.ipk
# 批量安裝軟件包
opkg [install/remove] [包名] --force-depends
# 強(qiáng)制安裝和卸載
opkg list |grep ***
# 查找軟件包
opkg list-installed
# 列出所有安裝的包
opkg info ***
# 查看包的信息
opkg files ***
# 查看包的文件
rm -f /var/lock/opkg.lock
# 清理opkg update緩存文件
fsisk -l
# 列出素所有分區(qū)表“-u”與“ -l”搭配使用,顯示分割數(shù)
fsisk -m
# 顯示菜單和幫助信息
fsisk -a
# 活動(dòng)分區(qū)標(biāo)記/引導(dǎo)分區(qū)
fsisk -d
# 刪除分區(qū)
fsisk -l
# 顯示分區(qū)類型
fsisk -n
# 新建分區(qū)
fsisk -p
# 顯示分區(qū)信息
fsisk -q
# 退出不保存
fsisk -t
# 設(shè)置分區(qū)號(hào)
fsisk -v
# 進(jìn)行分區(qū)檢查
fsisk -w
# 保存修改
fsisk -x
# 擴(kuò)展應(yīng)用,高級(jí)功能
fsisk -s
# 指定分區(qū)
fsisk -v
# 版本信息
mount –t ntfs-3g /dev/sdb1 /mnt/usb
# 掛載ntfs硬盤
sleep 30 && mount -t ntfs-3g /dev/sdb1 /mnt/sdb1
# 掛載磁盤到文件夾
iwinfo wlan0 info
# 查看無線網(wǎng)卡的信息
wifi down
wifi up
# 重啟無線服務(wù)
iw dev wlan0 scan
# 掃描熱點(diǎn)
iwinfo wlan0 assoclist
iw dev wlan0 station dump
# 查看設(shè)備連接的客戶端
passwd
# 修改登錄密碼
firstboot
# 重置命令
chmod +x ***
# 腳本賦權(quán)
nslookup www.baidu.com 202.96.69.38
# DNS查詢測(cè)試
du -s /root/* | sort -nr
# 查看文件目錄大小
ifconfig eth0 down
ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX //更改的MAC地址
ifconfig eth0 up
# 更改MAC地址
opkg install vsftpd openssh-sftp-server
/etc/init.d/vsftpd enable
/etc/init.d/vsftpd start
# 安裝 SFTP 文件傳輸
opkg 軟件包管理「建議收藏」opkg 工具 (一個(gè) ipkg 變種) 是一個(gè)用來從本地軟件倉庫或互聯(lián)網(wǎng)軟件倉庫上下載并安裝 OpenWrt 軟件包的輕量型軟件包管理器。GNU/Linux 用戶可能會(huì)對(duì) apt-get,aptitude,pacman,yum 等比較熟悉,也會(huì)看出其相似之處。它與 NSLU2 上同樣用于嵌入式設(shè)備的 Optware 也有相似之處。OPKG 沒有僅僅將軟件安裝到一個(gè)單獨(dú)的路徑(如:/opt),而…
大家好,又見面了,我是你們的朋友全棧君。
opkg 工具 (一個(gè) ipkg 變種) 是一個(gè)用來從本地軟件倉庫或互聯(lián)網(wǎng)軟件倉庫上下載并安裝 OpenWrt 軟件包的輕量型軟件包管理器。
GNU/Linux 用戶可能會(huì)對(duì) apt-get,aptitude,pacman,yum 等比較熟悉,也會(huì)看出其相似之處。它與 NSLU2
上同樣用于嵌入式設(shè)備的 Optware 也有相似之處。OPKG
沒有僅僅將軟件安裝到一個(gè)單獨(dú)的路徑(如:/opt),而是根文件系統(tǒng)上的一個(gè)完整的包管理器。它也包含了增加內(nèi)核模塊與驅(qū)動(dòng)的可能性。OPKG
有時(shí)被稱為 Entware ,但這主要是針對(duì)為嵌入式設(shè)備準(zhǔn)備的 Entware 倉庫。
opkg 必須有一個(gè)子命令參數(shù):
usage: opkg [options…] sub-command [arguments…]
其中的子命令可以是以下:
sub-command | description |
---|---|
update | 更新可用軟件包列表 |
upgrade | 升級(jí)軟件包 要升級(jí)一組軟件包,運(yùn)行 opkg upgrade 軟件包名 1 軟件包名 2 即可。 命令 opkg list-upgradable 可以獲取一個(gè)可升級(jí)軟件包的列表。 |
install <pkgs | FQDN> | 安裝一個(gè)或多個(gè)軟件包 eg: opkg install hiawatha opkg install http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/hiawatha_7.7-2_ar71xx.ipk opkg install /tmp/hiawatha_7.7-2_ar71xx.ipk |
configure | 配置一個(gè)或者多個(gè)未安裝的包 |
remove <pkgs | globp> | 移除一個(gè)或多個(gè)軟件包 |
flag | 標(biāo)記一個(gè)或多個(gè)軟件包 每次調(diào)用僅允許一個(gè)標(biāo)記。 可用標(biāo)記有: hold?noprune?user?ok?installed?unpacked |
sub-command | description |
---|---|
list [pkg | globp] | 列出可用軟件包 Package name – Version – Description |
list-installed | 列出已安裝軟件包 |
list-upgradable | 列出可升級(jí)的已安裝軟件包 |
list-changed-conffiles | 列出用戶修改過的配置文件 |
files | 列出屬于軟件包 的文件 僅適用于已安裝的軟件包 |
search <file | globp> | 列出包含 |
info [pkg | globp] | 顯示軟件包 的所有信息 |
status [pkg | globp] | 顯示軟件包 的狀態(tài) |
download | 下載軟件包 到當(dāng)前目錄 |
opkg 唯一的配置文件是 /etc/opkg.conf ,它看起來是這樣:
src/gz snapshots http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
可以配置 opkg 從本地獲取軟件包:
src/gz local file:///path/to/packagesDirectory
Barrier_breaker 使用多個(gè)倉庫,每個(gè)參考需要個(gè)唯一的標(biāo)識(shí)符。邏輯上使用倉庫原始的名稱。如:
...
src/gz base file:///path/to/packages/directory/packages/base
src/gz luci file:///path/to/packages/directory/packages/luci
src/gz packages file:///path/to/packages/directory/packages/packages
src/gz oldpackages file:///path/to/packages/directory/packages/oldpackages
... etc ...
opkg 有個(gè)不為那些 apt 系工具使用者熟悉的有用特性,它可以為任一軟件包指定安裝目的位置。
默認(rèn)的 opkg.conf 包含三個(gè)目的位置:
dest root /
dest ram /tmp
dest mnt /mnt
目的位置行的格式很簡單,關(guān)鍵字 dest 跟著目的位置名稱(可以隨便起),然后就是文件系統(tǒng)位置。任一如上配置好的目的位置都可以在 opkg 命令行中使用,如:
opkg install somepackage -d destination_name
dest 參數(shù)必須為 /etc/opkg.conf 中定義的目的位置名。如:-d ram 會(huì)將軟件包安裝到 /tmp/ 下。
ps 命令查看當(dāng)前系統(tǒng)運(yùn)行的進(jìn)程信息
free 命令查看內(nèi)存使用和 swap 掛載情況
ls 查看目錄和文件
cd 進(jìn)入退出目錄
vi 查看編輯配置文件
安裝命令:
uci set network.lan.ipaddr=[lan ip]
使用 pppoe 設(shè)置
Shell 代碼
uci set network.wan.proto=pppoe // 設(shè)置 wan 口類型為 pppoe
uci set network.wan.username=[上網(wǎng)帳戶]
uci set network.wan.password=[上網(wǎng)密碼] // 這兩行設(shè)置 pppoe 用戶名和密碼
如果要掛在上級(jí)路由下面,就需要進(jìn)行下面的設(shè)置
Shell 代碼
uci set network.wan.proto=none // 關(guān)掉 wan
uci set network.lan.gateway=[上級(jí)路由 ip] // 網(wǎng)關(guān)指向上級(jí)路由
uci set network.lan.dns=[上級(jí)路由 ip] //dns 指向上級(jí)路由
uci set dhcp.lan.ignore=1 // 關(guān)掉 lan 的 dhcp
最后對(duì)無線網(wǎng)絡(luò)進(jìn)行配置
Shell 代碼
uci set wireless.@wifi-device [0].disabled=0 // 打開無線
uci set wireless.@wifi-device [0].txpower=17 // 設(shè)置功率為 17dbm 太高會(huì)燒無線模塊
uci set wireless.@wifi-device [0].channel=6 // 設(shè)置無線信道為 6
uci set wireless.@wifi-iface [0].mode=ap // 設(shè)置無線模式為 ap
uci set wireless.@wifi-iface [0].ssid=[自己設(shè)置 SSID] // 設(shè)置無線 SSID
uci set wireless.@wifi-iface [0].network=lan // 無線鏈接到 lan 上
uci set wireless.@wifi-iface [0].encryption=psk2 // 設(shè)置加密為 WPA2-PSK
uci set wireless.@wifi-iface [0].key=[密碼] // 設(shè)置無線密碼
提交應(yīng)用配置
Shell 代碼
uci commit // 應(yīng)用
/etc/init.d/network restart // 重啟網(wǎng)絡(luò)服務(wù)
安裝 luci 管理界面
Shell 代碼
opkg update // 更新軟件列表
opkg list-installed // 查看已安裝軟件
opkg install luci // 安裝 LUCI
opkg install luci-i18n-chinese // 支持中文
luci-app-firewall - 0.10.0-1
luci-i18n-english - 0.10.0-1
luci-lib-core - 0.10.0-1
luci-lib-ipkg - 0.10.0-1
luci-lib-lmo - 0.10.0-1
luci-lib-nixio - 0.10.0-1
luci-lib-sys - 0.10.0-1
luci-lib-web - 0.10.0-1
luci-mod-admin-core - 0.10.0-1
luci-mod-admin-full - 0.10.0-1
luci-proto-core - 0.10.0-1
luci-proto-ppp - 0.10.0-1
luci-sgi-cgi - 0.10.0-1
luci-theme-base - 0.10.0-1
luci-theme-openwrt - 0.10.0-1
即可完成 LUCI 的安裝。
輸入以下命令開啟支持 web 服務(wù)的 uhttpd,并設(shè)置其為自啟動(dòng):
Shell 代碼
/etc/init.d/uhttpd enable # 開機(jī)自啟動(dòng)
/etc/init.d/uhttpd start # 啟動(dòng) uhttpd
Wifidog
你可以嘗試執(zhí)行以下命令安裝 Wifidog:
opkg update # Optional
opkg install wifidog
–sftp 安裝
opkg update
opkg install vsftpd openssh-sftp-server
/etc/init.d/vsftpd enable
/etc/init.d/vsftpd start
端口轉(zhuǎn)發(fā)命令:
通過修改 vi /etc/config/firewall 這個(gè)文件來實(shí)現(xiàn)開放自己需要的端口到外網(wǎng)。
config rule ‘httpdwan’
option src ‘wan’
option dest_port ‘8088’
option proto ‘tcp’
option target ‘ACCEPT’
option name ‘’’’httpd wan accept tcp port 8088’’’’
保存后,執(zhí)行 /etc/init.d/firewall restart 重啟防火墻。
實(shí)際上要一個(gè)應(yīng)用后臺(tái)運(yùn)行,在輸入命令的時(shí)候加上 “&” 符號(hào)就可以了,向下面
helloworld &
開機(jī)自啟動(dòng)這好像還是挺多方法的,一個(gè)是在 /etc/init.d 目錄編寫文件,一個(gè)是在網(wǎng)頁上的開機(jī)運(yùn)行腳本上加上上面后臺(tái)運(yùn)行的命令。
在 openwrt 開發(fā)板命令行中輸入
vi /etc/init.d/mystart
里面輸入如下內(nèi)容:
#!/bin/sh /etc/rc.common
START=99
STOP=15
start(){
echo start helloword
helloword &
}
stop(){
echo stop helloword
}
restart(){
echo restart helloword
}
enable(){
echo enable helloword
}
disable(){
echo disable helloword
}
命令應(yīng)該很好理解,前面 START 和 STOP 是啟動(dòng)和關(guān)閉的優(yōu)先級(jí)。
下面是另一種自啟動(dòng)腳本的寫法,應(yīng)該是差不多,注釋寫的也挺清楚了
#!/bin/sh /etc/rc.common
START=99 # 執(zhí)行的順序,按照字符串順序排序并不是數(shù)字排序
STOP=15
SERVICE=helloword
PROG=/bin/helloword
USE_PROCD=1 # 使用procd啟動(dòng)
# start_service 函數(shù)必須要重新定義
start_service()
{
echo service helloword start
procd_open_instance # 創(chuàng)建一個(gè)實(shí)例, 在 procd 看來一個(gè)應(yīng)用程序可以多個(gè)實(shí)例
# ubus call service list 可以查看實(shí)例
procd_set_param command $PROG # mycode執(zhí)行的命令是"/app/mycode", 若后面有參數(shù)可以直接在后面加上
procd_set_param respawn # 定義respawn參數(shù),告知procd當(dāng)mycode程序退出后嘗試進(jìn)行重啟
# procd_close_instance # 關(guān)閉實(shí)例
}
編寫完文件后還應(yīng)該記得改一下權(quán)限,讓腳本能夠執(zhí)行
cd /etc
chmod -R 777 init.d/mystart #設(shè)置權(quán)限,否則無法激活開機(jī)啟動(dòng),提示權(quán)限不足
使用的時(shí)候按下面輸入命令就可以,和普通服務(wù)類似
/etc/init.d/mystart enable #激活開機(jī)啟動(dòng)
/etc/init.d/mystart start #運(yùn)行start函數(shù)啟動(dòng)程序
由于這項(xiàng)目是上一家公司的時(shí)候開發(fā)的了,都快一年了,源碼都在之前公司的筆記本電腦里面,自己電腦沒源碼,就簡單講講。
先要打開 openwrt 的網(wǎng)頁控制界面,里面找到自啟動(dòng)功能,在里面的文本行中加入下面命令
helloword &
實(shí)際上使用起來,好像在網(wǎng)頁上配置的自啟動(dòng)還好一些,用配置文件寫的但是還總出錯(cuò),當(dāng)時(shí)是對(duì) 4G 上網(wǎng)模塊有影響,具體記不清了。當(dāng)時(shí)分析出錯(cuò)的原因是,用配置文件寫的命令在軟件被停止后會(huì)嘗試重新啟動(dòng),當(dāng)然如果你沒遇到這些問題,兩種方法都是可以的。
網(wǎng)上的博客一般到這里就完了,可是我當(dāng)時(shí)不想做差不多先生,我將自啟動(dòng)腳本寫到我們的源碼文件中去,在安裝的時(shí)候就給自動(dòng)弄好,簡單省事,下面看看寫法。
先編寫配置文件
這里再源碼目錄總編寫我們的自啟動(dòng)腳本文件,以上一篇的 helloword 為例
mkdir ~/openwrt/package/hellworld/auto
cd ~/openwrt/package/hellworld/auto
這里新起了一個(gè)目錄來存放我們的配置文件,內(nèi)容和上面一樣,不說了。
接下來的重點(diǎn)是編寫外層的 Makefile 文件,在復(fù)制那一段將我們的配置文件復(fù)制到 /etc/init.d/ 目錄中去
define Package/helloword /install
echo "Here is Package/install"
$(INSTALL_DIR) $(1)/bin $(1)/etc/init.d/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloword $(1)/bin/
$(INSTALL_BIN) ./auto/mystart $(1)/etc/init.d/
endef
注意這里的 $(INSTALL_BIN),復(fù)制的是二進(jìn)制文件,權(quán)限問題我忘了,如果啟動(dòng)不了,也還是按上面的方法增加運(yùn)行權(quán)限吧。
上一篇:virsh命令詳解
下一篇:沒有了!
24小時(shí)免費(fèi)咨詢
請(qǐng)輸入您的聯(lián)系電話,座機(jī)請(qǐng)加區(qū)號(hào)