なぜ不要なパッケージがたくさんありますか?

なぜ不要なパッケージがたくさんありますか?

公式ウェブサイトからダウンロードしたファイルとしてPreyをインストールしたとき、.deb突然私のUbunuノートブックに「不要な」パッケージがたくさんインストールされていることに気づきました。

私の仕事の順序は次のとおりです。

  1. 努力するsudo dpkg -i prey.deb。パケット損失/衝突のため機能しません。

    prey:i386 depèn de sudo.
    prey:i386 depèn de python.
    prey:i386 depèn de python-gtk2.
    prey:i386 depèn de scrot.
    prey:i386 depèn de streamer.
    prey:i386 depèn de mpg123.
    prey:i386 depèn de dmidecode.
    prey:i386 depèn de gksu.
    
  2. sudo apt-get updateその後、1つ(すべてうまく動作します)と1つsudo apt-get upgrade(以前のパッケージのインストールが失敗したと考えて失敗しました)を実行しました。 APTがapt-get -f installこれを提案したのでそうしました。突然私は(少なくとも昨日)私が持っていない不要なパッケージのリストが非常に長いことに気づきました。

     aglfn asymptote asymptote-doc checkbox-ng checkbox-ng-service cm-super cm-super-minimal context context-modules fonts-cabin fonts-comfortaa fonts-dejavu-extra fonts-ebgaramond fonts-ebgaramond-extra
     fonts-font-awesome fonts-freefont-otf fonts-gfs-artemisia fonts-gfs-baskerville fonts-gfs-bodoni-classic fonts-gfs-complutum fonts-gfs-didot fonts-gfs-didot-classic fonts-gfs-gazis
     fonts-gfs-neohellenic fonts-gfs-olga fonts-gfs-porson fonts-gfs-solomos fonts-gfs-theokritos fonts-hosny-amiri fonts-inconsolata fonts-junicode fonts-lato fonts-linuxlibertine fonts-lobster
     fonts-lobstertwo fonts-oflb-asana-math fonts-roboto fonts-sil-gentium fonts-sil-gentium-basic fonts-sil-gentiumplus fonts-stix freeglut3 giblib1:i386 gstreamer0.10-alsa gstreamer0.10-plugins-good
     gstreamer0.10-x lcdf-typetools libasound2:i386 libatk1.0-0:i386 libaudit1:i386 libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386 libbz2-1.0:i386 libcairo2:i386 libcomerr2:i386
     libcups2:i386 libdatrie1:i386 libdb5.3:i386 libdbus-1-3:i386 libdbus-glib-1-2:i386 libdv4:i386 libffi6:i386 libfontconfig1:i386 libfreetype6:i386 libftgl2 libgconf-2-4:i386 libgcrypt20:i386
     libgdk-pixbuf2.0-0:i386 libgif4:i386 libglib2.0-0:i386 libgmp10:i386 libgnome-keyring0:i386 libgnutls-deb0-28:i386 libgpg-error0:i386 libgpm2:i386 libgraphite2-3:i386 libgsl0ldbl libgssapi-krb5-2:i386
     libgtk2.0-0:i386 libharfbuzz0b:i386 libhogweed4:i386 libid3tag0:i386 libimlib2:i386 libintl-perl libjbig0:i386 libjpeg-turbo8:i386 libjpeg8:i386 libk5crypto3:i386 libkeyutils1:i386 libkrb5-3:i386
     libkrb5support0:i386 libltdl7:i386 liblzma5:i386 libmpg123-0:i386 libncursesw5:i386 libnettle6:i386 libosmesa6 libp11-kit0:i386 libpam-modules:i386 libpam0g:i386 libpango-1.0-0:i386
     libpangocairo-1.0-0:i386 libpangoft2-1.0-0:i386 libpcre3:i386 libpixman-1-0:i386 libpng12-0:i386 libpoppler-qt5-1 libprojectm2v5 libpython-stdlib:i386 libpython2.7-minimal:i386
     libpython2.7-stdlib:i386 libpython3.5-minimal libpython3.5-stdlib libqca2-plugins libqca2v5 libqt5script5 libqxt-core0 libqxt-gui0 libreadline6:i386 libselinux1:i386 libsigsegv2 libsqlite3-0:i386
     libssl1.0.0:i386 libstartup-notification0:i386 libsystemd0:i386 libtasn1-6:i386 libtext-unidecode-perl libthai0:i386 libtiff5:i386 libtinfo5:i386 libv4l-0:i386 libv4lconvert0:i386 libx11-xcb1:i386
     libxcb-render0:i386 libxcb-shm0:i386 libxcb-util1:i386 libxcomposite1:i386 libxcursor1:i386 libxdamage1:i386 libxfixes3:i386 libxi6:i386 libxinerama1:i386 libxml-libxml-perl
     libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxrandr2:i386 libxrender1:i386 linux-image-4.2.0-16-generic linux-image-4.2.0-18-generic
     linux-image-4.2.0-19-generic linux-image-4.2.0-22-generic linux-image-extra-4.2.0-16-generic linux-image-extra-4.2.0-18-generic linux-image-extra-4.2.0-19-generic linux-image-extra-4.2.0-22-generic
     linux-signed-image-4.2.0-18-generic linux-signed-image-4.2.0-19-generic linux-signed-image-4.2.0-22-generic m-tx mpg123:i386 musixtex pfb2t1c2pfb plainbox-secure-policy pmx python3-checkbox-ng
     python3-checkbox-support python3-jinja2 python3-plainbox python3-pyparsing python3-xlsxwriter python3.5 python3.5-minimal qml-module-qtquick-localstorage qtdeclarative5-localstorage-plugin scrot:i386
     streamer:i386 sudo:i386 tex4ht tex4ht-common texinfo texlive-fonts-extra texlive-fonts-extra-doc texlive-formats-extra texlive-games texlive-generic-extra texlive-humanities texlive-humanities-doc
     texlive-lang-african texlive-lang-arabic texlive-lang-cyrillic texlive-lang-czechslovak texlive-lang-english texlive-lang-european texlive-lang-french texlive-lang-german texlive-lang-greek
     texlive-lang-indic texlive-lang-italian texlive-lang-polish texlive-lang-portuguese texlive-lang-spanish texlive-luatex texlive-math-extra texlive-music texlive-omega texlive-plain-extra
     texlive-publishers texlive-publishers-doc texlive-science-doc texlive-xetex ttf-adf-accanthis ttf-adf-gillius ttf-adf-universalis ttf-dejavu-core xawtv-plugins:i386 zlib1g:i386
    

    この長いリストに加えて、apt次のパッケージも削除されることが示されています(sudo??):

     Es SUPRIMIRAN els paquets següents:
         plainbox-provider-resource-generic prey:i386 sudo
    

    apt-get -f installそれで、もしかしてあきらめたのに…

  3. プロセスについて確信が持てなかったので、をdpkg実行して最初のコマンドをキャンセルしましたdpkg --purge prey

  4. この時点で、apt-get -f install不要なパッケージのリストを再確認して()縮小しましたが、まだコマンドをキャンセルするのに十分長くなりました。apt必要ないので、「削除」したいパッケージのリストは次のとおりです。

    aglfn asymptote asymptote-doc checkbox-ng checkbox-ng-service cm-super cm-super-minimal context context-modules fonts-cabin fonts-comfortaa fonts-dejavu-extra fonts-ebgaramond fonts-ebgaramond-extra
    fonts-font-awesome fonts-freefont-otf fonts-gfs-artemisia fonts-gfs-baskerville fonts-gfs-bodoni-classic fonts-gfs-complutum fonts-gfs-didot fonts-gfs-didot-classic fonts-gfs-gazis
    fonts-gfs-neohellenic fonts-gfs-olga fonts-gfs-porson fonts-gfs-solomos fonts-gfs-theokritos fonts-hosny-amiri fonts-inconsolata fonts-junicode fonts-lato fonts-linuxlibertine fonts-lobster
    fonts-lobstertwo fonts-oflb-asana-math fonts-roboto fonts-sil-gentium fonts-sil-gentium-basic fonts-sil-gentiumplus fonts-stix freeglut3 gstreamer0.10-alsa gstreamer0.10-plugins-good gstreamer0.10-x
    lcdf-typetools libftgl2 libgsl0ldbl libintl-perl libosmesa6 libpoppler-qt5-1 libprojectm2v5 libpython3.5-minimal libpython3.5-stdlib libqca2-plugins libqca2v5 libqt5script5 libqxt-core0 libqxt-gui0
    libsigsegv2 libtext-unidecode-perl libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl linux-image-4.2.0-16-generic linux-image-4.2.0-18-generic
    linux-image-4.2.0-19-generic linux-image-4.2.0-22-generic linux-image-extra-4.2.0-16-generic linux-image-extra-4.2.0-18-generic linux-image-extra-4.2.0-19-generic linux-image-extra-4.2.0-22-generic
    linux-signed-image-4.2.0-18-generic linux-signed-image-4.2.0-19-generic linux-signed-image-4.2.0-22-generic m-tx musixtex pfb2t1c2pfb plainbox-provider-resource-generic plainbox-secure-policy pmx
    python3-checkbox-ng python3-checkbox-support python3-jinja2 python3-plainbox python3-pyparsing python3-xlsxwriter python3.5 python3.5-minimal qml-module-qtquick-localstorage
    qtdeclarative5-localstorage-plugin tex4ht tex4ht-common texinfo texlive-fonts-extra texlive-fonts-extra-doc texlive-formats-extra texlive-games texlive-generic-extra texlive-humanities
    texlive-humanities-doc texlive-lang-african texlive-lang-arabic texlive-lang-cyrillic texlive-lang-czechslovak texlive-lang-english texlive-lang-european texlive-lang-french texlive-lang-german
    texlive-lang-greek texlive-lang-indic texlive-lang-italian texlive-lang-polish texlive-lang-portuguese texlive-lang-spanish texlive-luatex texlive-math-extra texlive-music texlive-omega
    texlive-plain-extra texlive-publishers texlive-publishers-doc texlive-science-doc texlive-xetex ttf-adf-accanthis ttf-adf-gillius ttf-adf-universalis ttf-dejavu-core
    

