国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Linux下qt軟件安裝打包附帶問題: dpkg: error processing package xxxx +解決方式+自我嘗試+記錄】

這篇具有很好參考價值的文章主要介紹了【Linux下qt軟件安裝打包附帶問題: dpkg: error processing package xxxx +解決方式+自我嘗試+記錄】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、前言

  • 第一篇:使用linuxdeployqt軟件生成
  • 第二篇:桌面文件.desktop,文件編寫與軟件圖標(biāo)
  • 第三篇:打包生成安裝的包(.deb)

記得之前 學(xué)會了使用linuxdeployqt軟件生成,打包,已經(jīng)安裝等各種細(xì)節(jié),使用一個“test demo” 工程樣例,來實現(xiàn)以及說明相關(guān)操作流程。但是后在使用的時候,發(fā)現(xiàn)使用apt-get install 安裝一些軟件的時候,dpkg報了錯誤。就是受到了樣例工程影響,本次為記錄相關(guān)方式,以及自己努力方式。

2、實驗環(huán)境

實驗環(huán)境還是挺重要的,因為有時候,在你電腦上能運(yùn)行的東西,在別人的電腦就不一定能運(yùn)行,這一部分的原因就可能是實驗版本不一樣,另外也發(fā)現(xiàn)其他小伙伴,也會問些問題,之前有人大致環(huán)境裝的和我差不多,當(dāng)時是win的環(huán)境,結(jié)果編譯遇到問題,就跑過來問是不是環(huán)境不對,這還是要具體問題具體分析的,當(dāng)時看了看,發(fā)現(xiàn)是其他問題,總的來說,環(huán)境還是挺重要的。
系統(tǒng)環(huán)境:
環(huán)境問題還是要注意下的,不同環(huán)境下可能還真的可能不一樣。
dpkg: error processing package linux-image-6.5.0-27-generic (--remove): inst,qt,Linux,工具使用,linux,數(shù)據(jù)庫,服務(wù)器

QT軟件版本環(huán)境: Linux qt環(huán)境

dpkg: error processing package linux-image-6.5.0-27-generic (--remove): inst,qt,Linux,工具使用,linux,數(shù)據(jù)庫,服務(wù)器

3、問題說明

如下圖所示,在安裝一個包名為“v4l-utils” 的視頻捕捉相關(guān)設(shè)備的時候,報錯如下。
dpkg: error processing package linux-image-6.5.0-27-generic (--remove): inst,qt,Linux,工具使用,linux,數(shù)據(jù)庫,服務(wù)器

robot@robot-xxx:~/Downloads$ sudo apt install v4l-utils -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libv4l2rds0
The following packages will be REMOVED:
  test
The following NEW packages will be installed:
  libv4l2rds0 v4l-utils
0 upgraded, 2 newly installed, 1 to remove and 116 not upgraded.
1 not fully installed or removed.
Need to get 0 B/602 kB of archives.
After this operation, 1,750 kB of additional disk space will be used.
(Reading database ... 299473 files and directories currently installed.)
Removing test (0.1.0) ...
rm: cannot remove '/usr/share/applications/test1_hello.desktop': No such file or
 directory
rm: cannot remove '/root/Desktop/test1_hello.desktop': No such file or directory
dpkg: error processing package test (--remove):
 installed test package post-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
 test
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

看習(xí)慣了Linux相關(guān)問題后,漸漸能夠理解哪部分使我們需要內(nèi)容了,主要是下內(nèi)容。

rm: cannot remove '/usr/share/applications/test1_hello.desktop': No such file or
 directory
rm: cannot remove '/root/Desktop/test1_hello.desktop': No such file or directory
dpkg: error processing package test (--remove):
 installed test package post-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
 test
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

上述問題主要是我們之前的demo test工程,有兩個文件移除失敗,到時dpkg錯誤太多,無法運(yùn)行。

這個問題出現(xiàn)在嘗試使用apt或dpkg安裝、更新或移除軟件包時。具體來說,當(dāng)嘗試安裝v4l-utils軟件包時,apt也嘗試移除名為test的軟件包。在移除test軟件包的過程中,其postrm(post-removal script)腳本遇到了錯誤,因為它試圖刪除不存在的文件(/usr/share/applications/test1_hello.desktop和/root/Desktop/test1_hello.desktop),導(dǎo)致腳本返回了錯誤狀態(tài)1,從而使整個處理過程中斷。

4、我的努力與查到解決的方式

