unmet dependencies && broken packages [論壇 - Ubuntu安裝問題]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

« 1 2 3 4 (5)


回覆: unmet dependencies && broken packages
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 177 / 889
MP : 647 / 27617
EXP: 56
離線
備份連結


=======================================

# deb (network)

## 前置作業

準備工作環境資料夾


mkdir ~/Downloads/cuda_network -p
cd ~/Downloads/cuda_network




## 下載檔案

下載「cuda-repo-ubuntu1404_7.5-18_amd64.deb」


$ wget -c http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.5-18_amd64.deb




## 檔案訊息

執行


$ dpkg -I cuda-repo-ubuntu1404_7.5-18_amd64.deb



顯示


new debian package, version 2.0.
size 2126 bytes: control archive=553 bytes.
34 bytes, 1 lines conffiles
290 bytes, 12 lines control
220 bytes, 4 lines * postinst #!/bin/sh
63 bytes, 4 lines * postrm #!/bin/sh
Package: cuda-repo-ubuntu1404
Version: 7.5-18
Maintainer: cudatools <cudatools@nvidia.com>
Architecture: amd64
Section: devel
Priority: optional
Installed-Size: 24
Description: CUDA repo configuration files.
Contains configuration files needed to set up access to the
CUDA repository.




執行


$ dpkg -f cuda-repo-ubuntu1404_7.5-18_amd64.deb



顯示


Package: cuda-repo-ubuntu1404
Version: 7.5-18
Maintainer: cudatools <cudatools@nvidia.com>
Architecture: amd64
Section: devel
Priority: optional
Installed-Size: 24
Description: CUDA repo configuration files.
Contains configuration files needed to set up access to the
CUDA repository.



跟上一個指令顯示出來的對照,少了一些訊息。

執行


$ dpkg -c cuda-repo-ubuntu1404_7.5-18_amd64.deb



顯示


drwxr-xr-x root/root 0 2016-01-29 08:35 ./
drwxr-xr-x root/root 0 2016-01-29 08:35 ./etc/
drwxr-xr-x root/root 0 2016-01-29 08:35 ./etc/apt/
drwxr-xr-x root/root 0 2016-01-29 08:35 ./etc/apt/sources.list.d/
-rw-r--r-- root/root 80 2016-01-29 08:35 ./etc/apt/sources.list.d/cuda.list
drwxr-xr-x root/root 0 2016-01-29 08:35 ./usr/
drwxr-xr-x root/root 0 2016-01-29 08:35 ./usr/share/
drwxr-xr-x root/root 0 2016-01-29 08:35 ./usr/share/doc/
drwxr-xr-x root/root 0 2016-01-29 08:35 ./usr/share/doc/cuda-repo-ubuntu1404/
-rw-r--r-- root/root 88 2016-01-29 08:35 ./usr/share/doc/cuda-repo-ubuntu1404/copyright
-rw-r--r-- root/root 164 2016-01-29 08:35 ./usr/share/doc/cuda-repo-ubuntu1404/changelog.Debian.gz
drwxr-xr-x root/root 0 2016-01-29 08:35 ./usr/share/lintian/
drwxr-xr-x root/root 0 2016-01-29 08:35 ./usr/share/lintian/overrides/
-rw-r--r-- root/root 127 2016-01-29 08:35 ./usr/share/lintian/overrides/cuda-repo-ubuntu1404



## 解開套件

執行


$ dpkg -x cuda-repo-ubuntu1404_7.5-18_amd64.deb cuda-repo-ubuntu1404




會將「cuda-repo-ubuntu1404_7.5-18_amd64.deb」解開到「cuda-repo-ubuntu1404」這個資料夾

觀看「cuda-repo-ubuntu1404」這個資料夾結構

執行


$ tree cuda-repo-ubuntu1404



顯示


cuda-repo-ubuntu1404
├── etc
│   └── apt
│   └── sources.list.d
│   └── cuda.list
└── usr
└── share
├── doc
│   └── cuda-repo-ubuntu1404
│   ├── changelog.Debian.gz
│   └── copyright
└── lintian
└── overrides
└── cuda-repo-ubuntu1404

9 directories, 4 files



可以對照上面「dpkg -c cuda-repo-ubuntu1404_7.5-18_amd64.deb」顯示出來的結果,只是這裡顯示的方式是「樹狀(tree)」。


觀看「cuda-repo-ubuntu1404/etc/apt/sources.list.d/cuda.list」的內容

執行


$ cat cuda-repo-ubuntu1404/etc/apt/sources.list.d/cuda.list



顯示


deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64 /




解開「Control檔」和「MaintainerScripts」。