私は昨日このリストがいくつかの他のものでいっぱいになっていましたが、linux-signed-image...確かにすべてではなかったことを覚えています。実際、これらのパッケージ(例えば、、、texlive-*...)が使用されていると判断した場合、何が破損している可能性があり、どのように復元できますか?fonts-*ttf-*python-*

エラーは手順3で発生したと思われますが、わかりません。

修正する:コメントに提案された修正を適用する前に、いくつかのdebfosterパッケージを確認し、次の点を確認しました。

  • ubuntu-desktopインストールされていません(?!)。そしてKDEやXCFEを使用していません。

ベストアンサー1

すでに提案されているdebfosterに加えて、不要なパッケージを見つけて整理するルーチン(古い妻の物語)があります。

(最初)しかしなぜそのパッケージがインストールされていますか?

パッケージのクリーンアップに使用する必要があるツールaptitude why pkg-name aptitudeのマニュアルページから:

$ aptitude why kdepim
  i   nautilus-data Recommends nautilus
  i A nautilus      Recommends desktop-base (>= 0.2)
  i A desktop-base  Suggests   gnome | kde | xfce4 | wmaker
  p   kde           Depends    kdepim (>= 4:3.4.3)

これにより、最も強力な依存関係チェーンのみが印刷されますが、多くの質問にすばやく答えることができます。why-notパッケージの削除に関連が少ないものもあります。

