Armadilloフォーラム

ATDE5にopenssh-server(1:6.0p1-4+deb7u6)をインストールする方法

y.nakamura

2019年6月7日 3時02分

中村です。

atde5-i386-20171109を使用しています。
(以前使っていたものとは別に新規に作業環境構築中です)
(もしかしたらATDE5にopenssh-serverをインストールするのは初めてかも)

ATDE5にopenssh-serverをインストールしようとしたところ、
インストール済みのopenssh-clientとバージョンが異なり、
そのままではopenssh-serverをインストールできませんでした。

wheezyのパッケージがアーカイブに移されたようなので、
/etc/apt/sources.listは次のように修正してあります。
deb http://archive.debian.org/debian/ wheezy main contrib non-free
deb-src http://archive.debian.org/debian/ wheezy main contrib non-free

標準状態のatde5にインストールされているopenssh-clientは、
1:6.0p1-4+deb7u6です。
https://download.atmark-techno.com/atde/atde5-i386-dpkg-list-20171109.t…

ところが、apt-getインストールできるopenssh-serverは、
1:6.0p1-4+deb7u4であるため、次のようなエラーになってしまいます。

$ sudo apt-get install openssh-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:
 
以下のパッケージには満たせない依存関係があります:
 openssh-server : 依存: openssh-client (= 1:6.0p1-4+deb7u4) しかし、
1:6.0p1-4+deb7u6 はインストールされようとしています
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
 
$ apt-cache policy openssh-server
openssh-server:
  インストールされているバージョン: (なし)
  候補:               1:6.0p1-4+deb7u4
  バージョンテーブル:
     1:6.0p1-4+deb7u4 0
        500 http://archive.debian.org/debian/ wheezy/main i386 Packages

しかたがないのでopenssh-clientをアンインストール。
$ sudo apt-get remove openssh-client

openssh-serverとopenssh-clientをインストール。
$ sudo apt-get install ssh
...(途中省略)...
取得:1 http://archive.debian.org/debian/ wheezy/main openssh-client i386 1:6.0p1-4+deb7u4 [1,044 kB]
取得:2 http://archive.debian.org/debian/ wheezy/main openssh-server i386 1:6.0p1-4+deb7u4 [343 kB]
取得:3 http://archive.debian.org/debian/ wheezy/main ssh all 1:6.0p1-4+deb7u4 [1,230 B]
...(後半省略)...

とすることでとりあえずsshサーバをインストールできましたが、
openssh-server(1:6.0p1-4+deb7u6)をインストールする方法は
あるのでしょうか?

それとも・・・
ATDE5に入っている1:6.0p1-4+deb7u6はapt-getで
インストールしたものではないなど、
何か特別な理由があるのでしょうか?

--
なかむら

コメント

at_hanada

2019年6月7日 16時09分

花田です。
# 試してませんがコメントします…

> wheezyのパッケージがアーカイブに移されたようなので、
> /etc/apt/sources.listは次のように修正してあります。
> deb http://archive.debian.org/debian/ wheezy main contrib non-free
> deb-src http://archive.debian.org/debian/ wheezy main contrib non-free

deb http://archive.debian.org/debian-security/ wheezy/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ wheezy/updates main contrib non-free

を足してください。

> 標準状態のatde5にインストールされているopenssh-clientは、
> 1:6.0p1-4+deb7u6です。

archiveに移行する前のdebian-security(wheezy-lts)からインストールされたものと思われます…

> ところが、apt-getインストールできるopenssh-serverは、
> 1:6.0p1-4+deb7u4であるため、次のようなエラーになってしまいます。

こっちはdebian(wheezy)にあるものです。

ただdebian-securityのwheezy/updatesも、6.0p1-4+deb7u7に上がってしまっておりました。

http://archive.debian.org/debian-security/pool/updates/main/o/openssh/

なのでclient/serverまとめてu7に上げてしまってください。

y.nakamura

2019年6月7日 17時33分

中村です。

花田さん、ありがとうございます。

