netatalk
私のRaspberry Piのやや古いバージョンを置き換えるために、ソースから最新バージョン(3.1.8)をコンパイルしました。
これは非常に成功しており、他のRaspberry Piでこのバージョンを使用したいのですが、すべてのdev
ライブラリをダウンロードして再コンパイルするのは過度のようです。
man
コンパイルされたバージョンとそのファイルconf
などを別のシステムにコピーするプロセスはありますか?
答え1
先行は達成するのが難しい~の回答一般的にはより良いアプローチですが、netatalk
この場合はパッケージを最新バージョンにアップグレードする方が適切です。複雑(少なくとも流通の場合)。
これで、ローカルにビルドされたバージョンがインストールされているので、次のnetatalk
方法を使用することをお勧めします(netatalk
というディレクトリに展開し、netatalk-3.1.8
そこからビルドしてインストールしたとします)。
tar
ソースコード(およびソースツリーに埋め込まれたバイナリ)を実行します。- Tarbolを別のRaspberry Piにコピーします。
- 他のラズベリーパイにインストール
checkinstall
タルボールを抽出します。 インストールバイナリの使用
checkinstall
checkinstall -D make install
(のように
root
)。
-dev
最後の手順では、ビルドされたソースからコピーしたバイナリを最初のRaspberry Pi(パッケージは不要)にインストールし、.deb
このバイナリからパッケージをビルドします。その後、.deb
パッケージを別のRaspberry Piシステムにコピーできます。
必要なライブラリが欠けている場合、これがどのように役立つかわかりません。したがって、ldd
まず最初のRaspberry Piでバイナリを実行し、2番目のRaspberry Piにそのパッケージがインストールされていることを確認するlib...
ことをお勧めします(!)。-dev
一つあるより簡単なバリエーションnetatalk
Makefile
作業対象がある場合uninstall
:この場合、最初のRaspberry Piで
- インストールする
checkinstall
。 削除
netatalk
:make uninstall
次のコマンドを使用して再インストールします
checkinstall
。checkinstall -D make install
これにより、必要なライブラリがインストールされ、生成されたライブラリに.deb
適切な依存関係が必要であることがわかります。
もしcheckinstall
動作しません、常に事前に構築されたtarballメソッドがあります:
tar
ソースコード(およびソースツリーに埋め込まれたバイナリ)を実行します。- Tarbolを別のRaspberry Piにコピーします。
- すべてのRaspberry Piで実行されます
make install
。 - すべてが正しく機能するためには、別々にインストールする必要があるライブラリを記録してください。
答え2
yum
これがまさに、、、などのdpkg
パッケージングツールが使用される理由です。rpm
私はRasbianユーザーではなく、netatalkがシステムパッケージとして利用可能かどうかわかりません(確認中...そうだ)。
- 可能であれば、それが最初の寄港地になります。
- 利用可能ですが、バージョンが古すぎる場合は、パッケージ管理者に連絡して更新を依頼してください。
- 利用できない場合や管理者に連絡したくない場合は、Rasbianが使用するパッケージ管理システム(Debianパッケージのようです)を使用してパッケージを構築することを検討できます。これはガイドですについて
dpkg
これは別のものです。ラトビアリンク彼らだけのページ。
バイナリパッケージを使用しないということは、すべてのファイルがインストールされている場所を直接追跡し、何らかの方法でパッケージ化し、tarファイルを解凍してもターゲットの内容を上書きしないことを意味します。これは、パッケージ管理ツールが実行するすべての操作です(依存関係を満たすことなど)。
Rasbianはユーザーの関与に頼る小規模なディストリビューションのように思えるので、パッケージマネージャとの友好的な会話をするのが良いでしょう。