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 Elementのテーブルコンポーネントをカプセル化する方法

Vue コンポーネントをカプセル化する場合でも、機能コンポーネントをクロスファンクショナルに使用しま...

CSS3+JS による虫眼鏡モードの完璧な実装の詳細説明

約 1 年前、私は「虫眼鏡効果を模倣するいくつかの方法の原理の分析」という記事を書きました。当時、自...

HTML を使用して IE8 および IE9 の互換表示モードを無効にするヒント

IE 8 以降では互換モードが追加され、これを有効にすると IE の下位バージョンでレンダリングされ...

Docker を使用して Go Web アプリケーションをデプロイする方法

目次なぜ Docker が必要なのでしょうか? Docker デプロイメントの例コードの準備Dock...

docker+gitlab+gitlab-runnerの詳細なデプロイメント

環境サーバー: centos7クライアント: ウィンドウCentos7 に docker+gitla...

HTMLページが3秒後に自動的にジャンプする3つの一般的な方法

実際には、N 秒後にページを自動的にジャンプさせるにはどうすればよいかという問題によく遭遇します。私...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。...

背景画像にテキストを表示するためのCSS

効果: <div class="imgs"> <!-- 背景画...

MySQL が外部キーを作成できない理由と解決策

2 つのテーブルを関連付けるときに、外部キーを作成できませんでした。このブログから、問題は、ポイント...

Nginx コンテンツ キャッシュと共通パラメータ設定の詳細

使用シナリオ:プロジェクトのページでは、頻繁に変更されず、個別のカスタマイズも伴わない大量のデータを...

HTML 文法百科事典_HTML 言語文法百科事典 (必読)

ボリュームラベル、プロパティ名、説明002 <! - - ... - -> コメント00...

vue-admin-template 動的ルーティング実装例

ログインを提供し、ユーザー情報データインターフェースを取得するapi/user.js内 '@...

HTMLタグと基本要素の学習のまとめ

1. HTML の要素とタグ<br />要素は、1 つのタグまたは 1 組のタグによって...

Windows はリモート デスクトップが長時間自動的に切断されるのを防ぎます

Windows リモート デスクトップを使用してサーバーに接続したことがある人なら、リモート デスク...

Nginxホットデプロイメントの実装

目次セマフォNginx ホットデプロイメント上記のブログ投稿に従ってください。ファイアウォールをオフ...