yumリポジトリーをセットアップしていますが、yum.confファイル内のURLのいくつかをデバッグする必要があります。Scientific LinuxがこのURLを取得しようとしている理由を知る必要があります。
# yum install package
http://192.168.1.100/pub/scientific/6.1/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: sl. Please verify its path and try again
yum.conf(5)マニュアルページには、これらの変数に関するいくつかの情報を提供します:
変数
yumの設定ファイルのメンテナンスを容易にするために使用できる変数がいくつかあります。それらは、名前、baseurl、コマンドを含むいくつかのオプションの値で利用可能です。
$ releaseverこれは、distroverpkgにリストされているパッケージのバージョンの値に置き換えられます。これはデフォルトで 'redhat-release'パッケージのバージョンになります。
$ archこれは、Pythonのos.uname()[4]でリストされているアーキテクチャに置き換えられます。
$ basearchこれは、yumの基本アーキテクチャに置き換えられます。たとえば、$ archがi686の場合、$ basearchはi386になります。
$ YUM0- $ YUM9これらは、同じ名前のシェル環境変数の値に置き換えられます。シェル環境変数が存在しない場合、構成ファイル変数は置き換えられません。
yum
コマンドラインユーティリティを使用してこれらの変数を表示する方法はありますか?「redhat-release」パッケージのバージョンを追い詰めたり、Pythonでos.uname()[4]の値を手動で取得したりしないことを希望します。
/etc/redhat-release
$releasever
変数と同じものではありません。ここでの質問は、これらの変数の代わりにYumが何を置き換えているかを把握することです。プログラムで何が起きているのですか?
rpm -qf /etc/issue
は標準的な方法であり、SuSEがFSStndミーティングで動き出した以外はLSB の方法でした。ヤリー。
cat /etc/redhat-release
実際には、cat /etc/system-release
代わりに使用してください。これは、/ etc / redhat-release、/ etc / centos-release、/ etc / oel-release、/ etc / <whatever Scientific Linuxが使用するもの>へのシンボリックリンクになるためです。