その前に些細なことですが、最初の私の投稿で
>> (もしかしたらATDE5にopenssh-serverをインストールするのは初めてかも)
初めてではなく、古いATDE5ではやったことがあったようです。
atde5-i386-20171109は使うのが今回が初めてです。

> deb http://archive.debian.org/debian-security/ wheezy/updates main contrib non-free
> deb-src http://archive.debian.org/debian-security/ wheezy/updates main contrib non-free
>
> を足してください。

次のように設定しました。
--------------
deb http://archive.debian.org/debian/ wheezy main contrib non-free
deb-src http://archive.debian.org/debian/ wheezy main contrib non-free

deb http://archive.debian.org/debian-security/ wheezy/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ wheezy/updates main contrib non-free

deb http://download.atmark-techno.com/debian/ wheezy main contrib non-free
--------------

この状態で、apt-get updateが失敗します。
--------------
atmark@atde5:~$ sudo apt-get update
取得:1 http://archive.debian.org wheezy Release.gpg [2,373 B]
取得:2 http://archive.debian.org wheezy/updates Release.gpg [1,601 B]
取得:3 http://archive.debian.org wheezy Release [191 kB]
取得:4 http://archive.debian.org wheezy/updates Release [52.3 kB]
E: http://archive.debian.org/debian-security/dists/wheezy/updates/Release のRel
ease ファイルは期限切れ (57日 16時間 49分 34秒 以来無効) です。このリポジトリか
らの更新物は適用されません。
--------------

updateが失敗するので、openssh-serverのインストールは・・・
--------------
$ sudo apt-get install openssh-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: パッケージ openssh-server が見つかりません
--------------

> archiveに移行する前のdebian-security(wheezy-lts)からインストールされたものと思われます…

調べてみたとこでは、wheezyがarchiveに移行したのは
つい最近(今年の3月)みたいですね。
https://lists.debian.org/debian-devel-announce/2019/03/msg00006.html

この中に"except LTS"とありますが、LTS除外はJessieの話で、
Wheezyは全部ってことかと思います。

> ただdebian-securityのwheezy/updatesも、6.0p1-4+deb7u7に上がってしまっておりました。
> http://archive.debian.org/debian-security/pool/updates/main/o/openssh/
> なのでclient/serverまとめてu7に上げてしまってください。

情報ありがとうございます。

今回の用途(目的)は、開発作業時にATDE5にsshで接続したいというだけなので、
とりあえずはダウングレードでも動けばそれでOKとしたいところですが、
できればセキュリティアップデートを入れておきたいと思っています。
(telnetdでも代用はできるので、無理にsshdを入れなくても...)

私ももう少し調べてみますが、何か情報がありましたら、
引き続きよろしくお願いいたします。

--
なかむら

y.nakamura

2019年6月7日 17時46分

中村です。

正しい対処方法なのかわかりませんが、
次の方法でupdateすることで期限切れの回避ができました。

$ sudo apt-get -o Acquire::Check-Valid-Until=false update

このあとopenssh-serverをインストールして、成功。

---------------
$ sudo apt-get install openssh-server
...(途中省略)...
取得:1 http://archive.debian.org/debian-security/ wheezy/updates/main openssh-client i386 1:6.0p1-4+deb7u7 [1,044 kB]
取得:2 http://archive.debian.org/debian-security/ wheezy/updates/main openssh-server i386 1:6.0p1-4+deb7u7 [343 kB]
1,388 kB を 4秒 で取得しました (339 kB/s)
...(後半省略)...
---------------

サーバーもクライアントも1:6.0p1-4+deb7u7になりました。

ありがとうございました。

--
なかむら

at_hanada

2019年6月7日 17時46分

花田です。

> E: http://archive.debian.org/debian-security/dists/wheezy/updates/Release のRel
> ease ファイルは期限切れ (57日 16時間 49分 34秒 以来無効) です。このリポジトリか
> らの更新物は適用されません。

これの直接的な対処は、この辺ですね…

apt-get -o Acquire::Check-Valid-Until=false update

Werckerでapt-get updateするとInReleaseファイルの有効期限が切れていると怒られる - Qiita
https://qiita.com/myoshioka/items/68cd40ac41320057df20

