過度の依存を避ける方法

過度の依存を避ける方法

私の SSD ハードドライブは容量が限られています。そのため、Ubuntu にソフトウェアをインストールできません。

非常にシンプルなアプリケーションをインストールしてみました:テックスメーカー

sudo apt-get install texmaker
[sudo] password for arash: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  asymptote asymptote-doc ibus-qt4 libgsl0ldbl libibus-qt1 libpoppler-qt4-4
  preview-latex-style psutils texlive-lang-english texlive-latex-extra
  texlive-latex-extra-doc texlive-pictures texlive-pictures-doc texmaker-data
Suggested packages:
  gv xpdf gsl-ref-psdoc gsl-doc-pdf gsl-doc-info gsl-ref-html python-pygments
  dot2tex libtcltk-ruby texlive-lang-all
The following NEW packages will be installed:
  asymptote asymptote-doc ibus-qt4 libgsl0ldbl libibus-qt1 libpoppler-qt4-4
  preview-latex-style psutils texlive-lang-english texlive-latex-extra
  texlive-latex-extra-doc texlive-pictures texlive-pictures-doc texmaker
  texmaker-data
0 to upgrade, 15 to newly install, 0 to remove and 6 not to upgrade.
Need to get 454 MB of archives.
After this operation, 665 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

なぜこんなに大きな依存性があるのでしょうか? それらはすべて本当に必要なのでしょうか? ソフトウェアのインストールを軽量化する方法はありますか?

答え1

Texmakerは特別なケースです。誰がパッケージ化したにせよ、LaTeX文書の作成とコンパイルに使われることを正しく想定していたので、TexLiveを推奨依存関係としてマークしましたTexLive はちょっとしたモンスターで、完全なパッケージ スイートは 1 Gb を超えます。Texmaker は最も一般的なモジュールをマークしており、ほとんどのユーザーのニーズを満たすはずです。

apt推奨パッケージなしで Texmaker をインストールするように指示できます:

sudo apt-get --no-install-recommends install texmaker

これでTexmakerはインストールされましたが、LaTeX文書をコンパイルできません。そのためにはTexLiveをインストールする必要があります。幸い、パッケージtexliveには依存関係がほとんどない:

sudo apt-get install texlive

これにより、最小限のコンパイラが提供されますが、多くの一般的な LaTeX モジュールとフォントは利用できなくなります。

基本パッケージに含まれていないLaTeXモジュールが必要な場合は、次の方法が最適です。CTANからTexLiveを手動でインストールする使用してtlmgr必要なモジュールだけを選択します。

答え2

それは状況によって異なります...
依存関係のない新規 Ubuntu インストールに最初のアプリケーションの 1 つをインストールすると、いくつかの依存関係が必要になると考えられます。

しかし、時間が経つにつれて、必要な依存関係がapt-get重複し、再度ダウンロードする必要がなくなるケースが多くなります。

例えば

  • アプリ A には依存関係 [ "dep3", "dep6", "dep87", "dep45" ] = 1000MB が必要です
  • アプリ B には依存関係 [ "dep3"、 "dep6"、 "dep87" ] = 2MB が必要です。一部はすでにインストールされているためです。

関連情報