こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

よろしくお願いします。

投稿日時 - 2017-01-28 12:14:20

QNo.9286819

すぐに回答ほしいです

質問者が選んだベストアンサー

まだ、回答を得られていない御様子なので。

取り敢えず、こちらをご覧ください。
debianのパッケージ管理についての解説ですが、ubuntuも、いまのところは根っこは同じです。
https://www.debian.org/doc/manuals/debian-reference/ch02.ja.html

>2.2. 基本的パッケージ管理操作
上記の節で触れられている、aptitudeを使ってみてはいかがでしょう。
多少、融通が利くかも知れません。

基本的に、aptによるパッケージのバージョン管理は、不可逆で加算的になっています。
(バグ対応が行われたり、セキュリティーホール対策が施されると、リビジョンが上がっていきます。)
これは私見ですが、可用性よりも、システムの健全性を優先する志向によるものでしょう。
推奨されない方法を取るからには、不便であることは当然となります。
どうしても、そのバージョンでなければならないと仰るなら、dpkgによる方法も、視野に入れられた方が良いのでは?

最後に、そのバージョンでなければならなかった理由は何なのでしょうか?
気になりましたもので、お尋ねします。

投稿日時 - 2017-02-05 19:41:01

お礼

ご回答していただきまして、ありがとうございます。

>基本的に、…不便であることは当然となります。
ご回答の内容に同意見でした。

>最後に、そのバージョンでなければならなかった理由は何なのでしょうか?
特に理由はなく、内部でこの方法でインストールしてこのバージョンでないと動作保証しないようなニュアンスです。

投稿日時 - 2017-02-09 04:16:07

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)