Linux deb パッケージの解凍、変更、その他の操作方法のコード例

Linux deb パッケージの解凍、変更、その他の操作方法のコード例

さまざまな理由により、debパッケージ内のさまざまなファイルの内容を直接変更する必要がある場合があります。

対処する必要がある主な問題は 3 つあります。

0. deb パッケージ ファイルを解凍するにはどうすればいいですか?

1. 変更するファイルを変更しますか?

2. 変更されたコンテンツの deb パッケージを生成しますか?

解凍コマンドは

#パッケージ内のファイルを抽出ディレクトリに解凍します

lin@lin-host:~/Desktop/100 を再起動してツール$ ls
LongTestTools.sh loong-test-s2s3_1.0.0-2_all.deb readme.txt
lin@lin-host:~/Desktop/100 回ツールを再起動します$ dpkg -X loong-test-s2s3_1.0.0-2_all.deb を抽出します/
./
./usr/
./usr/bin/
./usr/bin/BootReplace.sh
./usr/bin/BootTest.sh
./usr/bin/LongTestTools.sh
./usr/bin/RebootReplace.sh
./usr/bin/RebootTest.sh
./usr/bin/SleepTest.sh
./usr/bin/SuspendTest.sh
lin@lin-host:~/Desktop/100 を再起動してツール$ ls
LongTestTools.sh loong-test-s2s3_1.0.0-2_all.deb readme.txt を抽出します。
lin@lin-host:~/Desktop/100 再起動ツール$ツリー抽出/
抽出する/
└── ユーザー
  └──ビン
    ├── BootReplace.sh
    ├── BootTest.sh
    ├── LongTestTools.sh
    ├── RebootReplace.sh
    ├── 再起動テスト.sh
    ├── スリープテスト.sh
    └── SuspendTest.sh

# パッケージ extract/DEBIAN/ の制御情報を抽出します:

lin@lin-host:~/Desktop/100 回ツールを再起動します$ dpkg -e loong-test-s2s3_1.0.0-2_all.deb extract/DEBIAN/ 
lin@lin-host:~/Desktop/100 再起動ツール$ツリー抽出/
抽出する/
├── デビアン
│ ├── コントロール
│ └── md5sums
└── ユーザー
  └──ビン
    ├── BootReplace.sh
    ├── BootTest.sh
    ├── LongTestTools.sh
    ├── RebootReplace.sh
    ├── 再起動テスト.sh
    ├── スリープテスト.sh
    └── SuspendTest.sh

3 つのディレクトリ、9 つのファイル

#ファイルを変更する

vi で抽出/usr/bin/BootTest.sh

変更したコンテンツを再パッケージ化してdebパッケージを生成します

lin@lin-host:~/Desktop/100 ツールを再起動します$ dpkg-deb -b extract/ 
dpkg-deb: 新しいソフトウェア パッケージ loong-test-s2s3 を作成しています。パッケージ ファイルは extract.deb です。
lin@lin-host:~/Desktop/100 を再起動してツール$ ls
抽出 extract.deb LongTestTools.sh readme.txt

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • IntelliJ IDEA リモート デバッグ Linux Java プログラム、ログを見るだけでなく問題を見つけます (推奨)
  • Linux で .so および実行ファイルがデバッグコンパイルされているかどうかを確認する方法 (必読)
  • Linux でソフトウェア tar.gz、rpm、deb をインストールする方法の詳細な説明
  • Debian 構成 JDK1.7 と Linux Java Helloworld
  • Debian Linux で ixgbe ドライバーをコンパイルしてインストールするチュートリアル
  • Debian Linux にパッケージがインストールされているかどうかを確認する方法
  • Windows および Linux での PHP コード デバッグ ツールである Xdebug の詳細なインストールと構成
  • Linux サーバー システム CentOS、uBuntu、Gentoo、FreeBSD、Debian の比較
  • Linux VPS セキュリティ設定 1: SSH ポートの変更 (CentOS/Debian)

<<:  Vue3 親子コンポーネントパラメータ転送における sync 修飾子の使用法の詳細な説明

>>:  IDEA で MySQL にリンクするとエラー 08001 が発生し、接続に成功した後にテーブルが表示されない問題と解決策

推薦する

MySQL の frm ファイルからテーブル構造を復元する 3 つの方法 [推奨]

mysql が正常に実行されている場合、テーブル構造を表示することは難しくありません。しかし、場合...

nginx サーバーでの 502 不正なゲートウェイ エラーの原因のトラブルシューティング

パブリックアカウントのファンデータを同期してバッチプッシュするときに、サーバーがエラー502を報告し...

vue3.0 で要素を使用するための完全な手順

序文: vue3.0の要素フレームワークを使用します。要素はvue2.0をサポートしており、vue3...

MySQL-8.0.26 構成グラフィックチュートリアル

はじめに: 最近、会社のプロジェクトでデータベースのバージョンが変更されました。ここでは、MySQL...

IE 環境での css-vars-ponyfill の使用に関する詳細な説明 (nextjs ビルド)

css-vars-ポニーフィルCSS 変数を使用して Web ページのスキニングを実現すると、互換...

Vueはel-tree遅延読み込みを使用して、追加、削除、変更、クエリ機能を実装します。

Vue のツリー表示については、プロジェクトが使用されています: エフェクト ダイアグラムがツリー...

今日と昨日の 0:00 タイムスタンプを取得する MySQL の例

以下のように表示されます。昨日: UNIX_TIMESTAMP(CAST(SYSDATE() AS ...

MySQL ユーザー変数と set ステートメントの例の詳細な説明

目次1 ユーザー変数の概要2 ユーザー変数の定義3 ユーザー変数の使用3.1 セットを通した例3.2...

OpenShift のクイックインストールの詳細な手順

OpenShift 3.9 の最新バージョンを体験する最も早い方法。準備 [root@host ~]...

CSS3 と JavaScript を使用して Web カラー ピッカーのサンプル コードを開発する

この例の Web カラー ピッカー機能は、ページ効果を実現するために CSS3 を使用します。つまり...

JavaScript Three.js でテキストを作成する最初の経験

目次効果テキストの作成を開始するまずフォントローダーを作成するフォントライブラリを読み込むテキストジ...

Web2.0製品と機能の簡単な紹介

<br />Web2.0とは何ですか? Web2.0にはソーシャルネットワーク製品とその...

Mysql 主キー UUID と自動増分主キーの違いと利点と欠点

導入私はしばらくの間、postgresql データベースを使用していました。クラウドに移行した後、自...

Dockerでコンテナを作成するときにコンテナIPを指定する実装例

Docker はコンテナを作成するときに、デフォルトでブリッジ ネットワークを使用し、IP アドレス...

JSのバイナリファミリーについての簡単な説明

目次概要ブロブBlob の動作BLOB ダウンロード ファイルブロブ画像のローカル表示BLOB ファ...