linux下依賴庫的版本問題引發的安裝失敗:libssl-dev版本問題沒法安裝 :libssl-dev : 依賴: libssl1.0.0 (= 1.0.1-4ubuntu3) 可是 1.0.1-4

依賴庫版本問題引發的安裝失敗解決方法以下有兩種:linux

一、是因爲源須要更新,以下操做:shell

libssl-dev : 依賴: libssl0.9.8 (= 0.9.8o-1ubuntu4) 可是 0.9.8o-1ubuntu4.4 正要被安裝 解決方法

進入「系統->系統管理->更新管理器->設置」,在彈出的「軟件源」對話框中選「更新」標籤頁,選中「Ubuntu 更新」下面的四個複選框,關閉後ubuntu

在終端先執行「sudo apt-get update」就ok了。vim

轉自:http://baalwolf.iteye.com/blog/1511259app

二、使用aptitude軟件包管理器來解決這個依賴問題,aptitude是能夠選擇合適的版本與匹配軟件安裝。工具

libssl-dev版本問題沒法安裝 : Depends: libssl1.0.0 (= 1.0.1t-1+deb7u2) but 1.0.1t-1+deb8u6 is to be installed

問題現象:佈局

在安裝libssl-dev 的時候提示錯誤:post

  1.  
    sudo apt-get install libssl-dev
  2.  
    Reading package lists... Done
  3.  
    Building dependency tree
  4.  
    Reading state information... Done
  5.  
    Some packages could not be installed. This may mean that you have
  6.  
    requested an impossible situation or if you are using the unstable
  7.  
    distribution that some required packages have not yet been created
  8.  
    or been moved out of Incoming.
  9.  
    The following information may help to resolve the situation:
  10.  
     
  11.  
    The following packages have unmet dependencies:
  12.  
    libssl-dev : Depends: libssl1 .0.0 (= 1.0.1t-1+deb7u2) but 1.0.1t-1+deb8u6 is to be installed
  13.  
    Recommends: libssl-doc but it is not going to be installed
  14.  
    E: Unable to correct problems, you have held broken packages.

 

 

解決方法:ui

linux的版本依賴問題很使人糾結,不過咱們能夠經過使用aptitude軟件包管理器來解決這個依賴問題,aptitude是能夠選擇合適的版本與匹配軟件安裝。this

首先安裝aptitude工具

 

sudo apt-get install aptitude

再利用aptitude來安裝libssl-dev

 

sudo aptitude install libssl-dev
  1.  
    The following NEW packages will be installed:
  2.  
    libssl-dev{b} libssl-doc{a}
  3.  
    0 packages upgraded, 2 newly installed, 0 to remove and 12 not upgraded.
  4.  
    Need to get 2,755 kB of archives. After unpacking 6,426 kB will be used.
  5.  
    The following packages have unmet dependencies:
  6.  
    libssl-dev : Depends: libssl1 .0.0 (= 1.0.1t-1+deb7u2) but 1.0.1t-1+deb8u6 is installed.
  7.  
    The following actions will resolve these dependencies:
  8.  
     
  9.  
    Keep the following packages at their current version:
  10.  
    1) libssl-dev [Not Installed]
  11.  
     
  12.  
     
  13.  
     
  14.  
    Accept this solution? [Y/n/q/?] n
  15.  
    The following actions will resolve these dependencies:
  16.  
     
  17.  
    Downgrade the following packages:
  18.  
    1) libssl1.0.0 [1.0.1t-1+deb8u6 (now) -> 1.0.1t-1+deb7u2 (oldoldstable)]
  19.  
     
  20.  
     
  21.  
     
  22.  
    Accept this solution? [Y/n/q/?] y
  23.  
    The following packages will be DOWNGRADED:
  24.  
    libssl1 .0.0
  25.  
    The following NEW packages will be installed:
  26.  
    libssl-dev libssl-doc{a}
  27.  
    0 packages upgraded, 2 newly installed, 1 downgraded, 0 to remove and 12 not upgraded.
  28.  
    Need to get 3,825 kB of archives. After unpacking 6,420 kB will be used.
  29.  
    Do you want to continue? [Y/n/?] y
  30.  
    Get: 1 http://mirrors.aliyun.com/raspbian/raspbian/ wheezy/main libssl1.0.0 armhf 1.0.1t-1+deb7u2 [1,070 kB]
  31.  
    Get: 2 http://mirrors.aliyun.com/raspbian/raspbian/ wheezy/main libssl-dev armhf 1.0.1t-1+deb7u2 [1,528 kB]
  32.  
    Get: 3 http://mirrors.aliyun.com/raspbian/raspbian/ wheezy/main libssl-doc all 1.0.1t-1+deb7u2 [1,227 kB]
  33.  
    Fetched 3,825 kB in 5s (753 kB/s)
  34.  
    Preconfiguring packages ...
  35.  
    dpkg: warning: downgrading libssl1 .0.0:armhf from 1.0.1t-1+deb8u6 to 1.0.1t-1+deb7u2
  36.  
    (Reading database ... 115760 files and directories currently installed.)
  37.  
    Preparing to unpack .../libssl1 .0.0_1.0.1t-1+deb7u2_armhf.deb ...
  38.  
    Unpacking libssl1 .0.0:armhf (1.0.1t-1+deb7u2) over (1.0.1t-1+deb8u6) ...
  39.  
    Selecting previously unselected package libssl-dev.
  40.  
    Preparing to unpack .../libssl-dev_1 .0.1t-1+deb7u2_armhf.deb ...
  41.  
    Unpacking libssl-dev ( 1.0.1t-1+deb7u2) ...
  42.  
    Selecting previously unselected package libssl-doc.
  43.  
    Preparing to unpack .../libssl-doc_1 .0.1t-1+deb7u2_all.deb ...
  44.  
    Unpacking libssl-doc ( 1.0.1t-1+deb7u2) ...
  45.  
    Processing triggers for man-db (2.7.5-1~bpo8+1) ...
  46.  
    Setting up libssl1 .0.0:armhf (1.0.1t-1+deb7u2) ...
  47.  
    Setting up libssl-dev ( 1.0.1t-1+deb7u2) ...
  48.  
    Setting up libssl-doc ( 1.0.1t-1+deb7u2) ...
  49.  
    Processing triggers for libc-bin (2.19-18+deb8u10) ...