執行


$ dpkg -e cuda-repo-ubuntu1404_7.5-18_amd64.deb



會產生一個資料夾「DEBIAN」,裡面放的是「Control檔」和「MaintainerScripts

也可以指定解開到某個資料夾,上面的指令可以改成「dpkg -e cuda-repo-ubuntu1404_7.5-18_amd64.deb cuda-repo-ubuntu1404/debian」

觀看「DEBIAN」資料夾結構

執行


$ tree DEBIAN



顯示


DEBIAN/
├── conffiles
├── control
├── postinst
└── postrm

0 directories, 4 files



或是執行


$ ls DEBIAN/ -1




顯示


conffiles
control
postinst
postrm




執行


$ cat DEBIAN/conffiles



顯示


/etc/apt/sources.list.d/cuda.list




執行


cat DEBIAN/control



顯示


Package: cuda-repo-ubuntu1404
Version: 7.5-18
Maintainer: cudatools <cudatools@nvidia.com>
Architecture: amd64
Section: devel
Priority: optional
Installed-Size: 24
Description: CUDA repo configuration files.
Contains configuration files needed to set up access to the
CUDA repository.




可以對照上面「dpkg -I」和「dpkg -f」顯示出來的結果。

執行


$ cat DEBIAN/postinst



顯示


#!/bin/sh
set -e

wget -q -O - http://developer.download.nvidia.com/compute/cuda/repos/GPGKEY | apt-key add - || echo "Failed to add GPGKEY at http://developer.download.nvidia.com/compute/cuda/repos/GPGKEY to apt keys."



執行


$ cat DEBIAN/postrm



顯示


#!/bin/sh
set -e

apt-key remove cudatools >/dev/null 2>&1 ||:



關於「apt-key」的使用方法,可以參考這篇「討論」。


## 小結

從以上的分析看來,
安裝「cuda-repo-ubuntu1404_7.5-18_amd64.deb」這個套件,
也就是執行「sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb」,
只是幫你把安裝「cuda」的「套件庫來源」。
也就是會在「/etc/apt/sources.list.d/」多放一個檔案「cuda.list」,檔案內容紀錄的就是套件庫來源網址。
然後還會執行「DEBIAN/postinst」,也就是把「apt-key」加進去。
所以安裝完「cuda-repo-ubuntu1404_7.5-18_amd64.deb」這個套件,
要再多執行一個指令「sudo apt-get update」,更新套件庫的套件資訊。

## 實際安裝

執行


$ sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb



安裝完畢後,

要再執行一個指令「sudo apt-get update」,更新套件庫的套件資訊。


$ sudo apt-get update



可以觀察「/var/lib/apt/lists/」這個資料夾裡的檔案

安裝好「cuda-repo-ubuntu1404_7.5-18_amd64.deb」這個套件,

就可以執行下面的指令


$ dpkg -L cuda-repo-ubuntu1404




顯示


/.
/etc
/etc/apt
/etc/apt/sources.list.d
/etc/apt/sources.list.d/cuda.list
/usr
/usr/share
/usr/share/doc
/usr/share/doc/cuda-repo-ubuntu1404
/usr/share/doc/cuda-repo-ubuntu1404/copyright
/usr/share/doc/cuda-repo-ubuntu1404/changelog.Debian.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/cuda-repo-ubuntu1404



上面這個列表,表示「cuda-repo-ubuntu1404_7.5-18_amd64.deb」這個套件,安裝了那些檔案在系統上。
可以對照上面的「dpkg -c cuda-repo-ubuntu1404_7.5-18_amd64.deb」得到的列表。
或是對照上面的「dpkg -x cuda-repo-ubuntu1404_7.5-18_amd64.deb cuda-repo-ubuntu1404」然後再用「tree cuda-repo-ubuntu1404」得到的結果。


執行


$ ls /var/lib/dpkg/info/cuda-repo-ubuntu1404.*



顯示


/var/lib/dpkg/info/cuda-repo-ubuntu1404.conffiles
/var/lib/dpkg/info/cuda-repo-ubuntu1404.list
/var/lib/dpkg/info/cuda-repo-ubuntu1404.md5sums
/var/lib/dpkg/info/cuda-repo-ubuntu1404.postinst
/var/lib/dpkg/info/cuda-repo-ubuntu1404.postrm



可以對照剛剛使用「dpkg -e cuda-repo-ubuntu1404_7.5-18_amd64.deb」解開到「DEBIAN」這個資料夾的檔案

