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

推薦する

高性能な HTML アプリケーションを作成するためのヒント

Web ページのパフォーマンスを向上させるにはどうすればよいでしょうか?ほとんどの開発者は、Java...

VUEユニアプリ開発環境についての簡単な説明

目次1. HBuilderXビジュアルインターフェースを通じて2. vue-cliコマンドで実行する...

Docker-compose を使用して ELK をデプロイするためのサンプル コード

環境ホストIP 192.168.0.9 Docker バージョン 19.03.2 docker-co...

Vue.js の計算プロパティ、監視プロパティ、ライフサイクルの詳細な説明

目次序文計算されたプロパティ計算プロパティの紹介入門ケース統計価格事例ゲッターメソッドとセッターメソ...

JavaScriptはPromiseを使用して複数の繰り返しリクエストを処理します

1. なぜこの記事を書くのですか?重複リクエストの処理に関する記事をたくさん読んだことがあるでしょう...

MySQL 百万レベルのデータページングクエリ最適化ソリューション

データベースからクエリする必要があるテーブルに数万件のレコードがある場合、すべての結果を一度にクエリ...

CSSアニメーションに基づくSVGボタンのサンプルコード

具体的なコードは次のとおりです。 <a href="#"> <...

VMware Workstation 15 Pro インストール ガイド (初心者向け)

01. VMware Workstation Pro 15 のダウンロードダウンロード: VMwa...

jQuery はピッカーをシミュレートしてスライド選択効果を実現します

この記事では、スライド選択効果を実現するピッカーをシミュレートするjQueryの具体的なコードを参考...

Element-ui アップロードファイルのアップロード制限の解決策

質問アップロードするファイルのタイプを accept に追加することは、「表面的な」役割しか果たしま...

webpackの遅延読み込みとプリロードの詳細な説明

目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...

CSS3 テキストアニメーション効果

効果 html <div class="sp-container">...

Windows10でmysql8.0.17を置き換える詳細なチュートリアル

この記事では、Windows10でmysql8.0.17を置き換える具体的な手順を参考までに紹介しま...

DHTML オブジェクト (さまざまな HTML オブジェクトの共通プロパティ)

!DOCTYPE HTML ドキュメントが準拠するドキュメント型定義 (DTD) を指定します。 ...