(1)補(bǔ)充兩個文件,讓軟件正常執(zhí)行

既然大致理解了,出現(xiàn)問題的原因,那么移除兩個文件失敗,首先就是能想到的,假裝這兩個文件,補(bǔ)充其全這兩個文件,然后正常執(zhí)行刪除流程。
實際在對應(yīng)位置嘗試了

/usr/share/applications/
/root/Desktop/

創(chuàng)建文件命令如下

sudo vim test1_hello.desktop

在目錄創(chuàng)建后,確實解決了此問題。

/usr/share/applications/test1_hello.desktop

但是如下目錄卻有些問題,實際自己發(fā)現(xiàn)沒有這個目錄,并且要是進(jìn)入此目錄,需要進(jìn)入su模式。

/root/Desktop/test1_hello.desktop

嘗試過后,此方式并沒有解決。

(2)嘗試修復(fù)dpkg狀態(tài)

1、使用如下命令,這個命令嘗試強(qiáng)制移除test軟件包,即使它的狀態(tài)被標(biāo)記為重新安裝請求(reinstreq)。

sudo dpkg --remove --force-remove-reinstreq test

2、清理和更新軟件包狀態(tài)

sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get update

3、之后再次嘗試安裝軟件

sudo apt-get install v4l-utils -y

發(fā)現(xiàn)依然不行。

(3)網(wǎng)上的查到解法-修復(fù)。

主要是使用如下兩個命令,

dpkg-reconfigure -a
apt-get -f install

兩個命令解釋如下。

命令:dpkg-reconfigure -a

  1. dpkg-reconfigure 是一個用于重新配置一個已安裝的包的命令。如果某個軟件包在安裝時有配置步驟,使用 dpkg-reconfigure 可以重新啟動這些配置步驟,讓用戶可以更改之前的選擇。
  2. -a 選項告訴 dpkg-reconfigure 命令重新配置所有已安裝的包。這個操作可能會非常耗時,因為它會遍歷系統(tǒng)上所有已安裝的包,并且對于那些有配置選項的包,會重新啟動其配置過程。
  3. 這個命令通常在包的默認(rèn)配置需要修改,或者在一些特殊情況下,如配置文件損壞或更改后需要還原時使用。

命令:apt-get -f install

  1. apt-get 是Debian及其衍生系統(tǒng)中的軟件包管理工具,用于安裝、更新、升級和刪除軟件包。
  2. -f 選項,也就是 --fix-broken 的簡寫,用于修復(fù)因依賴關(guān)系問題而未能正確安裝的包。這個命令會嘗試自動修復(fù)這些問題,通過安裝缺失的依賴、重新配置包或者在必要時刪除有問題的包來達(dá)到這個目的。
  3. install 沒有緊隨包名時,意味著 apt-get -f install 將不會安裝新的軟件包,而是專注于修復(fù)現(xiàn)有的軟件包安裝問題。

如下是參考連接,可能因為網(wǎng)絡(luò)限制無法訪問。

https://askubuntu.com/questions/603493/apt-get-dependency-issue-open-ssh-client
dpkg: error processing package linux-image-6.5.0-27-generic (--remove): inst,qt,Linux,工具使用,linux,數(shù)據(jù)庫,服務(wù)器

嘗試后發(fā)現(xiàn)以下方式也不行。

5、解決方式-致謝

最后參照了CSDN上的方式,這種方式解決的,自己理解是刪除了相關(guān)記錄的文件。
參考文章:https://blog.csdn.net/qq_39029221/article/details/120193413

命令:

sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/ 
sudo mkdir /var/lib/dpkg/info/ 
sudo apt-get update
sudo apt-get -f install

dpkg: error processing package linux-image-6.5.0-27-generic (--remove): inst,qt,Linux,工具使用,linux,數(shù)據(jù)庫,服務(wù)器

6、補(bǔ)充-postrm文件寫法

如下是之前參考第三章里的連接。
之前為了方便porstrm我們寫的比較方便,但是它其實是postinst的逆過程,我們將postrm里內(nèi)容更新,不再出上述錯誤。

#!/bin/sh

# 刪除應(yīng)用程序啟動器目錄中的.desktop文件
rm -f /usr/share/applications/test-my-demo.desktop

# 嘗試刪除當(dāng)前用戶的桌面目錄中的.desktop文件
DESKTOP_DIR="$HOME/Desktop"
if [ -f "$DESKTOP_DIR/test-my-demo.desktop" ]; then
    rm -f "$DESKTOP_DIR/test-my-demo.desktop"