パッケージが削除され、構成ファイルが残る

廃止予定ですが、まだ設定ファイルなどを含むパッケージを見つけることができます。これを行うには、端末を開き、次のように入力します。

dpkg-query -l '*' | grep ^rc | awk '{print $2}' |xargs > my_ apt_rc_removeList.lst

結果リストには、「rc」状態(削除されたが構成ファイルはまだ保持されています)のすべてのファイルが含まれています。残りのファイルを削除しますが、まずmy_apt_rc_removeList.lstファイルにリストされているファイルを確認して、実際にこれらのすべてのジャンクを削除したいことを確認してください。今入場してください

aptitude purge `cat apt_rc_removeList.lst`

これらの破片はすべて削除されます。

ゲッコ版

残りのパッケージを見つけるために使用できる別のアプリケーションはgtkorphanです。 aptシステムのgtkorphanの説明を見ると、次のようになります。

GtkOrphan は Debian システムから孤立したライブラリを検索するグラフィカルツールです。これはdeborphanのGUIフロントエンドを実装しますが、パッケージの削除機能を追加します。このプログラムの詳細なドキュメントは以下にあります。http://www.marzocca.net/linux/gtkorphan.html

また、それを使用して他のセクション(「libs」を除く)のパッケージを整理するのにも役立ちます。

興味深いパッケージを依存関係としてマーク: できるだけ早く削除してください。

適性でインストールされているパッケージのサブカテゴリにl(文字「el」)を入力し、表示されるボックスに入力します?not(?automatic)。これで、他のパッケージに依存しないパッケージのみが表示されます。次に、それぞれをスクロールして、直接興味のない特定のバッグのキーを押しますM。これは、パッケージを削除せずに、代わりに各パッケージを「何かに依存しているため、ここにのみ存在する」とマークします。

それでは、各セクションを一つずつ見ていきましょう。ほとんどの「依存関係のみ」パッケージはlibsセクションにあります。

「pattern」に一致するすべてのパッケージを「auto」とマークします。できるだけ早く削除

すべての「-dev」パッケージは削除対象として表示されることがあります(必要でない場合)。

 aptitude markauto ~i~n"\-dev$"

全カテゴリをクリア

次のコマンドを使用すると、カテゴリ全体(「CATEGORY_NAME」)を削除できます。

aptitude purge '~sCATEGORY_NAME ! ~exceptThisApp

おすすめ記事