當前位置:首頁 » 編程軟體 » ev編譯教程

ev編譯教程

發布時間: 2024-12-05 10:39:11

A. gevent怎麼編譯

在gevent中主要使用Greenlet,給python提供一個輕量級的協同程序,作為一個C的擴展模
塊.Greenlets主程序運行的所有系統進程是合理安排的.
這不同於任何multiprocessing或者multithreading提供的庫和POSIX線程,這是真正的並行多處理器或多線程庫提供真正的並
行結構
首先感謝https://maskv.com/technology/192.html作者給我的幫助我參考老方法編譯gevent1.0rc2成功但是無法運行Goagent最新版只能運行2.17原因就是缺少python2.7的支持現在博主給出啦方法搬過來方便大家

Tomato中python2.7+gevent1.0rc2環境的搭建

之前因為沒有搜索到在Tomato中編譯安裝gevent的教程,就自己琢磨出來Tomato中python2.6+gevent0.13.8環境的搭建方法(點擊這里查看),
文章發布之後收到了眾多的反饋。雖然Python官網當中的gevent最新版本為0.13.8,但Github上的gevent源碼已經更新到了
1.0rc2,最新版的Goagent本地客戶端也集成的是gevent1.0rc2,在整合了一些反饋之後,在自己的路由器上成功更新了python和
gevent。
首先卸載路由當中的python2.6及其相關組件,運行:

ipkg -force-removal-of-dependent-packages remove python26
rm -rf /opt/local/lib/python2.6 #若掛載路徑非/opt請自行修改
rm -rf /opt/lib/python2.6

之後更新、安裝所需要的依賴包:

ipkg update
ipkg upgrade
ipkg install busybox buildroot make grep openssl openssl-dev libuclibc++ wget-ssl python27 py27-setuptools

安裝完成之後,我們要修復幾個py27-setuptools當中的小錯誤。

首先easy_install的安裝路徑莫名其妙的指向了python2.5,不知是否只有我遇到了這個問題。修改 /opt/lib/python2.7/distutils/distutils.cfg 文件,將

1

site-dirs = /opt/local/lib/python2.5/site-packages

修改為

1

site-dirs = /opt/local/lib/python2.7/site-packages

其次easy_install的安裝臨時目錄指向了/tmp目錄,會造成安裝某些組件時tmp剩餘空間不足而導致的安裝失敗,我們要手動將其指定到掛載的U盤當中。
在/opt中創建tmp文件夾,修改 /opt/lib/python2.7/site-packages/setuptools/command/easy_install.py 文件,找到412行:

1

tmpdir = tempfile.mkdtemp(prefix="easy_install-")

將其修改為:

1

tmpdir = tempfile.mkdtemp(prefix="easy_install-",dir="/opt/tmp")

然後就可以使用easy_install安裝greenlet與cython了(此步驟花費時間奇長無比):

easy_install-2.7 greenlet
easy_install-2.7 cython
ln -s /opt/local/bin/cygdb /opt/bin/cygdb
ln -s /opt/local/bin/cython /opt/bin/cython

之後下載gevent:

cd /opt
/opt/bin/wget https://github.com/downloads/Sit ... event-1.0rc2.tar.gz --no-check-certificate
tar zxvf gevent-1.0rc2.tar.gz
cd gevent-1.0rc2

直接編譯會報錯,因為使用了mips2的sync指令,在Goagent的issues上找到了答案。心得編譯前記得開啟虛擬內存
修改 /libev/ev.c 文件,找到604行的:參考https://code.google.com/p/goagent/issues/detail?id=7823

1

#define ECB_MEMORY_FENCE __asm__ __volatile__ ("sync" : : : "memory")

修改為:

#define ECB_MEMORY_FENCE __asm__ __volatile__ (".set mips2; sync; .set mips0": : :"memory")

執行

python2.7 setup.py install

下載並安裝pyOpenSSL

cd /opt
wget http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.12.tar.gz
tar zxvf pyOpenSSL-0.12.tar.gz
cd pyOpenSSL-0.12
python2.7 setup.py install

安裝結束之後,運行Goagent可能會提示.python-eggs錯誤,我們可以手動指定緩存目錄。
修改Goagent的proxy.py文件,在:

1

import os

下一行添加:

1

os.environ['PYTHON_EGG_CACHE'] = '/opt/.python-eggs'

或者可以將 gevent-1.0rc2-py2.7-linux-mips.egg 解包:

