Linuxでソフトウェアをアップグレードする

Linuxでソフトウェアをアップグレードする

アップグレードする必要があるzlibというプログラムがあります。以前にダウンロードしたことがないため、Ubuntuに付属しているかどうか疑われます。

通常はダウンロードしてコンパイルするだけですが、他のツール(vcftools)で使用されるため、ローカルにインストールすることはできません。どちらか一つが必要だと思います。

  1. 新しいバージョンのzlibをどこかにインストールし、システムに私がインストールしたフォルダにzlibを見つけるように指示します。 zlibが以前のバージョンと互換性がある場合は問題ありません。

  2. 現在のバージョンをアップグレードしてください(ただし、sudo apt-get installを実行すると最新バージョンがあることを示すメッセージが表示されます)。

どうすればいいですか?ありがとうございます。

答え1

私の考えでは、あなたが状況を少し混乱させているようです。zlibUbuntuシステムにローカルにインストールされた別のパッケージです。まず、Ubuntu / Debianリポジトリの1つに、zlibUbuntu / Debianおよびこれら2つのディストリビューションから派生した他のオペレーティングシステム用にインストールできる(事前に構築された)すべてのソフトウェアを含む最新バージョンがあることを確認します。

$ apt-get install zlib

しかし、そのコマンドを実行する前にパッケージが実際に呼び出されていることをもう一度確認してみましょうzlib

$ dpkg -l |grep zlib
ii  zlib1g:amd64                              1:1.2.7.dfsg-13                           amd64        compression library - runtime

したがって、このパッケージは実際に更新されたようですzlib1g

$ apt-get install zlib1g
Reading package lists... Done
Building dependency tree       
Reading state information... Done
zlib1g is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.

したがって、その特定のバージョンを使用しているか、利用可能な最新バージョンはありません。

別の方法

最新バージョンのzlib1.2.8を非常に簡単にダウンロードしてコンパイルし、一時的にLD_LIBRARY_PATHこれらのライブラリのコンパイル済みバージョンを指すことができます。これにより、システムにインストールせずに試すことができます。

一度設定したら、LD_LIBRARY_PATH電話して試してVCFtoolsみることができます。

次のステップ

次のオプションは、最新バージョンのzlib1gを含むサードパーティのリポジトリを検索するか、ソースパッケージをダウンロードしてそれを使用して独自の.debファイルを作成することです。独自のパッケージビルド環境を設定し、最初の.debファイルをビルドする方法についてのチュートリアルがたくさんあります。これは実際よりも複雑に聞こえます。

答え2

特定のバージョンのディストリビューションには、各プログラムの特定のバージョンが付属しています。出版がまさにそれだ。 (各ソフトウェアの次のバージョンにアップグレードするためにすべての時間を費やす「ローリングリリース」ディストリビューションがあります。より良いことがある場合は、リリースされたディストリビューションに固執してください。)

これzlib1gパッケージのバージョンUbuntu 12.04(精密)のバージョンは1.2.3.4で、Ubuntu 12.10(クォンタム)のバージョンは1.2.7です。 Ubuntu Webサイトからソースパッケージ(3つのファイルすべて:.dsc、、、.diff.gzまたは)をダウンロードしてから、そのバージョンを.orig.tar.gzパッケージ.debian.tar.gzにコンパイルできます。

sudo apt-get install build-essential fakeroot
sudo apt-get build-dep zlib
dpkg-source zlib_1.2.7.dfsg-13.dsc
cd zlib-1.2.7.dfsg
dpkg-buildpackage -rfakeroot -us -uc -b -nc
sudo apt-get install ../zlib1g-1.2.7.*.deb

最新バージョンのライブラリをインストールすると、非互換性が発生する可能性があります。 zlibを使用すると問題は発生しそうではありませんが、軽くする必要はありません。

または、ホームディレクトリのどこかに最新バージョンのライブラリをインストールし、必要な特定のプログラムにのみ使用してください。でzlibをコンパイルしてインストールした場合、~/lib/zlib1.2.8/lib適切なラッパースクリプトは次のとおりです。

#!/bin/sh
export LD_LIBRARY_PATH=~/lib/zlib1.2.8/lib
exec vcftools "$@"

関連情報