當前位置:首頁 » 編程軟體 » deb腳本

deb腳本

發布時間: 2022-10-20 16:18:46

㈠ deb文件怎麼安裝到iphone

deb的安裝方法大體有5種:
Cydia或同類APT管理軟體在線安裝,這個是最佳的安裝方式,因為通常無需考慮依賴關系,但缺點是對網路的要求比較高;命令行中以dpkg-iXXX.deb的形式安裝,好處是可以以通配符一次性安裝多個deb,而且也可以直接看到腳本的運行狀況和安裝成功/失敗的提示信息,缺點是需要命令行軟體的支持,如Putty/WinSCP的控制台/iSSH/MobileTerminal,很多人也不熟悉命令行下的操作。另外,安裝完後會不顯示圖標;
放置於AutoInstall目錄重啟安裝。該方法實際是Cydia提供的一個啟動腳本,在每次系統啟動時以dpkg命令安裝AutoInstall目錄下的deb,好處是不需要命令行操作,缺點是必須要重啟,有些甚至要重啟兩次,也會出現不顯示圖標的情況;利用iFile安裝,好處是圖形化操作,桌面會顯示圖標,缺點是不能一次安裝多個deb;用CyderII等軟體來安裝,其原理是模擬一個APT軟體管理器來下載相應的deb文件並傳到設備,然後以前面幾種方式來安裝。
總體來說,deb的安裝都是依賴於dpkg-i命令來安裝,只不過有些是在命令行下輸入命令,有些是提供了圖形界面。但除了Cydia安裝一種方式之外,其餘幾種安裝方式都存在一些共有的問題:
不會自行搜索依賴關系,必須手動提供所依賴的deb;Cydia會讀取安裝腳本里的一些特殊語句,比如僅在全新安裝時執行而不在升級時執行,安裝完成後重啟SpringBoard或設備等等。當然了,deb軟體的卸載也比較簡單,有三種方式:
Cydia里卸載,優點是卸載過程和提示信息很詳細,全圖形界面操作,同時也提供了重新安裝的選項;
以dpkg-rPackage_ID命令或dpkg-PPackage_ID命令來卸載(詳情後面會說);Cydelete來卸載,優點是可以直接在桌面上卸載有圖標的軟體,但對那些沒有圖標的無能為力。其實,不管是安裝還是刪除,都可以才要全手動的方法。即,解包deb之後,自己將文件放到相應位置,然後設置許可權等並執行腳本。但這樣有必要麼?
deb的安裝過程如下:
讀取資料庫並鎖定,避免同時有兩個安裝程序在運行讀取control中的Package(軟體包標識)和版本信息,並搜索資料庫,若已存在,則卸載之後再安裝;檢查Depends,Pre-Depends,Conflicts和Replaces,如果檢測到已存在Conflicts中存在的軟體,則報錯並終止安裝。如未找到Pre-Depends指定的軟體,則報錯並終止安裝。如找到Replaces中指定的軟體,則卸載之;
將數據寫入/var/lib/dpkg/status文件中;
執行preinst腳本(如果有);
解包data.tar.gz,將文件放置於相應位置,並將文件列表寫入/var/lib/dpkg/info/XXX.list;
運行postinst和extrainst_腳本(如果有);
如果之前的安裝都沒有出錯,即安裝成功,那麼會在status文件中寫入Status:installokinstalled信息,否則會寫入其它狀態數據,比如Unpacked(未解包數據)、Failed-config(腳本未能成功執行)、Half-installed(安裝失敗等);重新載入資料庫並解除鎖定。

linux下的腳本文件能打包成deb文件嗎

能的,你該不會是要製作木馬吧

㈢ ubuntu下的腳本文件可以製作deb包嗎如何製作

沒明白什麼意思。是用腳本來打包deb,還是把腳本文件打包成deb。
deb文件的構成一般分為兩部分,一部分是文件的驗證,另一部分就是路徑比如說deb裡面有/usr/xxx.bin 就是把deb包裡面的釋放到本機對應的裡面。
不用腳本就可以打包deb,使用dpkg命令配合dh_make來打包。網路下「linux deb打包」來獲取更多

㈣ 如何修改的別人的deb

DEB安裝包是使用於DEBIAN系統,如iOS、ubuntu。需要有dpkg-deb命令,Ubuntu/Debian 系統自帶此命令,Mac OS X 下需安裝Fink
Fink 下載頁面:http://www.finkproject.org/download/

