![「apt/yum install」で実際のパッケージ URL が表示されないのはなぜですか?](https://rvso.com/image/1555389/%E3%80%8Capt%2Fyum%20install%E3%80%8D%E3%81%A7%E5%AE%9F%E9%9A%9B%E3%81%AE%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%20URL%20%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
パッケージを表示するコマンドがあることは知っています(.rpm/.deb) ダウンロードなしの URL:
#apt
apt download --print-uris PACKAGE
#yum
repoquery --location PACKAGE
yumdownloader --urls PACKAGE
しかし、一体なぜ、apt/yum install
ダウンロードされる実際のパッケージ URL が表示されないのでしょうか?
#apt just show an abstract url, not the actual. (actual is .../pool/...deb)
Get:3 http://archive.ubuntu.com/ubuntu xenial/universe amd64 socat amd64 1.7.3.1-1 [321 kB]
#yum neither show url
---> Package socat.x86_64 0:1.7.3.2-2.el7 will be installed
これまでのところ、パッケージ URL を表示するためのオプション/設定はありません。
もううんざりです。なぜ実際のパッケージ URL を常に隠そうとするのか、誰か教えてもらえませんか?
答え1
についてお答えしますapt
。
実際の URL が印刷されない理由は抽象化によるもので、クラスにパブリック変数ではなく getVar() 関数と setVar() 関数があるのと同じです。パッケージは手動で取得するのではなく、パッケージ マネージャーによって取得されることを意図しているため、デフォルトで URL を表示する必要はありません。
現在の形式では、URL では明らかにされないパッケージのリリースとコンポーネントに関する情報が表示されます。
パッケージの命名スキームが変更された場合を考えてみましょう。その場合、URL にはパッケージのバージョンとアーキテクチャに関する情報が欠落することになります。
URL 自体が変更されたかどうかを検討してください。パッケージをダウンロードするための現在の出力形式は同じままにすることができますが、URL がデフォルトで表示される場合はそうではありません。