chroot用にbashを/ mntに移植しようとしたときにbashが機能するには何が必要ですか?

chroot用にbashを/ mntに移植しようとしたときにbashが機能するには何が必要ですか?

私は3段階のGentoo Tarballを持っています。パッケージを開封したときに箱がなかったにもかかわらず、破損した兆候はありませんでした。私が知っている限り、残りの構成にはこの偽のGentoo環境の初期設定が含まれています。だから..実行中のFedoraでbashを移植できると思いました。これは大きな問題に関する質問ですが、一度に1つの部分だけが当てはまります。 libまたはlib64の一部のファイルについて聞いたことがありますが、どのファイルなのかわかりません。

編集:まだ「make」を使用していません。どこにいるのか明確にしてください

答え1

固定する

まず、ライブツールがstage3ワークスペースに移行/コピー/リンクされるまで待たないでください。それでは、もう一度始めましょう。まず、/dev/sda3空のパーティションを想定します。そうでない場合:

  1. /dev/sda3GPartedなどのツールを使用して作成します。
  2. ステップ1を完了した場合は、以下を発行してください。mke2fs -j /dev/sda3
  3. mkdir /mnt/gentoo && mount /dev/sda3 /mnt/gentoo
  4. CD/mnt/gentoo
  5. wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20150604/stage3-amd64-20150604.tar.bz2 -P /mnt/gentoo(amd64アーキテクチャを想定しています。)
  6. tar xvjpf stage3-*.tar.bz2 --xattrs
  7. 続けて入力してくださいステップ - パート2

推理

解凍すると、3段階のタールボールに機能するBashが含まれます。次のコマンドはGentoo基本システムのインストールの1.4節:

chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"

ビルド/インストールのためにクリーンな変更ルートディレクトリを入力します。


このマニュアルによれば、Gentooを別のライブシステムとして使用したいとします。あなたの場合、Fedoraには動作するGrubが含まれているので、無視すべき唯一のものはGRUB構成部分です。したがって、Gentooの起動オプションをFedoraのGrubオプションに追加する必要があります。

修正する

コメントによると、すべてのLinuxディストリビューションにはprofileファイルが含まれています。ディストリビューションによって異なる場所に保存されます。 Gentoo/etcはすべての設定ファイルをカスタマイズする必要があるため、このディレクトリに保存されます。引用するLinuxを超えて最初から始めるマニュアル:

シェルプログラム/bin/bash(以下「シェル」と呼ぶ)は、起動ファイルのコレクションを使用して環境を作成するのに役立ちます。各ファイルは特定の目的に使用され、さまざまな方法でログインおよび対話環境に影響を与える可能性があります。 / etcディレクトリのファイルは通常グローバル設定を提供します。ホームディレクトリに同等のファイルがある場合は、グローバル設定を上書きできます。


このように、sourceコマンドの2行目は、コマンドで入力された解凍されたtarballに含まれる環境からビルドシステム(あなたの場合はFedora)環境を分離しますchroot。これにより、外部ビルドツールがbashビルドプロセスを「汚染」することができなくなります(上記の説明を参照)。言い換えれば:configuremakeシステムを構築するために使用される設定、make、およびgccコンパイラはchrootの内部にあります。

3行目は$PS1印刷物をエクスポートします。(chroot) root@host #/

これにより、TTYまたはグラフィックコンソールを介してマニュアルに従う人がすべての文書を読み、自分が作成/更新するchrootがどこにあるかを知ることができます。

答え2

実行中のFedoraでbashを移植するには、bash実行可能ファイルだけでなく、それに依存するすべてのライブラリも必要です。これは面倒で、Gentooファイルと競合する可能性があります。

静的にリンクされたシェルを取得したら、chrootにバイナリを追加するだけで独立して動作できます。私はFedoraが何も提供していないと思います。 Debian では、次のいずれかを取得できます。バッシュスタティックウエストバンド(コマンドラインバージョンはありませんが、などの便利な組み込みコマンドが複数ありますcp。)rmmountbusybox-static(デフォルトのコマンドラインバージョンと多くの組み込み機能があります)、zsh - 静的(bashよりも優れたコマンドラインバージョンとアクティブにできるいくつかの便利な組み込みコマンドzmodload zsh/files)。パッケージからファイルを抽出するには.deb

ar p zsh-static_5.0.7-5_amd64.deb | tar xJO ./bin/zsh5-static >/path/to/zsh-static

ここで重要なのは、chrootにいくつかのデバッグツールを提供することです。もちろん、あなたがする必要があります問題を解決し、bashを正しくインストールしてください。

関連情報