apt-getで特定のバージョンをインストール
[質問]
ubuntu16.04のapt-get install nodejs=6.9.0-1nodesource1で、古いバージョンのnodejsをインストールするには、どのようにしたらよいでしょうか。
(dpkg -i nodejs.deb、PPAリポジトリを追加、nvm,nodebrew等のバージョン管理ツールを使わず、公式サイトのリポジトリからapt-get installする方法でお願いします。)
[背景]
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get update
sudo apt-get install nodejs=6.9.0-1nodesource1
では、インストールできませんでした。
sources.list先にhttps://deb.nodesource.com/node_6.x/pool/main/n/nodejs/nodejs_6.9.0-1nodesource1~xenial1_amd64.deb
はありますが、
https://deb.nodesource.com/node_6.x/dists/xenial/main/binary-amd64/Packages
に
Version: 6.9.0-1nodesource1~xenial1
の記載がないので、apt-getでインストールできないと思います。
(postgresの場合は、
http://apt.postgresql.org/pub/repos/apt/dists/xenial-pgdg/main/binary-amd64/Packages
に
Package: postgresql-9.4
Version: 9.4.10-1.pgdg16.04+1
の記載があり、下記で古いバージョンのpostgresql-9.4はインストールできました。
sudo apt-get update
sudo apt-get install postgresql-9.4
)
sources.listをfile:/にして、ローカルにdeb,Packages,Sources,Releaseを配置して、apt-get installで古いバージョンをインストールできましたが、
特定バージョンのPackages,Sources,Releaseのテキストファイルがないと、この方法ができません。
(リポジトリ内に古いPackages,Sources,Releaseのテキストファイルはありませんでした。)
また、CentOSの場合は、下記で古いバージョンのnodejsがインストールできました。(yumとapt-getの仕組みの違いと思います。)
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum --showduplicates list | grep nodejs
yum install nodejs-6.9.0
よろしくお願いします。
お礼
adkoriさん お世話になります。 詳細な解説ありがとうございます。 なるほど、WindowsのiTunes、Adobe Readerなどのように個々で更新しないといけなくなるということなのですね。 パッケージ管理をはじめ各種設定がよくわからず、Ubuntu/Linuxを挫折しかけているのですが、 もうちょっと頑張ってみようかと思いました ^^ どうもありがとうございました。