解包DEB:dpkg-deb -x deb文件名.deb tmp
此命令是將deb解包至tmp文件夾
將DEB控制腳本(control)解壓至tmp/DEBIAN文件夾(DEBIAN需是大寫):dpkg-deb -e deb文件名.deb tmp/DEBIAN
以dpkg-deb -x 和- e 命令解包deb會保留文件的屬性/許可權/用戶/組等信息。
通常竊取默認cydia源的免費DEB安裝包,都需要修改control的package,否則安裝cydia源後不會顯示
那麼修改完後,就准備打包DEB安裝包,安全起見先把DEBIAN文件夾和裡面的文件屬性設為0755:chmod -R 0755 tmp/DEBIAN
最後就是打包命令,gz格式壓縮:dpkg-deb -b 文件夾 希望打包後的名字.deb
bzip2格式壓縮:dpkg-deb -bZ bzip2 文件夾 希望打包後的名字.deb

㈤ 做了個軟體,需要把4個deb包以及一些命令集成,做成一個deb包安裝

當然是可以的,發放如下:
在終端中將4個deb用dpkg -u命令解包到4個目錄下
再手動把4個目錄下的文件合並到./1234,可以修改一下/DEBIAN下的deb自述文件
完成合並之後,在終端中使用dpkg -b ./1234 ./new.deb。即可生成deb

希望我的回答對你有幫助,有問題就追問吧^ω^

㈥ 單個執行文件怎麼打包成deb[已解決]7樓careone正解!

1 下載一個其他的 deb 軟體包,解壓縮後得到2個壓縮包: data.tar.gz , control.tar.gz;
2 解壓 control.tar.gz ,得到 control 文件(在這個文件中修改軟體包依賴關系),刪除另外的 md5sums 文件;
3 把自已的文件放在 /usr/local/bin/xxx 文件;
----------------
近來我沒有在linux平台上工作,以後有機會,可以幫你打包deb
sudo mkdir -vp /root/deb-src/xxx/usr/local/bin/ 這里放腳本文件
sudo mkdir -vp /root/deb-src/xxx/DEBIAN/ 這里放 control 文件
sudo mkdir -vp /root/deb-src/xxx/usr/share/pixmaps/ 這里放程序圖標,建議png格式;
sudo mkdir -vp /root/deb-src/xxx/usr/share/applications/ 這里放程序快捷方式 xxx.desktop 文件,可參照其它類似文件;
sudo mkdir -vp /root/deb-ok/
cp xxx /root/deb-src/xxx/usr/local/bin/xxx
cd /root/deb-src/xxx/
sudo dpkg -b . /root/deb-ok/xxx_1.0_all.deb
打包完成後,再解壓上面打出的deb軟體包,檢查以上文件和文件夾的許可權,
文件夾許可權一般為777,可執行文件xxx 許可權為 755;文件夾和文件所有者都是root;
有異常,修復後重新打包。

㈦ deb文件是什麼deb包是什麼

由於Unix類系統對許可權、所有者、組的嚴格要求,而deb格式安裝包又經常會涉及到系統比較底層的操作,所以許可權等的設置尤其重要。 deb包本身有三部分組成: 數據包,包含實際安裝的程序數據,文件名為data.tar.XXX;安裝信息及控制腳本包,包含deb的安裝說明,標識,腳本等,文件名為control.tar.gz; 最後一個是deb文件的一些二進制數據,包括文件頭等信息,一般看不到,在某些軟體中打開可以看到。deb本身可以使用不同的壓縮方式。tar格式並不是一種壓縮格式,而是直接把分散的文件和目錄集合在一起,並記錄其許可權等數據信息。之前提到過的data.tar.XXX,這里XXX就是經過壓縮後的後綴名。deb默認使用的壓縮格式為gzip格式,所以最常見的就是data.tar.gz。常有的壓縮格式還有bzip2和lzma,其中lzma壓縮率最高,但壓縮需要的CPU資源和時間都比較長。 data.tar.gz包含的是實際安裝的程序數據,而在安裝過程中,該包里的數據會被直接解壓到根目錄(即/),因此在打包之前需要根據文件所在位置設置好相應的文件/目錄樹。而control.tar.gz則包含了一個deb安裝的時候所需要的控制信息。一般有5個文件: control,用了記錄軟體標識,版本號,平台,依賴信息等數據; preinst,在解包data.tar.gz前運行的腳本; postinst,在解包數據後運行的腳本; prerm,卸載時,在刪除文件之前運行的腳本; postrm,在刪除文件之後運行的腳本; 在Cydia系統中,Cydia的作者Saurik另外添加了一個腳本,extrainst_,作用與postinst類似。 deb的特點: 豐富的資源:Cydia上本身就不少,更何況任何格式的安裝包都可以轉換為deb。相對方便的在線購買模式:CydiaStore,不過盡管沒有AppStore的5台設備的限制,但對國內用戶來說,付款方式比較困難。破解難度較大,沒有使用AppStore的驗證方式,所以必須將驗證和防破解措施加入程序裡面,這樣就比較難破解,對軟體開發者來說是個好事。完善的Unix文件系統支持:無需以命令設置文件的許可權、所有者和用戶組(當然也可以以腳本來設置)。 完善的腳本支持:5個腳本依照安裝和卸載的先後順序執行,可以提供更多選擇。比如備份還原操作,可以在preinst中備份文件,而在postrm中還原文件,嚴格的依賴關系:deb遵循嚴格的依賴關系(於Depends和Pre-Depends指定),可以確保軟體運行所必需的組件。在線安裝的時候會自動安裝所依賴的軟體包。卸載時也很重要,比如軟體包A依賴於B,當卸載B的時候會提示A依賴於B,卸載掉B的話會導致A不能用,這樣可以確保系統的完整性和穩定性。 完全許可權:由於deb必須以最高許可權root的身份運行,deb可以對系統任何位置進行操作,換句話說,deb擁有對整個系統的完全控制,因此deb安裝包軟體可以實現很多ipa不能實現的功能。相對簡單的獲取方式(在線或離線)和安裝方式,也不用擔心在不同機器上同步會刪掉程序的問題。