apt-getのたびに打つのは面倒で、常時こうするなら

echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf

とすれば良さそう。
現状こうするしかないのかどうか、社内でちょっと調べてみます。

y.nakamura

2019年6月7日 17時57分

中村です。

1つ前の投稿、ほぼ同時刻だったようで・・・

> これの直接的な対処は、この辺ですね…
>
> apt-get -o Acquire::Check-Valid-Until=false update
>
> Werckerでapt-get updateするとInReleaseファイルの有効期限が切れていると怒られる - Qiita
> https://qiita.com/myoshioka/items/68cd40ac41320057df20

私も同じこれを読んで試した結果が、先の投稿でした。

> apt-getのたびに打つのは面倒で、常時こうするなら
>
>

> echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf
> 

>
> とすれば良さそう。

confファイルに入れちゃえ!ってことですね。
今後の参考にさせていただきます。

> 現状こうするしかないのかどうか、社内でちょっと調べてみます。

ATDE5はまだまだ400,800,IoTG2などで使うことがありますので、
Wheezyでの対処方法は必要かと思いますが、できれば、
400,800,IoTG2などの開発環境もstretchなどに
アップグレードする方向へ持って行った方がいいのかな?と。

よろしくお願いします。

--
なかむら

at_kojiro.yamada

2019年6月7日 21時10分

> > echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf

/etc/apt/apt.conf はrootユーザーでないと書き込みできないので、
上記コマンドではエラーになります。
また '>' だと既存の設定を削除してしまうので、 '>>' のほうが適切でした。

修正したコマンドラインは以下のとおりです。

[ATDE5]$ sudo sh -c "echo 'Acquire::Check-Valid-Until false;' >> /etc/apt/apt.conf"

> > 現状こうするしかないのかどうか、社内でちょっと調べてみます。

やはり、コマンドの引数かapt.confで Valid-Until を無視するしかなさそうです。

apt-get updateで発生したエラーログのとおり、 wheezy の Release[1]ファイルの有効期限が切れているのが原因です。
Releaseファイルが更新されるまでは Valid-Until を無視するしかありません。

ただ、wheezy の Release[1]ファイルは、更新されないかもしれません。
wheezy 以外の Releaseファイルを見たところ、
lenny の Release[2]ファイルは、有効期限が2012年4月2日のまま更新されておらず、
squeeze の Release[3]ファイルは、そもそも有効期限がありませんでした。
他のディストリビューションについても、有効期限が切れたまま更新されていないか、もしくは有効期限が設定されていない、という状態でした。

[1]http://archive.debian.org/debian-security/dists/wheezy/updates/Release
[2]http://archive.debian.org/debian-security/dists/lenny/updates/Release
[3]http://archive.debian.org/debian-security/dists/squeeze/updates/Release

archive.debian.orgに移行したディストリビューションは通常、新たにセキュリティアップデートされないので、
これは私の推測になりますが、
「有効期限は不要、有効期限をつけてしまったとしても無視すればいい」
ということかもしれません。

y.nakamura

2019年6月7日 21時42分

中村です。

> > > echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf
>
> /etc/apt/apt.conf はrootユーザーでないと書き込みできないので、
...
> [ATDE5]$ sudo sh -c "echo 'Acquire::Check-Valid-Until false;' >> /etc/apt/apt.conf"

これは(私は)大丈夫です。通常はエディタでファイルを編集しますので。
$ sudo vi /etc/apt/apt.conf

> やはり、コマンドの引数かapt.confで Valid-Until を無視するしかなさそうです。
...
> Releaseファイルが更新されるまでは Valid-Until を無視するしかありません。
>
> ただ、wheezy の Release[1]ファイルは、更新されないかもしれません。
...
> archive.debian.orgに移行したディストリビューションは通常、新たにセキュリティアップデートされないので、
> これは私の推測になりますが、
> 「有効期限は不要、有効期限をつけてしまったとしても無視すればいい」
> ということかもしれません。

yamadaさん、どうもありがとうございます。

--
なかむら