2016-02-29 129 views
1

我需要爲基於Linux的中文考勤時鐘添加新功能。更具體地說,我需要使它具有SNMP能力,這在工廠默認情況下是不可用的。 經過一番研究,我發現了一個登錄名:密碼,用於TelNet登錄,並以root權限進入系統。在嵌入式Linux中安裝rpm或dpkg而無需包管理器

我做的第一件事就是要弄清楚的Linux發行版是它運行的: 貓的/ etc /問題拋出這個:

「PXA Linux的預覽工具 內核2.6.29上armv5tejl」

我做了一個快速谷歌搜索,發現 「PXA Linux是基於PXA的基於處理器的設備和機器的Linux內核的端口。」 我不明白爲什麼它在armv5tejl上運行PXA Linux預覽工具包。 我給沒有重視這一事實,到了下一個步驟:發現其包管理器有這個系統:

我試了幾個命令: apt-get的,能力傾向,轉速,dpkg的,百勝,slapt-得到, ipkg和其他幾個。他們都沒有工作。

我發現系統安裝了Busybox。更具體地說,BusyBox 1.15.3。在這個BusyBox中我找不到任何這些命令。我發現BusyBox確實實現了rpm和dpkg,但是這個版本並沒有。 我發現的似乎是「軟件安裝相關」的唯一命令是「安裝」命令。從BusyBox的文檔:

「安裝[-cdDsp] [-o USER] [-g GRP] [-m模式] [來源] DEST |目錄

複製文件和設置屬性」

但可能它並沒有取代包管理器工具。我認爲我需要安裝dpkg或rpm的方法,然後使用它們來安裝我想要的SNMP軟件包。據我所知,最低級別的軟件包安裝工具是dpkg,所以我不知道從哪裏開始。

有人可以給我一些關於如何解決這個問題的建議嗎?我怎樣才能安裝一個沒有包管理器可能性的包?

回答

1

您將無法通過軟件包管理器將其他軟件安裝到該系統。這樣的設備不是那樣設計的。隨設備一起提供的固件全部存在。設備製造商使用通用Linux軟件維護軟件包存儲庫的動機是什麼?

但並非所有的希望都失去了。您當然可以嘗試自己編譯所需的軟件(並通過擴展固件)。爲了達到這個目的,你需要一個合適的ARM交叉編譯器(GCC)。通過靜態鏈接,您的SNMP軟件包將不會與設備上已存在的庫版本有任何依賴關係(因此您不需要與設備上的庫匹配的sysroot)。

+0

這是我認爲我必須嘗試的另一種方法。我只有一個關於這個過程的問題。通過包管理器工具安裝SNMP代理可能會通過多種方式配置底層SO,以使SNMP工具按預期工作。我想知道,如果單獨的Linux可執行文件(我將從交叉編譯過程中獲得)足以實現我所嘗試的。任何線索? – emilianop11