ソフトウェアセンターが複数のダウンロードを許可しないのはなぜですか?


29

ソフトウェアセンターが要求されたすべてのアプリをダウンロードせず、ダウンロードが完了したときに1つずつインストールしないのはなぜだろうと思っていました。または代わりに、ソフトウェアセンターが他のアプリのインストール中にアプリをダウンロードしない理由


おそらく帯域幅を節約するために
...-drnessie

1
AFAIK sudo apt-get installは、必要な数のパッケージをインストールできます。パッケージ名を知る必要があります。
-sagarchalise

@drnessieいいえ、そうではありません!apt-getで両方を同時にインストールする場合は、同時にダウンロードしてから、一度に1つだけインストールします。
アルヴァ

@Alvar OK。私はLinux Mintでそれをしました。しかし、Ubuntuで同じことを試してもうまくいきません。実行する方法?
MycrofD 14年

@MycrofDそして、何をしようとしているのですか?
アルバ14年

回答:


29

それはいい質問です。これは、apt-getなどが使用するのと同じパッケージツールに基づいているためです。これらは、インストールされるすべてのパッケージを提供するように設計されており、残りは自動的に行われます。ほとんどの場合、これは非常に優れていますが、ソフトウェアセンターではいくつかの問題が発生します。最初にインストールするパッケージを選択してからボタンをクリックして実際にダウンロードしてインストールするか、アプリケーションをキューに入れてから1つずつダウンロードしてインストールする必要があります。これにより、1つのアプリケーションをインストールする場合、余分なクリックを使用するよりもはるかに優れたユーザーエクスペリエンスが提供されますが、「買い物」をしているときにも面倒です。

これを修正することは可能ですので、将来的には修正されることを期待していますが、既存のツールを再作成または書き換えることを意味するため、優先度が非常に高いとは思いません。

詳しく説明します。

パッケージは他のパッケージに依存する場合があります。これらのパッケージが利用できない場合、パッケージをインストールできません。そのため、apt-getなどのツールは、最初に要求するすべてのパッケージと依存するすべてのパッケージなどをダウンロードしてから、すべてをインストールします。したがって、通常は必要なすべてのパッケージを一度に提供し、最初にダウンロードしてからインストールします。

ソフトウェアセンターにアプリケーションをインストールする場合、通常はすぐにダウンロードとインストールを開始する必要があります。ただし、すべてが正常であることを確認するために、一度に実行できるインストールは1つだけです。そのため、アプリケーションをインストールするときに、そのアプリケーションが完全にダウンロードおよびインストールされるまで待ってから、次のダウンロードとインストールを開始する必要があります。

これは、apt-getを使用してパッケージをインストールするのではなく、代わりにパッケージを手動でダウンロードし、準備ができたらdpkgを使用してインストールすることで修正できます。それでも2つのパッケージを同時にインストールすることはできませんが、以前に開始したインストールが完了している間に新しいパッケージのダウンロードを開始することができます。場合によっては、かなりの時間を節約できるので、良いアイデアです。しかし、ほとんどの場合、それは本当に重要ではないので、努力は他の場所によりよく焦点を合わせられます。


私はロックされたデータベースで動作します...ではない100%確信しているが、実際には、apt-getは、インストールせずに、パッケージをダウンロードすることができます
JanC

Linux Mintでの同時ダウンロードとインストールはおそらく動作します。Ubuntuにはありません。
MycrofD 14年

2
@MycrofD:私はそのコメントの要点がどうなっていたのか本当に分かりません。確かに、Ubuntuでは一度に複数のパッケージをダウンロードできます。apt-getとそれに基づいたツールでそれを行うことはできません。それは、あなたが話しているディストリビューションに関係なく、明らかにです。
ジョーエルレンドシンスタット14年

10

一度にインストールできるパッケージは1つだけですがsudo apt-get install、1つのコマンドで複数のパッケージをインストールできます。このような:

  • sudo apt-get install ubuntu-desktop lubuntu-desktop

これは、両方がインストールされますubuntu-desktopし、lubuntu-desktopそしてどのような正しい順序で、彼らは必要依存関係します。

また、でシステムを更新する場合sudo apt-get upgrade、最初にすべてのソフトウェアをダウンロードしてから、一度に1つのパッケージをインストールします。


一度に複数のパッケージをインストールできない理由は、1つのインスタンスのみapt-getが同時に特権を使用できるためです。これは、をapt-getロックし、software sources他のコマンドがそれらを使用するのをブロックするためです。


@Rinzwindが言うように、どういうわけか2つの別個のapt-getを開始するとしましょう。理論的には、少なくともソースリストを編集して、新しいソフトウェアを見つけてインストールすることができます。これにより、システムをアップグレードすると同時に、インストールしたプログラムがソースリストを編集し、安全でないリポジトリを追加する可能性があります。これはセキュリティの問題である可能性があります。

別の例
また、2つの個別のコマンドでソースリストを編集した場合、保存するときに最新バージョンを置き換えます。これは、最後に保存したバージョンになります。つまり、古いバージョンを上書き保存するため、中央のコマンドは効果がありません。