cd /opt/local/lib/python2.7/site-packages
mv gevent-1.0rc2-py2.7-linux-mips.egg gevent-1.0rc2-py2.7-linux-mips.egg.zip
mkdir gevent-1.0rc2-py2.7-linux-mips.egg
cd gevent-1.0rc2-py2.7-linux-mips.egg
unzip /opt/local/lib/python2.7/site-packages/gevent-1.0rc2-py2.7-linux-mips.egg.zip

再次運行Goagent,應該不會再有錯誤提示了。

B. ev5000宏編譯路徑設置失敗

ev5000宏編譯路徑設置失敗可能攔肆是網路原因。在使用頌消ev5000宏時出現編譯失敗的原因是網路異常野衡知,只需更換更好的網路重新編譯即可。EV5000是一種工業嵌入式觸摸屏人機界面,具有簡單易用、強大功能及優異穩定等優點,顯示方式為65536色。

C. 用 PGP 保護代碼完整性(四):將主密鑰移到離線存儲

在本系列教程的第四部分中,我們將探討如何將主密鑰移至離線存儲,以增強PGP代碼保護的安全性。在使用PGP時,開發者需要格外小心,避免密鑰被盜或意外泄露,因為這對他們來說是極其危險的。

移除主密鑰的目的是防止密鑰失竊或意外泄露。對惡意用戶來說,私鑰具有極大吸引力。有實例顯示,惡意軟體已成功掃描用戶家目錄並上傳發現的私鑰。因此,對於開發者而言,私鑰失竊是身份證明失竊,後果嚴重。從家目錄中移除私鑰可有效防範此類事件。

在開始操作前,確保備份GnuPG目錄至關重要。備份私鑰便於在必要時恢復,這與使用paperkey進行災難級備份不同。接下來,准備一個可加密的USB驅動器,並加密它。建議使用與主密鑰相同的密碼。

加密完成後,將USB驅動器插入,並確保其正常掛載。使用`mount`命令查找設備掛載點的全路徑。將整個GnuPG目錄復制到該位置。注意,可能遇到套接字不支持的錯誤,無需擔心,忽略即可。測試系統以確認一切正常。將USB驅動器取出並貼上標簽,存放到安全但不遠離的地方。從此,你需要偶爾使用它來編輯身份信息、添加或吊銷子證書、或簽署他人的密鑰。

在移除主密鑰前,請確保已有完整的GnuPG目錄備份。沒有可用備份可能會導致主密鑰失效。首先,識別主密鑰的keygrip,它與家目錄下的`.gnupg`目錄下的一個文件一致。使用`ls`命令列出文件,並查找與主密鑰keygrip匹配的`.key`文件。刪除此文件後,運行`--list-secret-keys`命令,將顯示主密鑰丟失(#表示不可用)。此時,主密鑰已成功刪除。

除了主密鑰,還需刪除吊銷證書。確保備份中包含該文件,然後將其刪除。吊銷證書允許某些人永久標記證書為吊銷狀態,這意味著它在任何用途中將不再被使用或信任。這通常用於標記因某種原因不再受控的密鑰,如丟失密鑰密碼。刪除吊銷證書後,可有效保護開發者數字身份。

在下一篇文章中,我們將討論如何保護子密鑰。敬請期待。

通過來自Linux基金會和edX的免費課程「Linux入門」學習更多Linux知識。

來源:linux.com/blog/learn/pg...

作者:Konstantin Ryabitsev 譯者:qhwdw 校對:wxy

本文由LCTT原創編譯,Linux中國榮譽推出

熱點內容
3dmax把兩個文件夾 發布:2025-01-06 17:59:17 瀏覽:320
資料庫系統的應用使數據與程序 發布:2025-01-06 17:59:08 瀏覽:682
安卓系統跟蹤記錄文件怎麼加入 發布:2025-01-06 17:58:33 瀏覽:476
初中信息編程 發布:2025-01-06 17:54:14 瀏覽:270
js是編譯還是逐行 發布:2025-01-06 17:53:37 瀏覽:530
html5讀取本地文件夾 發布:2025-01-06 17:47:54 瀏覽:633
sqlserver2008實戰 發布:2025-01-06 17:47:54 瀏覽:339
銀河輔助腳本 發布:2025-01-06 17:47:11 瀏覽:716
平板如何在設置中查看帳號密碼 發布:2025-01-06 17:42:57 瀏覽:513
為什麼國際體驗服伺服器爆滿了 發布:2025-01-06 17:38:16 瀏覽:814