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 が発生し、接続に成功した後にテーブルが表示されない問題と解決策

推薦する

Vueルータールーティングの詳細な説明

目次1. 基本的な使い方2. 注意すべき点3. マルチレベルルーティング(マルチレベルルーティング)...

DOM操作テーブルの例(DOMはテーブルを作成します)

1. HTML タグを使用してテーブルを作成します。コードをコピーコードは次のとおりです。 <...

CSSスタイルシートを効率的に使用するためのヒント: スタイルシートの力を最大限に活用する

インターネット経済の継続的な発展に伴い、インターネット上の専門ウェブサイト、公共サービスウェブサイト...

Nginx サービス クイック スタート チュートリアル

目次1. Nginx の紹介1. Nginx とは何ですか? 2. Nginx を使用する理由3. ...

JSの矢印関数におけるこのポイントの詳細な説明

矢印関数は ES6 の新機能です。独自の this はありません。その this ポイントは外部のコ...

HTML ドキュメントに CSS を埋め込む一般的な 3 つの方法

HTMLでCSSを定義するには、埋め込み、リンク、インラインの3つの方法が一般的に使用されます。 1...

Dockerfile テキストファイルの使用例の分析

Dockerfile は、イメージをビルドするために使用されるテキスト ファイルです。テキスト コン...

この記事ではMySQLのNULLについて説明します。

目次序文MySQL の NULL 2 NULL占有長3 NULL値の比較4SQLはNULL値を処理す...

XHTML 1.0 リファレンス

機能別に並べ替えNN: このタグをサポートする Netscape の以前のバージョンを示しますIE:...

Nexus をベースに Alibaba Cloud プロキシ ウェアハウスを構成するプロセスの分析

Nexus のデフォルトのリモートリポジトリは https://repo1.maven.org/ma...

MySQL カーソル関数と使用法

目次意味カーソルの役割カーソルの使用カーソルの宣言カーソルを開くカーソルデータのトラバースカーソルを...

スネークゲームのアイデアを実現するためのJavaScript

JavaScriptゲームSnakeの実装アイデア(完全なコード実装)を参考までに説明します。具体...

Dockerコミットの使い方の詳しい説明

場合によっては、ベースイメージに特定の依存関係をインストールする必要があります。Dockerfile...

HTML ファイルにフラッシュ ビデオ形式 (flv、swf) ファイルを埋め込む方法

Flash ファイル形式: .FLV および .SWFフラッシュ ビデオ形式には、.flv と .s...

Webデザインチュートリアル(7):Webデザインの効率化

<br />前の記事:Webデザインチュートリアル(6):デザインへの情熱を持ち続けまし...