/var/lib/dpkg/info/cuda-repo-ubuntu1404.conffiles <--> DEBIAN/conffiles
/var/lib/dpkg/info/cuda-repo-ubuntu1404.postinst <--> DEBIAN/postinst
/var/lib/dpkg/info/cuda-repo-ubuntu1404.postrm <--> DEBIAN/postrm

/var/lib/dpkg/info/cuda-repo-ubuntu1404.list <--> $ dpkg -L cuda-repo-ubuntu1404



「DEBIAN/control」則可以在下面幾個地方,找到類似的蹤跡,

* 「$ dpkg -s cuda-repo-ubuntu1404」
* 「/var/lib/dpkg/status」
* 「/var/lib/dpkg/available」
* 「$ apt-cache show cuda-repo-ubuntu1404」
* 「/var/lib/apt/lists/developer.download.nvidia.com_compute_cuda_repos_ubuntu1404_x86%5f64_Packages 」

2016/5/23 7:10
應用擴展 工具箱
回覆: unmet dependencies && broken packages
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 177 / 889
MP : 647 / 27617
EXP: 56
離線
備份連結


=========================================


# deb (local)

## 前置作業

準備工作環境資料夾


mkdir ~/Downloads/cuda_local -p
cd ~/Downloads/cuda_local




## 下載檔案

下載「cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb」


$ wget -c http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb



## 解開檔案


$ dpkg -x cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb cuda-repo-ubuntu1404-local




## 小結

若有興趣研究探索的話,
一些指令使用,可以參考上一個「回覆」的介紹,來操作練習,

而「deb (local)」和「deb (network)」,最大的不同,
就是「deb (local)」裡面包含有很多其他的「deb檔」,放在「/var/cuda-repo-7-5-local」,
所以「cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb」這個檔案很大(1.9G)。
而「套件庫來源」則是指到本機的「/var/cuda-repo-7-5-local」這個資料夾。


$ cat cuda-repo-ubuntu1404-local/etc/apt/sources.list.d/cuda-7-5-local.list



顯示


deb file:///var/cuda-repo-7-5-local /




執行


$ tree cuda-repo-ubuntu1404-local



顯示