㈧ 如何製作deb安裝文件

製作deb文件需要有dpkg-deb命令,Ubuntu/Debian 系統自帶此命令,越獄過的 iPhone OS 也有此命令,Mac OS X 下需安裝Fink,Windows 下需安裝 Cygwin。

以上系統中,iPhone OS最適合用來打包deb文件,因為iPhone OS上的用戶/組設置與所需要的設置是完全一致的。但因為iPhone/iPod Touch畢竟是手持設備,處理性能比不上電腦,在打包體積較大的deb文件時需要很長時間,有可能會導致失去連接或者SpringBoard崩潰。而且在WinSCP中涉及文本修改的部分,如果文本含有中文的話,編碼是個問題(不會保存為UTF-8)。
Ubuntu/Debian 是 deb 文件系統的原生系統,在兼容性和處理性能上最好,但問題在於,Ubuntu/Debian 沒有 iPhone OS 上的一些用戶和組,最典型的就是wheel、mobile組和mobile用戶。
Mac OS X的問題跟 Ubuntu/Debian 差不多,沒有mobile用戶/組,而且需要裝 Fink 才能支持 deb。
Windows的問題最多,Cygwin體積超大不說,使用起來還很麻煩,加上 Windows 的文件系統和 Unix 標准完全不同,且 Windows 下會面臨更嚴重的編碼問題,所以不推薦用 Windows 來打包。

不管是哪個系統,打包 deb 的方法是一樣的,只是在某些地方對於某些系統需要特別注意。

一個 deb 安裝包由兩個部分組成,一個是安裝控制/識別信息,另外一個就是實際的程序文件。

用7-zip或Linux下的存檔管理器打開 deb 文件,其中安裝控制/識別信息儲存在 control.tar.gz 裡面,而 data.tar.xxx 則儲存了程序數據。

解包deb文件
引用
有時候不是需要製作一個全新的deb,而是需要修改現有的deb,那麼第一步就是解包。假設deb的文件名是abc_1.0.deb

那麼解包命令是
復制代碼
dpkg-deb -x abc_1.0.deb tmp

復制代碼
dpkg-deb -e abc_1.0.deb tmp/DEBIAN

第一個命令是用於解壓出實際數據到tmp目錄下,後一個命令是解壓出安裝控制腳本到tmp/DEBIAN目錄下,此處必須是大寫的DEBIAN。
可以看到在tmp目錄下出現了實際數據和DEBIAN目錄。

以dpkg-deb -x 和- e 命令解包deb會保留文件的屬性/許可權/用戶/組等信息。

關於dpkg-deb的命令,可以輸入
復制代碼
dpkg-deb --help

進入DEBIAN目錄,可以看到有一個control文件,無後綴名,這個文件就是用來記錄deb的安裝信息。有時候還可以看到postinst,preinst,prerm,postrm,extrainst_這些文件,這些文件是deb安裝的時候執行的腳本(類似於Windows下的批處理文件)。

另外一種解包deb的方法就是用7-zip或者存檔管理器之類的軟體直接解包到指定目錄,但這樣不會保留文件的屬性/許可權/用戶/組等信息,因此除非這些信息不重要,或者這些信息是通過腳本來設置,否則不推薦使用該種方法。如果只是要提取某些文件的話倒是可以用,省事一些。