Windowsは「公式」(MSI)インストーラーを使用して同様に動作します

Windowsでも、複数のソフトウェアを同時にインストールできます...これに利点があるのか​​、これがlinux / ubuntuなどに必要なのか...

公式のWindowsインストーラー(MSI)を使用するパッケージは、一度に複数のインスタンスを実行することを拒否します。これは、MSIインストーラーデータベースがsources.list、dpkg情報ファイルなどに類似しているためです。一度に複数のインストーラーがそれらを変更/ロックすることは望ましくありません。

しかし、多くのWindowsパッケージは、Installshield、NSISなどのサードパーティインストーラーを使用します。これらは、MSIデータベースにアクセス/変更する必要がないため、一緒に実行されます。同様に、Linux / Ubuntuでは、誰もがapt-get、a tar -xzf、perl / bashインストールスクリプトを同時に実行することを止めません:)


1
私は間違っていないよ場合は、多くのアプリケーションが使用して実行することができsudo、同時に、それは管理をパッケージ化するために来るとき、一つだけ、そのようなアプリがある時点でパッケージをインストールまたは削除することができ、実行されているので、apt取得するロックsources.list、したがってもしあれば他のパッケージ管理アプリを実行しようとすると、そのファイルがロックされないため、実行されません。
クシャル

@Kushは、1つしか使用できないapt-getです、申し訳ありませんが、私はそのエラーを受け取ってから長い時間がかかりました。
アルヴァ

@Rinzwindこれはあなたの言うことですか?:)
Alvar

2
@Alvar:下部にある同様のWindowsの動作を含めるように編集:人々はWindowsが何らかの形で「優れた」であることを誤解取得する必要はありません。)
っぽい

1
@Alvar ...ありがとうございます!! それcleard私の基本的な..;)
Nirmik

7

まず、この答えは私が私の経験から集められたものであることが知られてみましょうdpkgapt。これを判断するために、実際のソフトウェアセンターコードを見たことはありません。

基礎となるソフトウェアの設計の限界です。

dpkgUbuntuがパッケージに使用するシステムの一部には、/var/lib/dpkg/lockファイルを「ロック」して、複数dpkgapt-getおよびUbuntu Software Centerがフロントエンド)自体やその他の悪い悪事を上書きしないようにする機能が含まれています。

ソフトウェアをインストールするとどうなりますか?何が起こるかが始まりますsudo apt-get install chromium-browser(例としてChromiumを使用します)。

そして、それが起こると、ロックが作動します。インストールするパッケージを複数追加すると、次は、最初のパッケージが完了するまで待ってから次のaptコマンドを開始します。


4

メニューの更新、フォントのインデックス付け、ライブラリの再構成などの一部のアクションは、すべてのパッケージが同時にインストールされている場合に一度だけ実行する必要があります。願わくば、2番目の利点はあまり起こらないはずですが、お互いを除外するパッケージをインストールしたい場合は、すべてをダウンロードする前にそれを知っています。

最後の利点は、多くのパッケージを一度にインストールまたはアップグレードする場合に最も重要です。質問に回答する必要がある場合、インストールの進行中にすべての質問が後に続きます。そのため、5分ごとに別の質問に悩まされる代わりに、作業を続けることができます。


そこにはいくつか興味深い点がありました。:)
ジョーエルレンドシンスタッド

2

apt-getの2つのインスタンスが同時に動作できないのは、アプリケーションがシステムの動作に重要ないくつかのファイルを読み書きしているためです。apt-get操作によるファイルの読み取りまたは書き込み中に別の操作が同じ操作を実行していると、不適切な構成やファイルの損傷の問題が発生します。したがって、apt-get操作が発生すると、必要なファイルが「ロック」され、別の操作を同時に実行できなくなります。つまり、ファイルが現在使用されていることを他の操作に通知するフラグを立てます。

ただし、aptに必要なファイルの同時ダウンロード(または多くのソースからのダウンロード)は、apt-fastコマンドを使用して可能です。

https://github.com/ilikenwf/apt-fast


0

一度に複数のファイルをインストールする簡単な方法は、次の手順に従ってください

  1. たとえば、/ home / user / appsなどのすべてのインストールフォルダーをコピーします。
  2. ターミナルを開いてタイプ:

    CD / home / user / apps

  3. そして、もう一度入力します

    sudo dpkg -i * .deb

インストールが完了するまで待ちます。


1
それでも.debファイルは1つずつインストールされます。OPが求めたものではなく、複数の.debファイルを同時にインストールすることを望んでいます。
ISH

-1

ターミナル1などにインストールしている間に、パッケージをダウンロードします

sudo apt-get install vlc

次に、別の端末2に別のパッケージをダウンロードします

sudo apt-get download openssh-server

apt-getで使用可能な他のオプションを確認するには、そのmanシンプルタイプを参照してください

apt-get <press tab on your keyboard>

これは質問に答えません。
Guntbert

@guntbert私は彼の質問の2番目の部分に答えていました、「代わりにソフトウェアセンターが他のインストール中にアプリをダウンロードしない理由」と言い、インストール中に別のパッケージをダウンロードすることはできないと主張していた間違っている別の。
-marengz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.