GNU/Linux >> Linux の 問題 >  >> Linux

Alienを使用してRPMからDEBおよびDEBからRPMパッケージに変換する方法

すでにご存知のとおり、Linuxにソフトウェアをインストールする方法はたくさんあります。ディストリビューションが提供するパッケージ管理システム(aptitude、yum、zypperなど)を使用して、ソースからコンパイルします(多少はありますが)。最近ではまれですが、Linuxの初期の頃に利用できた唯一の方法でした)、または dpkgなどの低レベルのツールを利用していました またはrpm .debを使用 および.rpm それぞれスタンドアロンのプリコンパイル済みパッケージ。

この記事では、エイリアンを紹介します 、 .rpm を使用して、異なるLinuxパッケージ形式間で変換するツール .debへ (およびその逆)最も一般的な使用法です。

このツールは、作成者がメンテナンスを行っておらず、Webサイトでエイリアンは常に実験的な状態のままであると述べている場合でも、特定の種類のパッケージが必要な場合に便利ですが、そのプログラムは別のパッケージ形式でしか見つけることができません。

たとえば、エイリアン .deb を探していたときに、1日を節約できました インクジェットのドライバー プリンタが見つかりませんでした–製造元は .rpmのみを提供しました パッケージ。エイリアンをインストールしてパッケージを変換したところ、やがて問題なくプリンタを使用できるようになりました。

とはいえ、重要なシステムファイルやライブラリはディストリビューション間で設定が異なるため、このユーティリティを使用して重要なシステムファイルやライブラリを置き換えることはできないことを明確にする必要があります。この記事の冒頭で提案されているインストール方法が必要なプログラムの問題外である場合にのみ、最後の手段としてエイリアンを使用してください。

最後になりましたが、 CentOS を使用する場合でも、注意する必要があります。 およびDebian この記事では、エイリアンは Slackwareでも動作することが知られています Solaris でも 、最初の2つのディストリビューションとそれぞれのファミリに加えて。

ステップ1:エイリアンと依存関係のインストール

エイリアンをインストールするには CentOS / RHEL 7 EPELを有効にする必要があります およびNuxDextop (はい、デスクトップではなくDextopです)リポジトリ、この順序で:

# yum install epel-release
# rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

このリポジトリを有効にするパッケージの最新バージョンは、現在 0.5です。 (2015年8月10日公開 )。先に進む前に、http://li.nux.ro/download/nux/dextop/el7/x86_64/をチェックして、新しいバージョンがあるかどうかを確認する必要があります。

# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

その後、

# yum update && yum install alien

Fedora 、最後のコマンドを実行するだけで済みます。

Debianおよび派生物では、次のようにします。

# aptitude install alien

ステップ2:.debから.rpmパッケージへの変換

このテストでは、 dateutilsを選択しました 、日付のセットを提供します および時間 大量の財務データを処理するユーティリティ。 .debをダウンロードします CentOS 7へのパッケージ ボックスで、 .rpmに変換します インストールします:

# cat /etc/centos-release
# wget http://ftp.us.debian.org/debian/pool/main/d/dateutils/dateutils_0.3.1-1.1_amd64.deb
# alien --to-rpm --scripts dateutils_0.3.1-1.1_amd64.deb

重要 :(デフォルトでは、エイリアンがターゲットパッケージのバージョンマイナー番号を増やす方法に注意してください。この動作をオーバーライドする場合は、 –keep-versionを追加してください。 フラグ)。

パッケージをすぐにインストールしようとすると、わずかな問題が発生します:

# rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm 

この問題を解決するために、epel-testingリポジトリを有効にします rpmrebuildをインストールします 再構築するパッケージの設定を編集するユーティリティ:

# yum --enablerepo=epel-testing install rpmrebuild

次に実行します

# rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm

これにより、デフォルトのテキストエディタが開きます。 %filesに移動します セクションを作成し、エラーメッセージに記載されているディレクトリを参照している行を削除してから、ファイルを保存して終了します。

終了するとき 再構築を続行するように求められるファイル。 Yを選択した場合 、ファイルは指定されたディレクトリ(現在の作業ディレクトリとは異なります)に再構築されます:

# rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm

これで、パッケージのインストールに進み、通常どおりに確認できます。

# rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm
# rpm -qa | grep dateutils

最後に、 dateutilsに含まれていた個々のツールを一覧表示できます。 または、それぞれのマニュアルページを確認してください:

# ls -l /usr/bin | grep dateutils

ステップ3:.rpmから.debパッケージへの変換

このセクションでは、 .rpmから変換する方法を説明します。 .debへ 。 32ビットのDebianWheezy ボックスで、 .rpmをダウンロードしましょう zshのパッケージ CentOS 6 OSのシェル リポジトリ。このシェルはDebianおよび派生物ではデフォルトで使用できないことに注意してください。

# cat /etc/shells
# lsb_release -a | tail -n 4
# wget http://mirror.centos.org/centos/6/os/i386/Packages/zsh-4.3.11-4.el6.centos.i686.rpm
# alien --to-deb --scripts zsh-4.3.11-4.el6.centos.i686.rpm

署名の欠落に関するメッセージは安全に無視できます:

しばらくすると、 .deb ファイルが生成され、インストールの準備ができている必要があります:

# dpkg -i zsh_4.3.11-5_i386.deb

インストール後、 zsh であることを確認できます 有効なシェルのリストに追加されます:

# cat /etc/shells

概要

この記事では、.rpmから.debに変換する方法について説明しました。 逆に、そのようなプログラムがリポジトリで利用できない場合の最後の手段として、または配布可能なソースコードとしてパッケージをインストールする場合も同様です。私たち全員が一度にエイリアンを必要とするので、この記事をブックマークしたいと思うでしょう。

以下のフォームを使用して、この記事についての考えを自由に共有してください。


Linux
  1. Debian:dpkg を使用して DEB パッケージをインストールまたは削除する方法

  2. Linux でソースから (および YUM を使用して) MongoDB をインストールする方法

  3. Linux で rpm パッケージの整合性をチェックする方法

  1. LinuxでRPMまたはDEBパッケージからインストールされたファイルを一覧表示する方法

  2. Ubuntu から neovim をアンインストールする方法

  3. deb パッケージを変更するには?

  1. yumおよびyumdbを使用して追加のパッケージ情報を表示する方法– RedHat Linux

  2. CheckInstallを使用してソースからパッケージを構築する方法

  3. LinuxRPMパッケージを作成する方法