准備打包deb的目錄/文件
引用

如果是解包已有的deb,那麼目錄已經配置好了。如果是新建一個deb,需要有一個主目錄,這里以tmp為例,在tmp目錄下新建一個目錄,DEBIAN。

完成deb數據配置
引用

將程序文件放在tmp目錄下。放置規則是,假如在iPhone OS上一個文件是 /Applications/ABC.app/ABC,那麼就在 tmp 目錄下依次新建目錄Applications,ABC.app,然後把ABC放在ABC.app下。其餘文件和目錄也是一樣的放置。

這里要注意的是文件的屬性/許可權/用戶/組的問題,當然前提是知道文件的屬性和許可權等信息。

通常來說,可執行文件,比如應用程序的可執行文件,腳本等,屬性需設為0755或更高(0775或0777),/var/mobile/下的絕大部分文件/文件夾的用戶/組需設為mobile等。

要設置文件/文件夾的許可權/屬性,使用命令
復制代碼
chmod ABCD XXX
這樣的格式,ABCD為需要的屬性/許可權,比如0644,0755等,一般來說,可行性文件需要設為0755(0775和0777大部分情況下是用不上的,有些特殊的需要設為4755等),其它文件默認就是0644(不可執行),XXX是文件名,可以加上路徑。

要設置文件/文件夾的用戶/組,使用命令
復制代碼
chown user:group XXXX
其中user是需要設置的用戶,group是組。最常用的是root:wheel和mobile:mobile。
注意:
1. 如果當前用戶是非root帳戶,如果要將文件的用戶/組設為root,需要使用sudo命令來提示許可權。
2. 如果要遞歸設置以上信息,可以使用 -R 參數。比如要將tmp目錄下的所有子目錄和文件設為0755及root:wheel,可以使用命令
復制代碼
chmod -R 0755 tmp
chown -R root:wheel tmp


關於文件/文件夾的屬性/許可權/用戶/組的更多說明:
因為deb打包是先將所有的文件/文件夾歸檔為tar文件之後再壓縮,因此文件/文件夾的屬性/許可權/用戶/組這些信息會被保留下來,因此如果直接設置好了以後再打包deb的話就不需要通過postinst之類的控制腳本來設置許可權等信息。
如果無法直接設置屬性/用戶/組等信息,通常需要在postinst腳本里加入設置屬性/許可權/用戶/組的命令
如果deb中的目錄是在iPhone OS本身就有的,那麼不需要另外設置屬性/許可權/用戶/組等,即使現有的和需要的不一樣。因為deb安裝不會替換原有文件夾的數據。比如/Applications目錄是root:admin,而要打包的deb中該目錄是ABC:DEF,那麼不需要修改ABC:DEF
尤其要注意的是mobile:mobile
Ubuntu/Debian上雖然沒有wheel組,但是root:root在iPhone上會自動轉為root:wheel,所以如果是准備將root:root變為root:wheel,那麼可以保留root:root就可以了。
理論上來說,在無安裝腳本設置用戶/組的前提下,如果不涉及mobile:mobile的用戶/組,全部操作都可以直接在Ubuntu/Debian和Mac OS X上完成

編譯deb 怎麼寫control

由於Unix類系統對許可權、所有者、組的嚴格要求,而deb格式安裝包又經常會涉及到系統比較底層的操作,所以許可權等的設置尤其重要。
deb包本身有三部分組成:
數據包,包含實際安裝的程序數據,文件名為data.tar.XXX;安裝信息及控制腳本包,包含deb的安裝說明,標識,腳本等,文件名為control.tar.gz;

熱點內容
便宜的免費雲伺服器 發布:2025-05-17 11:08:50 瀏覽:775
中國頂級dhcp解析伺服器地址 發布:2025-05-17 11:06:27 瀏覽:32
php轉義html 發布:2025-05-17 11:04:00 瀏覽:566
鋼筋籠加密區規范 發布:2025-05-17 10:59:50 瀏覽:3
我的世界網易手機版主播伺服器房號 發布:2025-05-17 10:40:59 瀏覽:226
豎編譯 發布:2025-05-17 09:56:08 瀏覽:227
編程畫飛機 發布:2025-05-17 09:54:03 瀏覽:801
手機如何解鎖密碼屏幕鎖怎麼刪除 發布:2025-05-17 09:52:04 瀏覽:123
網路無法訪問網頁 發布:2025-05-17 09:51:40 瀏覽:649
雲存儲box估值 發布:2025-05-17 09:47:11 瀏覽:512