分页: 1 / 1

upgrade时屏蔽某些软件的更新

发表于 : 2015-11-23 21:39
yangdawei.hit
下面是我upgrade时显示的信息:

代码: 全选

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... The following package was automatically installed and is no longer required:
  libqtwebkit-dev
Use 'apt-get autoremove' to remove it.
Done
The following packages have been kept back:
  libcloog-isl4
The following packages will be upgraded:
  dbus dbus-x11 ffmpeg gir1.2-gtk-3.0 groff-base libav-tools libavcodec-dev
  libavcodec-ffmpeg56 libavdevice-ffmpeg56 libavfilter-ffmpeg5 libavformat-dev
  libavformat-ffmpeg56 libavresample-ffmpeg2 libavutil-dev libavutil-ffmpeg54
  libcommons-lang-java libdbus-1-3 libgmp10 libgtk-3-0 libgtk-3-bin
  libgtk-3-common libjte1 liblog4j1.2-java libpostproc-ffmpeg53 libqt4-dbus
  libqt4-declarative libqt4-declarative-gestures libqt4-declarative-particles
  libqt4-designer libqt4-dev libqt4-dev-bin libqt4-help libqt4-network
  libqt4-opengl libqt4-opengl-dev libqt4-qt3support libqt4-script
  libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-sql-sqlite libqt4-svg
  libqt4-test libqt4-xml libqt4-xmlpatterns libqt5concurrent5 libqt5core5a
  libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5printsupport5
  libqt5sql5 libqt5sql5-sqlite libqt5test5 libqt5widgets5 libqt5xcbqpa5
  libqt5xml5 libqtcore4 libqtdbus4 libqtgui4 librsvg2-2 librsvg2-common
  libswresample-dev libswresample-ffmpeg1 libswscale-dev libswscale-ffmpeg3
  qdbus qt4-demos qt4-designer qt4-dev-tools qt4-doc qt4-doc-html
  qt4-linguist-tools qt4-qmake qt4-qtconfig qtbase5-dev-tools qtcore4-l10n
  texlive-base texlive-extra-utils texlive-font-utils
  texlive-fonts-recommended texlive-fonts-recommended-doc
  texlive-generic-recommended texlive-lang-english texlive-latex-base
  texlive-latex-base-doc texlive-latex-extra texlive-latex-extra-doc
  texlive-latex-recommended texlive-latex-recommended-doc texlive-pictures
  texlive-pictures-doc texlive-pstricks texlive-pstricks-doc wget
96 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 972 MB/981 MB of archives.
After this operation, 29.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
一共972 MB需要下载,其中一大部分是texlive方面的更新。当初安装texmaker时,就提示安装texlive,然而我已经通过光盘镜像安装了texlive2015。后来下载了个texmaker的deb包安装了texmaker,今天出现texlive方面的升级,估计又是这个texmaker软件更新或它所依赖的qt4升级连带引发的更新。如果避免这种问题引起的升级呢?请各位高手指点。

Re: upgrade时屏蔽某些软件的更新

发表于 : 2015-11-23 22:27
vickycq
首先貌似 texmaker 并不强制依赖 texlive 组件,texlive 相关的全在 "Suggest" 和 "Recommend" 中,可以指定不安装。
man apt-get 写了: --no-install-recommends
Do not consider recommended packages as a dependency for installing. Configuration Item: APT::Install-Recommends.
参考 http://unix.stackexchange.com/questions ... in-package

方法一
创建空软件包满足 texmaker / LyX / texworks 一类软件的依赖,可通过 equivs 实现。
应该只需要以下三步:
  1. 代码: 全选

    sudo apt-get install equivs
  2. 获取假软件包需要的 DEBIAN/control 文件:
    确认 “Provides:” 一行中包含所有需要的依赖。

    代码: 全选

    wget http://www.tug.org/texlive/files/debian-equivs-2015-ex.txt
  3. 创建并安装假软件包:
    注意默认会在父目录 ( ../ ) 中创建包,若父目录不可写,则会在当前目录创建

    代码: 全选

    equivs-build debian-equivs-2015-ex.txt
    sudo dpkg -i texlive-local*.deb
    
具体参考:
http://www.tug.org/texlive/debian.html
http://tex.stackexchange.com/questions/ ... -or-ubuntu


方法二
将不想升级的软件包标记为 hold。例如

代码: 全选

sudo apt-mark hold texlive*

Re: upgrade时屏蔽某些软件的更新

发表于 : 2015-11-24 0:16
深秋里的姐妹
可以检查一下texlive那些包被安装的原因,是不是仅仅因为texmaker的推荐
用aptitude why检查
比如 aptitude why texlive-base

Re: upgrade时屏蔽某些软件的更新

发表于 : 2015-11-24 19:51
yangdawei.hit
sudo apt-mark hold texlive*
似乎不支持匹配符
aptitude why texlive-base
依赖于texinfo
创建空软件包满足 texmaker / LyX / texworks 一类软件的依赖,可通过 equivs 实现。
不理解这个过程,没有尝试。稍后再研究研究。