fi

# 嘗試刪除其他可能的位置中的.desktop文件
# 注意:在卸載包時,$SUDO_USER可能不會被正確設(shè)置,特別是在圖形界面下的卸載過程中
# 如果可能,嘗試檢測并刪除所有潛在用戶桌面上的文件

# 刪除 /home 下所有用戶桌面目錄中的.desktop文件
for dir in /home/*; do
    if [ -d "$dir/Desktop" ] && [ -f "$dir/Desktop/test-my-demo.desktop" ]; then
        rm -f "$dir/Desktop/test-my-demo.desktop"
    fi
done

# 如果是以root用戶運(yùn)行,嘗試刪除root的桌面目錄中的.desktop文件
if [ -f "/root/Desktop/test-my-demo.desktop" ]; then
    rm -f "/root/Desktop/test-my-demo.desktop"
fi

exit 0

注意點:

  1. 權(quán)限問題:確保postrm腳本有適當(dāng)?shù)臋?quán)限執(zhí)行刪除操作。這可能需要軟件包在卸載時具有root權(quán)限。
  2. 用戶目錄的處理:由于 H O M E 和 HOME和 HOMESUDO_USER在postrm腳本中可能不可靠,特別是在圖形界面環(huán)境下,腳本嘗試遍歷/home/*目錄來尋找所有用戶的桌面目錄并嘗試刪除.desktop文件。這種方法可能會刪除多個用戶的桌面快捷方式,需要謹(jǐn)慎使用。
  3. 桌面目錄的存在性:腳本檢查桌面目錄是否存在,并且.desktop文件是否真的在那里,然后才進(jìn)行刪除操作。
  4. 錯誤處理:使用-f選項調(diào)用rm以避免因文件不存在而產(chǎn)生錯誤信息。
  5. 這個postrm腳本是一個基礎(chǔ)的實現(xiàn),根據(jù)實際情況可能需要進(jìn)一步的定制化。特別是對于多用戶環(huán)境,可能需要更細(xì)致地處理每個用戶的情況。

7、總結(jié)

細(xì)微之處還不能全部理解,一點點踩坑多使用。文章來源地址http://www.zghlxwxcb.cn/news/detail-851736.html

到了這里,關(guān)于【Linux下qt軟件安裝打包附帶問題: dpkg: error processing package xxxx +解決方式+自我嘗試+記錄】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • linux安裝edge時出現(xiàn)dpkg依賴問題

    安裝包下載地址 微軟Edge(deb) 微軟Edge(rpm) 執(zhí)行如下命令 再次執(zhí)行安裝命令,安裝成功

    2024年02月09日
    瀏覽(25)
  • 【ubuntu】手把手教你解決ubuntu報錯openssh-server E: Sub-process /usr/bin/dpkg returned an error code (1)

    【ubuntu】手把手教你解決ubuntu報錯openssh-server E: Sub-process /usr/bin/dpkg returned an error code (1)

    ??博__主??:米碼收割機(jī) ??技__能??:C++/Python語言 ??公眾號??:測試開發(fā)自動化【獲取源碼+商業(yè)合作】 ??榮__譽(yù)??:阿里云博客專家博主、51CTO技術(shù)博主 ??專__注??:專注主流機(jī)器人、人工智能等相關(guān)領(lǐng)域的開發(fā)、測試技術(shù)。 (這報錯真TM煩人) Setting up openssh-serve

    2024年02月04日
    瀏覽(20)
  • Linux軟件包管理工具-dpkg

    目錄 前言 一、什么是.deb 二、安裝軟件包 三、卸載軟件包 四、查詢軟件包狀態(tài) 五、查詢已安裝的軟件包列表 六、解決依賴問題 前言 dpkg是Debian和Ubuntu等Linux發(fā)行版中用于管理軟件包的基本包管理工具 dpkg的一些常用命令,通過這些命令,你可以有效地管理你的Linux系統(tǒng)上的

    2024年02月16日
    瀏覽(23)
  • Linux 打包Qt程序到無Qt環(huán)境Linux系統(tǒng)下運(yùn)行,問題記錄

    Linux 打包Qt程序到無Qt環(huán)境Linux系統(tǒng)下運(yùn)行,問題記錄

    Linux 環(huán)境下Qt開發(fā)的攝像頭程序用到了opencv的庫,需要跟Qt環(huán)境一起打包。 1.打包所有關(guān)聯(lián)庫用的是腳本程序。 2.新建空文件夾放入編譯好的release qt程序,比如攝像頭程序 camera,新建打包腳本copylib.sh放在文件夾下。 ? 3.終端執(zhí)行?./copylib.sh camera 會打包 camera程序所需的關(guān)聯(lián)庫。

    2024年02月16日
    瀏覽(27)
  • Linux下打包發(fā)布QT程序,并運(yùn)行在其他沒有安裝QT環(huán)境的linux系統(tǒng)上

    Linux下打包發(fā)布QT程序,并運(yùn)行在其他沒有安裝QT環(huán)境的linux系統(tǒng)上

    一、Linux下打包發(fā)布步驟如下 編譯應(yīng)用程序環(huán)境:ubuntu18.04版本 開發(fā)環(huán)境:Qt5.14.2 編譯環(huán)境:gcc_64 要移植的電腦:ubuntu18.04版本,沒有開發(fā)環(huán)境 第一步:打包依賴庫 1、創(chuàng)建一個打包目錄,把生成的可執(zhí)行文件拷貝放在創(chuàng)建的打包目錄下,這里我是創(chuàng)建了一個打包目錄名稱為

    2024年02月12日
    瀏覽(20)
  • windows VS2015 Steup 打包發(fā)布軟件并附帶動態(tài)鏈接庫dll

    windows VS2015 Steup 打包發(fā)布軟件并附帶動態(tài)鏈接庫dll

    打包:? 方法一:VS 2015 Steup 打包發(fā)布軟件_檸檬野生菌的博客-CSDN博客_vs2015 exe發(fā)布 ?1、插件下載 Microsoft Visual Studio 2015 Installer Projects 工具-擴(kuò)展與更新-聯(lián)機(jī)-搜索 Installer Projects 2、安裝 關(guān)掉VS 雙擊下載好的 .exe 安裝 3、打開VS新建Steup Project項目 注意項目名稱 需要跟你打包的

    2024年02月06日
    瀏覽(25)
  • Linux命令-dpkg-query命令(Debian Linux中軟件包的查詢工具)

    dpkg-query命令 是Debian Linux中軟件包的查詢工具,它從dpkg軟件包數(shù)據(jù)庫中查詢并辨識軟件包的信息。 軟件包名稱:指定需要查詢的軟件包。 查找文件file1在哪個包里安裝: 列出ubuntu下所安裝軟件列表: 查看軟件包詳細(xì)信息: 查看軟件包安裝時安裝到系統(tǒng)的文件列表: 列出所

    2024年04月14日
    瀏覽(24)
  • Linux命令-dpkg-split命令(Debian Linux中將大軟件包分割成小包)

    dpkg-split命令 用來將Debian Linux中的大軟件包分割成小軟件包,它還能夠?qū)⒁逊指畹奈募M(jìn)行合并。 軟件包:指定需要分割的“.deb”軟件包。 把foo.deb分割出N個大小為460KB的文件: 合并分割文件:

    2024年04月14日
    瀏覽(17)
  • Linux下軟件部署安裝管理----rpmbuild打包rpm包部署安裝

    Linux下軟件部署安裝管理----rpmbuild打包rpm包部署安裝

    來源:微信公眾號「編程學(xué)習(xí)基地」 創(chuàng)建rpm包管理路徑,生成rpm相關(guān)目錄 RPM打包的時候需要編譯源碼,還需要把編譯好的配置文件,二進(jìn)制命令文件之類的東西按照安裝好的樣子放到合適的位置,還要根據(jù)需要對RPM的包進(jìn)行測試,這些都需要先有一個“工作空間”。rpmbuil

    2024年01月23日
    瀏覽(20)
  • 【Python】Fatal error in launcher:Unable to create process using list(pip安裝第三方模塊時常見問題)

    【Python】Fatal error in launcher:Unable to create process using list(pip安裝第三方模塊時常見問題)

    ? ? 一般會在cmd中輸入 pip 指令時出現(xiàn)。(如下圖) ? ? 其它博主推薦的\\\"python -m pip install\\\"方法如果沒有用,那大概率是因為電腦存在多個版本的Python環(huán)境,此時唯一解決手段就是 將所有版本的Python全部卸載干凈 ,然后再重新安裝某一個版本的Python即可。 ? ? 具體操作如下

    2024年02月16日
    瀏覽(101)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包