cuda-repo-ubuntu1404-local/
├── etc
│   └── apt
│   └── sources.list.d
│   └── cuda-7-5-local.list
├── usr
│   └── share
│   ├── doc
│   │   └── cuda-repo-ubuntu1404-7-5-local
│   │   ├── changelog.Debian.gz
│   │   └── copyright
│   └── lintian
│   └── overrides
│   └── cuda-repo-ubuntu1404-7-5-local
└── var
└── cuda-repo-7-5-local
├── cuda_7.5-18_amd64.deb
├── cuda-7-5_7.5-18_amd64.deb
├── cuda-command-line-tools-7-5_7.5-18_amd64.deb
├── cuda-core-7-5_7.5-18_amd64.deb
├── cuda-cross-aarch64_7.5-18_amd64.deb
├── cuda-cross-aarch64-7-5_7.5-18_amd64.deb
├── cuda-cross-armhf_7.5-18_amd64.deb
├── cuda-cross-armhf-7-5_7.5-18_amd64.deb
├── cuda-cross-ppc64el_7.5-18_amd64.deb
├── cuda-cross-ppc64el-7-5_7.5-18_amd64.deb
├── cuda-cublas-7-5_7.5-18_amd64.deb
├── cuda-cublas-cross-aarch64-7-5_7.5-18_aarch64.deb
├── cuda-cublas-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-cublas-cross-ppc64el-7-5_7.5-18_ppc64el.deb
├── cuda-cublas-dev-7-5_7.5-18_amd64.deb
├── cuda-cudart-7-5_7.5-18_amd64.deb
├── cuda-cudart-cross-aarch64-7-5_7.5-18_aarch64.deb
├── cuda-cudart-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-cudart-cross-ppc64el-7-5_7.5-18_ppc64el.deb
├── cuda-cudart-dev-7-5_7.5-18_amd64.deb
├── cuda-cudnn-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-cufft-7-5_7.5-18_amd64.deb
├── cuda-cufft-cross-aarch64-7-5_7.5-18_aarch64.deb
├── cuda-cufft-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-cufft-cross-ppc64el-7-5_7.5-18_ppc64el.deb
├── cuda-cufft-dev-7-5_7.5-18_amd64.deb
├── cuda-curand-7-5_7.5-18_amd64.deb
├── cuda-curand-cross-aarch64-7-5_7.5-18_aarch64.deb
├── cuda-curand-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-curand-cross-ppc64el-7-5_7.5-18_ppc64el.deb
├── cuda-curand-dev-7-5_7.5-18_amd64.deb
├── cuda-cusolver-7-5_7.5-18_amd64.deb
├── cuda-cusolver-cross-aarch64-7-5_7.5-18_aarch64.deb
├── cuda-cusolver-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-cusolver-cross-ppc64el-7-5_7.5-18_ppc64el.deb
├── cuda-cusolver-dev-7-5_7.5-18_amd64.deb
├── cuda-cusparse-7-5_7.5-18_amd64.deb
├── cuda-cusparse-cross-aarch64-7-5_7.5-18_aarch64.deb
├── cuda-cusparse-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-cusparse-cross-ppc64el-7-5_7.5-18_ppc64el.deb
├── cuda-cusparse-dev-7-5_7.5-18_amd64.deb
├── cuda-documentation-7-5_7.5-18_amd64.deb
├── cuda-driver-cross-aarch64-7-5_7.5-18_aarch64.deb
├── cuda-driver-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-driver-cross-ppc64el-7-5_7.5-18_ppc64el.deb
├── cuda-driver-dev-7-5_7.5-18_amd64.deb
├── cuda-driver-headers-cross-armhf_352.39-1_armhf.deb
├── cuda-driver-libs-cross-armhf_352.39-1_armhf.deb
├── cuda-drivers_352.39-1_amd64.deb
├── cuda-gdb-src-7-5_7.5-18_amd64.deb
├── cuda-license-7-5_7.5-18_amd64.deb
├── cuda-minimal-build-7-5_7.5-18_amd64.deb
├── cuda-misc-headers-7-5_7.5-18_amd64.deb
├── cuda-misc-headers-cross-aarch64-7-5_7.5-18_aarch64.deb
├── cuda-misc-headers-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-misc-headers-cross-ppc64el-7-5_7.5-18_ppc64el.deb
├── cuda-npp-7-5_7.5-18_amd64.deb
├── cuda-npp-cross-aarch64-7-5_7.5-18_aarch64.deb
├── cuda-npp-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-npp-cross-ppc64el-7-5_7.5-18_ppc64el.deb
├── cuda-npp-dev-7-5_7.5-18_amd64.deb
├── cuda-nvrtc-7-5_7.5-18_amd64.deb
├── cuda-nvrtc-cross-aarch64-7-5_7.5-18_aarch64.deb
├── cuda-nvrtc-cross-armhf-7-5_7.5-18_armhf.deb
├── cuda-nvrtc-cross-ppc64el-7-5_7.5-18_ppc64el.deb
├── cuda-nvrtc-dev-7-5_7.5-18_amd64.deb
├── cuda-runtime-7-5_7.5-18_amd64.deb
├── cuda-samples-7-5_7.5-18_amd64.deb
├── cuda-toolkit-7-5_7.5-18_amd64.deb
├── cuda-visual-tools-7-5_7.5-18_amd64.deb
├── GPGKEY
├── gpu-deployment-kit_352.39-1_amd64.deb
├── libcuda1-352_352.39-0ubuntu1_amd64.deb
├── libxnvctrl0_352.39-0ubuntu1_amd64.deb
├── libxnvctrl-dev_352.39-0ubuntu1_amd64.deb
├── nvidia-352_352.39-0ubuntu1_amd64.deb
├── nvidia-352-dev_352.39-0ubuntu1_amd64.deb
├── nvidia-352-uvm_352.39-0ubuntu1_amd64.deb
├── nvidia-libopencl1-352_352.39-0ubuntu1_amd64.deb
├── nvidia-modprobe_352.39-0ubuntu1_amd64.deb
├── nvidia-opencl-icd-352_352.39-0ubuntu1_amd64.deb
├── nvidia-settings_352.39-0ubuntu1_amd64.deb
├── Packages.gz
├── Release
└── Release.gpg

11 directories, 89 files



2016/5/23 7:29
應用擴展 工具箱
回覆: unmet dependencies && broken packages
會員一級
註冊日期:
2016/5/18 17:50
所屬群組:
已註冊使用者
等級: 3
HP : 0 / 70
MP : 8 / 1357
EXP: 83
離線
從前幾篇的回復當中
我大概可以猜到sudo add-apt-repository ppa:xorg-edgers/ppa -y的安裝會影響到cuda安裝的相依性
可是我需要同時安裝cuda以及雙顯卡變換
假若先安裝cuda再執行sudo add-apt-repository ppa:xorg-edgers/ppa -y是否還是會有一樣的問題?

--------------------------------------
下載toolkit時候
我通常是下載local
我不太懂你所描述的(以下)

而「deb (local)」和「deb (network)」,最大的不同,
就是「deb (local)」裡面包含有很多其他的「deb檔」,放在「/var/cuda-repo-7-5-local」,
所以「cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb」這個檔案很大(1.9G)。
而「套件庫來源」則是指到本機的「/var/cuda-repo-7-5-local」這個資料夾。

