RepairDiskのカスタマイズ:LFSへの道

多くの場合、LiveCDからシステムを修復する必要があり、プロセスのある時点でツールが不足していて、インストールするときに、LiveCDOSからスペースが不足していることが通知されます。にんにくと水(性交して保持するため)。

この問題は、LFSに入ったために本当に私に来ました(LinuxFromScratch)、これはカスタムLinuxをインストールするためのガイド(ディストリビューション自体ではありません)です。 この「配布」のポイントは、任意のLiveCDから、適切なツールを使用して、カーネルコードやその他のツールをダウンロードし、独自のシステムを構築することです(すべてを少しずつコンパイルします)。 ステップバイステップガイドに従いたい場合は、いくつかのツールとコンパイラが必要であり、すべてを備えたliveCDがないため、XNUMXつをカスタマイズする必要があります。

やってみましょう。 を使用します SystemRescueCD、かなり包括的なGentooベースの環境を提供します。

この例(Linux From Scratchの本に続いてLinuxを最初からインストールする)では、BisonプログラムとMakeinfoプログラムが欠落しているため、このディスクの新しいISOイメージを新しいツールで作成します。

注意:Gentooはコンパイルするディストリビューションです 現場の すべてのパッケージがインストールされるため、プログラムの追加と更新のプロセスは遅くなります。

パッケージマネージャーが使用されますが(Debianのapt-getのように)、パッケージをダウンロードする代わりに、ソースコードがダウンロードされてマシン上でコンパイルされます。

このプロセスでは、少なくとも4Gの空き容量があるLinuxパーティション(たとえば、ext1.5)が必要ですが、それ以上が推奨されます。 パーティションをいじりたくない場合は、仮想マシンを利用してください。 もちろん、リポジトリのコンパイル、インストール、同期のプロセス中に一時的なスペースが必要になるため、パーティションには数ギガバイトを含めることをお勧めします。 8G + 2Gスワップパーティションを使用することをお勧めします(4G + 1Gでは十分なはずですが、RAM /スワップがない場合、プロセスはさらに遅くなります)。

10Gディスクを使用して仮想マシンを作成したとすると、新しくダウンロードしたSystemRescueCdから起動するように指示することで仮想マシンを起動します。 内部に入ると、fdiskでパーティションを作成します(グラフィカルセッションを開始した場合は、gpartedで実行できますが、この投稿の目的は、基本的なツールの使用法を教えることです)。 fdiskはインタラクティブなコマンドです。

  • オプション「n」を使用して、新しいパーティションを作成します
  • オプション「t」を使用して、パーティションに配置するファイルシステムのタイプを変更します
  • オプション«w»を使用してディスクに書き込みます
  • オプション«q»を使用すると、変更を書き込まずに終了します

「n」オプションを使用すると、いくつかのオプションが表示されます。最初のパーティションの最後のセクターを設定する場合を除いて、常にデフォルトを使用します。これは、「+ 8G」と記述して、プログラムに示す必要があります。パーティションが8GBを占めるようにします。

82番目のパーティションを作成するときは、残りのスペースが占有されるため、デフォルトのオプションを使用します。 また、XNUMX番目のパーティションがスワップタイプになることをfdiskに通知するには、「t」オプションを使用します(スワップのXNUMX進コードはXNUMXです)。 インターフェイスは次のようになります。

%fdisk / dev / sdaコマンド(ヘルプはm):

すべてが完了したら、「w」オプションを使用して変更をディスクに書き込み、終了します。
次に、パーティションをフォーマットします。 すぐに利用できるように、スワップから始めます。

%mkswap / dev / sda2%swapon / dev / sda2

スワップパーティションはすでにフォーマットされており、コマンドを使用して swapon 使い始めました。 ここで、ext4の最初のパーティションをフォーマットします。

% mkfs.ext4 /dev/sda1

で説明されている手順を実行し始めることができます http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd、ここで私はそれらを奇妙な注釈で翻訳/説明します。

パーティションをその場所にマウントします(LiveCDには、適切な変更を行うパーティションをマウントする必要があるフォルダー/ mnt / customが既に用意されています)。 また、マウント後、ディスクからファイルを抽出する必要があります。これは、すでに準備されているスクリプトを使用して実現されます。 スクリプトはしばらく時間がかかります(数百メガバイトのメモリをダンプするため)。実際に機能していることを確認したい場合は、別の端末(Alt + F4など)に移動して、 df -h.

%mount / dev / sda2 / mnt / custom%/ usr / sbin / sysresccd-カスタム抽出

あなたが今内をナビゲートする場合 / mnt / custom / customcd、いくつかのフォルダが表示されます。 に / mnt / custom / customcd / files ルートファイルシステムが見つかりました。 今度は、将来の新しいシステムをchrootするときです。 ここにコマンドを配置します。chrootの詳細については、こちらをご覧ください。 XNUMXか月前に書いたこのチュートリアル