至此,問題解決,之後遇到版本不對致使依賴不對應的問題也能夠採用上述的方法進行解決。

轉自:https://blog.csdn.net/MENGHUANBEIKE/article/details/78052317?locationNum=10&fps=1

 

關於「ubuntu 安裝軟件的一些命令aptitude,apt-get」

aptitude

 

 

安裝:

原文:http://www.isspy.com/aptitude-%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3/

aptitude aptitude 是 Debian GNU/Linux 系統中, 很是神奇的的軟件包管理器,基於大名鼎鼎的 APT 機制, 整合了 dselect 和 apt-get的全部功能, 並提供的更多特性,特別是在依賴關係處理上。   aptitude與 apt-get 同樣,是 Debian 及其衍生系統中功能極其強大的包管理工具。與 apt-get 不一樣的是,aptitude在處理依賴問題上更佳一些。舉例來講,aptitude在刪除一個包時,會同時刪除自己所依賴的包。這樣,系統中不會殘留無用 的包,整個系統更爲乾淨。   如下是一些經常使用 aptitude命令,僅供參考。

命令 做用
aptitude update 更新可用的包列表
aptitude upgrade 升級可用的包
aptitude dist-upgrade 將系統升級到新的發行版
aptitude install pkgname 安裝包
aptitude remove pkgname 刪除包
aptitude purge pkgname 刪除包及其配置文件
aptitude search string 搜索包
aptitude show pkgname 顯示包的詳細信息
aptitude clean 刪除下載的包文件
aptitude autoclean 僅刪除過時的包文件

定義與介紹

要使用 aptitude, 只要打開您喜好的終端, 鍵入以下命令便可。   de>#de> aptitude5 aptitude 的主視圖組織的很是有條理,並且界面佈局清爽.上部窗口列出的是軟件包根據類別和它們在本地系統的狀態排序。   aptitude是以樹狀結構組織的,相關節點以細線相連.可使用方向鍵, [PageUp] 和 [PageDown] 進行定位.[Return] 或[Enter] 用於展開或收起某個節點.aptitude 的開視圖分爲四列: 軟件包狀態和請求動做, 軟件包名稱, 當前安裝版本(或de><de>nonede>>de>), 最新版本.   aptitude軟件包列表中的軟件包狀態:

v 虛擬
B 損壞
u 解包
C 預配置
H 預安裝
c 卸載未清除
p 清除軟件包
i 已經安裝
E 內部錯誤
   

在aptitude軟件包列表中的請求操做:

h 保持
p 清除
d 刪除(卸載)
B 損壞
i 安裝
r 重裝
u 升級

 

快速開始

對於任何程序來講, 您首先知道的就是如何退出 — 在aptitude的主視圖中鍵入[q](quit), 便可退出 aptitude. 任什麼時候候您鍵入[?](help), 均可以喚出幫助信息.   aptitude是基於apt機制的, 所以在進一步操做前你須要正確的配置sources.list文件.並確保 軟件包列表獲得了及時的更新. [u](update)命令就是爲此設計的, 這相似於 apt-get update 操做.   若是出現了新的軟件包(也就是說, 至上次軟件包列表更新時, 仍爲出現的軟件包), 將會在 New Packages 選項下顯示. 您能夠鍵入[f](forget that packages are new)命令, 將它們清除到可用軟件包選項中去.   移動光標到您感興趣的行, 而後鍵入回車, 將選項展開. 選定一個軟件包後, 有關軟件包的信息將會出如今屏幕底部. 若是要查看更詳細的信息, 則須要鍵入[i](information). 鍵入 [q] (quit)則會退出信息顯示屏幕.   對於沒有安裝的軟件包(位於 New Packages 或 Not Installed Packages 區域), 能夠選定後, 鍵入[+](add package), 以標示安裝.   對於已經安裝的軟件包, 則能夠進行保持, 刪除, 或清除等操做. 保持[=](hold)是指保持軟件包的現有版本, 而禁止對其升級. 刪除 [-](remove package) 標記已安裝軟件包爲刪除狀態. [_](purge package) 命令則將軟件包標記爲清除狀態.   一旦您標記完感興趣的軟件包, 就能夠鍵入 [g](go )以保存修改, 使其生效.

軟件包的選擇

能夠經過瀏覽,而後按下對應鍵進行操做:

de>[+]de> 選定要安裝的軟件包.
de>[-]de> 選定要刪除的軟件包.
de>[_]de> 選定要清除的軟件包.
de>[=]de> 保持軟件包的當前版本,阻止其被升級.
de>[:]de> 僅在aptitude會話期間鎖定軟件包.
de>[L]de> 請求重裝軟件包.
de>[M]de> 將軟件包標記爲自動安裝.自動安裝的軟件包
  在手動安裝的包對其沒有依賴需求時會自動刪除.
de>[m]de> 將軟件包標記爲手動.
de>[R]de> 請求從新配置軟件包.
de>[I]de> 請求當即安裝軟件包(以其依賴包)並暫時鎖定其它升級和
  安裝的軟件包.做用與apt-get install de><package>de>相同.
de>[F]de> 禁止安裝某個版本的軟件包.可是,對更高版本正常使用.
de>[B]de> 調用reportbug,申報一個軟件包的錯誤.
de>[C]de> 下載並顯示一個軟件包的變動日誌.
de>[g]de> 進入全部請求變動的預覽窗口.若是在預覽屏鍵入此鍵,
  將執行變動操做.
de>[d]de> 查詢相關軟件包: suggest/recommanded/depends
de>[r]de> 查詢依賴包
de>[/]de> 搜索
de>[\]de> 繼續搜索
   

注: Control-u組合鍵可用於取消上一步的動做.

 

 

 

apt-get

注意:ubuntu新版本中apt和apt-get同樣,apt是新版本

 

在Ubuntu下,apt-get近乎是最經常使用的shell命令之一了,由於他是Ubuntu經過新立得安裝軟件的經常使用工具命令。

本文列舉了經常使用的APT命令參數:

  • apt-cache search package 搜索軟件包

  • apt-cache show package  獲取包的相關信息,如說明、大小、版本等

  • sudo apt-get install package 安裝包

  • sudo apt-get install package --reinstall   從新安裝包

  • sudo apt-get -f install   修復安裝

  • sudo apt-get remove package 刪除包

  • sudo apt-get remove package --purge 刪除包,包括配置文件等

  • sudo apt-get update  更新源

  • sudo apt-get upgrade 更新已安裝的包

  • sudo apt-get dist-upgrade 升級系統

  • apt-cache depends package 瞭解使用該包依賴那些包

  • apt-cache rdepends package 查看該包被哪些包依賴

  • sudo apt-get build-dep package 安裝相關的編譯環境

  • apt-get source package  下載該包的源代碼

  • sudo apt-get clean && sudo apt-get autoclean 清理無用的包

  • sudo apt-get check 檢查是否有損壞的依賴

deb 文件安裝 及與 rpm 互轉

 

 

  1.  
    $sudo apt-get install alien ##alien默認沒有安裝,因此首先要安裝它
  2.  
     
  3.  
    $sudo alien xxxx.rpm ##將rpm轉換爲deb,完成後會生成一個xxxx.deb
  4.  
     
  5.  
    $sudo dpkg -i xxxx.deb ##這樣xxxx軟件就能夠安裝完成了
  6.  
    dpkg -l 軟件模糊名× 查看已經安裝過的軟件
  7.  
    $sudo dpkg -r xxxx 刪除軟件不刪除配置,xxxx爲軟件名字,不是包名,能夠用 dpkg -l 軟件模糊名×查看
  8.  
    $sudo dpkg -P xxxx.deb 刪除軟件和相應的配置


dpkg是一個debian包管理工具。可以對包進行安裝、卸載、獲取信息等操做。
用法:
    安裝(解包並配置):
       dpkg -i package_file
       dpkg --install package_file

    解包:
       dpkg --unpack package_file
          該命令僅對「package_file「進行解包操做,不會執行包配置工做。

    配置包:
       dpkg --configure package
          
    卸載包:
       dpkg -r package
       dpkg --remove package
          該命令刪除包,但保留配置文件。
       dpkg -P package
       dpkg --purge package
          該命令刪除包,且刪除配置文件。

    獲取、設置、清除包的選擇狀態:
       dpkg --get-selections [package]
          輸出到標準輸出,可使用管道或重定向。
       dpkg --set-selections
          從標準輸入獲取,可使用管道或重定向。
       dpkg --clear-selections 
          將全部包都標記爲卸載。

apt 源配置


apt-get 源配置文件 vim /etc/apt/sources.list

 

轉自:https://blog.csdn.net/u013378306/article/details/70146194/

相關文章
相關標籤/搜索