「deb (local)」裡面包含有很多其他的「deb檔」這會影響到甚麼?
(抱歉 這方面我不太懂@@)

2016/5/23 13:52
應用擴展 工具箱
回覆: unmet dependencies && broken packages
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 177 / 889
MP : 647 / 27617
EXP: 56
離線
liuCC 寫到:
從前幾篇的回復當中
我大概可以猜到sudo add-apt-repository ppa:xorg-edgers/ppa -y的安裝會影響到cuda安裝的相依性
可是我需要同時安裝cuda以及雙顯卡變換
假若先安裝cuda再執行sudo add-apt-repository ppa:xorg-edgers/ppa -y是否還是會有一樣的問題?



這個我就沒去實驗了,
你再自行測試看看,照你說的步驟,測試看看,
先安裝「cuda」,再加入「ppa:xorg-edgers/ppa」,安裝你要裝的套件。
這個留給你自己去練習,去體驗套件系統的行為模式,
通常套件系統若無法執行安裝,就會告訴你無法安裝,這個我們上面遇到很多次了,呵呵,
若該動作會移除軟體,會先跳出確認訊息,問你是否真的要移除,這時候你再斟酌要不要繼續執行。
一般的狀況,是不太會破壞系統的,除了類似像你之前的強制移除某個被依賴的套件。
所以動手去實驗看看吧。

另外我在想,你加入「ppa:xorg-edgers/ppa」這個套件庫來源,
然後先不要做「sudo apt-get dist-upgrade」的動作,
只要安裝你要安裝的套件就好,
但我不確定你要安裝的套件,是不是也一併會安裝某些套件,而這些套件,是否跟cuda依賴的套件版本相衝。
然後裝完了你要安裝的套件,就把這個套件庫來源停用。
這時候再做「sudo apt-get dist-upgrade」的動作,

上面提的不見得可行,也許有些未知的例外狀況,
這個就留給你自己去實驗吧,
過程中也許你就可以建立一些觀念,
記得要再回頭去閱讀一些參考文件,真的了解,每一個指令,執行下去,會執行的動作。
這樣你才不會常常被套件系統弄的陷入五里雲霧當中。


最後若真的相衝,
那安裝「cuda」的方式,可以考慮採用「runfile(local)」那個方法,
我猜那個檔,應該只是個「Shell Script」,只是解開檔案,
把檔案放到某些位置上,
應該是沒有透過套件系統來安裝,
所以可以繞過套件相依相衝的問題。
不過這個方法,我也沒去操作過,這也留給你自己實驗了。



liuCC 寫到:
--------------------------------------
下載toolkit時候
我通常是下載local
我不太懂你所描述的(以下)

而「deb (local)」和「deb (network)」,最大的不同,
就是「deb (local)」裡面包含有很多其他的「deb檔」,放在「/var/cuda-repo-7-5-local」,
所以「cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb」這個檔案很大(1.9G)。
而「套件庫來源」則是指到本機的「/var/cuda-repo-7-5-local」這個資料夾。

「deb (local)」裡面包含有很多其他的「deb檔」這會影響到甚麼?
(抱歉 這方面我不太懂@@)


那裡講的是題外話,跟你安裝cuda遇到的問題無關,
我在「這篇回覆」有說明,只是在介紹一些探索套件的技巧,
若你有想要深入探索,
照著我「這篇回覆」所提的指令,
真的去一個步驟一個步驟去執行,然後觀看結果,
我預估,你大概就會懂我在說啥。


你若沒有想要深入探究,就可以忽略不看上面那一段在講的,
這無關你原本遇到的問題摟,不會影響,所以別在意。




想到一個題外話,可以提的,是這個論壇的功能,就是當你回覆的時候,
左下方有一個「引用」的按鈕,你按下之後,就會引用別人的話,
會有「quote」的標籤,標起來,
你也可以看到連結的語法怎麼下摟,
可以參考別人的使用的語法,
我也只會基本簡單的,我目前大概就只用「quote」和「url」。

2016/5/23 15:21
應用擴展 工具箱
回覆: unmet dependencies && broken packages
會員一級
註冊日期:
2016/5/18 17:50
所屬群組:
已註冊使用者
等級: 3
HP : 0 / 70
MP : 8 / 1357
EXP: 83
離線
好的 十分感謝你的幫忙
晚點我會測試看看
若有何其他問題
我再提上來
謝謝

2016/5/23 17:14
應用擴展 工具箱

« 1 2 3 4 (5)

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.