%mount -o bind / proc / mnt / custom / customcd / files / proc%mount -o bind / dev / mnt / custom / customcd / files / dev%mount -o bind / sys / mnt / custom / customcd / files / sys%chroot / mnt / custom / customcd / files / bin / bash#gcc-config $(gcc-config -c)

私たちはすでにchrootされたシステムにいます。これは、起動するとLiveCDシステムになります。 コマンドを使用して、不足しているパッケージ(bisonおよびtexinfo)をインストールします 出てくる (の小包を扱う人 ポートレート gentooから)。

まず、Portageツリーを同期します( apt-get updateを実行し)
# emerge-webrsync 注:このコマンドは「emerge–sync」の代わりに使用します。これは、Webからtarパックをダウンロードするため高速であるためです。 出現しない場合は自動的に出現するため、この手順が必要です–sync、速度が低下します。

ポーテージツリーを同期した後、パッケージのインストールに進むことができます。

#emerge sys-devel / bison#emerge sys-devel / texinfo
バイソンはコンパイルするのにしばらく時間がかかります、我慢してください

chrootを残します:# exit

「/ proc」をアンマウントして、新しくインストールされたパッケージがsquashfsに保存されるようにします。 また、後で忘れないように、「/ dev」と「/ sys」をアンマウントします
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

新しいスカッシュファイルシステムはすでに準備されているので、次のコマンドで作成します
% /usr/sbin/sysresccd-custom squashfs
ISOイメージにファイルを追加したいが、それをsquashfsの外に置きたい場合は、そのファイルを«/ mnt / custom / customcd / isoroot»フォルダーに配置する必要があります。

% cp -a my-files /mnt/custom/customcd/isoroot

この時点で、公式ガイドには、デフォルトのキーボード(たとえば、スペイン語のキーボードの場合は「es」)で起動するようにキーマップを設定できることが記載されています。 しかし、いくつかのテストを実行すると、それらが使用するスクリプトが機能せず、カーネルのロード時にエラーが発生したため、この手順をスキップします。

輝かしい瞬間が到来しました。カスタマイズされたシステムで新しいISOイメージを生成できるようになりました。
% /usr/sbin/sysresccd-custom isogen my_srcd
「My_srcd」はボリュームに付ける名前で、好きなように呼び出すことができます。 画像は«/ mnt / custom / customcd / isofile»に保存され、さらに.md5ファイルも生成されます🙂

仮想ディスクで作業している場合、重要なステップが残ります。仮想システムのISOイメージを抽出します。 それを行うにはいくつかの方法があります。「ゲスト追加」などをインストールする必要がないように、(VirtualBoxで)簡単な方法を説明します。
クライアントを使用して、sshトンネルを介してファイルを取得します。 これを行うには、最初にゲストシステムをrootパスワードで構成する必要があります。 sshサーバーは自動的に起動しますが、万が一の場合に備えて再起動します。
% passwd
% /etc/init.d/sshd restart

仮想マシンのポート転送を構成する必要があります。 VirtualBoxでは、次のように実行されます。

  1. 仮想マシン構成にアクセスします
  2. ネットワークセクションでは、NATでアダプタをすでに構成しています
  3. ポート転送オプションを探す
  4. パラメータ「ホストポート」と「ゲストポート」のみを使用して、新しいルールを追加します
  5. ホスト= 3022およびゲスト= 22

これにより、PCのポート3022が仮想マシンの22であることがわかりました。 Filezillaクライアントを起動します。

  1. サーバーパラメータに次のように記述します。sftp:// localhost
  2. ユーザー名パラメーターに次のように記述します:root
  3. パスワードパラメータには、«passwd»で使用するものを入力します
  4. ポートパラメータに次のように記述します:3022
  5. «クイック接続»をクリックします

すべてがうまくいったら、PCでナビゲートし、仮想マシンで右にナビゲートできます。 (仮想マシンで)フォルダ«/ mnt / custom / customcd / isofile»にアクセスし、ISOイメージをPC上の目的の場所にドラッグするだけで十分です。

!! おめでとう!! すべてがうまくいけば、カスタマイズされたSystemRescueCDを使用してISOイメージを準備し、CD、USBから起動する準備ができています...


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   レオ

    なんて良いガイドで、やや複雑ですが、とても便利です。
    グッド貢献。

  2.   Leper_Ivan

    それからもう少し時間があり、目に不快感を与えることなく、私はそれを完全に読みます。 とても便利で面白いようです。

  3.   カルロス·サンチェス

    こんにちはwoqer、とても良い投稿です!

    私はLFSに数年携わっており、あなたに役立つ独自のISOを作成しました。これは、LFSであるため、コンパイルに必要なすべてのものを備えています。 😀それがあなたに役立つことを願っています

    http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso