apt-getは手動でインストールしたソフトウェアをどのように処理しますか?

apt-getは手動でインストールしたソフトウェアをどのように処理しますか?

APTリポジトリのEmacsバージョンが24.3であると仮定すると、私のconfigure && make installEmacsは24.4です。長い時間が経つにつれて、APTリポジトリのソフトウェアが24.5にアップデートされました。 APTを実行するときにAPTは何をしますかapt-get update && atp-get safeupgrade

手動でインストールしたソフトウェアをAPTに処理させる一般的な方法は何ですか?

答え1

apt-getには「safeupgrade」コマンドはありません。 「資格保証のアップグレード」を検討していますか?

それに加えて、パッケージシステムはパッケージサブシステムプログラムによって行われたすべての変更に対するデータベースを維持するため、apt-getはモノだけを知っています。ソースをダウンロードして直接ビルドしてインストールすると、パッケージサブシステムを使用して行われないため、これらの変更はどこにも記録されないため、apt-getはこれを知りません。

コンピュータで "apt-get install emacs"を実行しないと、パッケージサブシステムはemacsがインストールされていることを決して知らないので、 "apt-get Upgrade"はそれに触れないので安全です。 「dpkg --list」にリストされているプログラムだけが「apt-get update」として扱われます。

"apt-get install emacs"を実行した場合、それは別の話です。

"./configure --prefix=/usr/local/bin" (およびその他の位置指定パラメータ) を使用するのと同じくらい賢い場合、カスタム emacs ファイルは "apt-get" とは異なる場所にあります。 "install emacs"がシステムにロードされ、2つの動作するemacsインストールがあります。したがって、「apt-getのアップグレード」を実行し、リポジトリにapt-getソフトウェアパッケージより新しいemacsがある場合、これはパッケージを置き換え、カスタムバージョンは影響を受けません。

設定オプションを使用せずにカスタムemacsをビルドすると、パッケージ化されたemacsファイルの上部にその内容が記録されることがあります。しかし、これは.debをビルドしてリポジトリに入れるときにパッケージマネージャが使用したオプションに依存するため、予測するのはやや困難です。それにもかかわらず、apt-getアップグレードを実行すると、カスタムインストールで上書きされたすべてのエントリが上書きされます。各インストールの後には、動作するバージョンのemacsといくつかの不要な部分があります。

答え2

APTはあなたが手動でインストールしたソフトウェアについて何も知りません。

/usr/local(デフォルトの場所)にEmacsをインストールする場合、そのインストールは/usrAPT管理によるEmacsインストールとは完全に独立しています。 run がemacs実行されます/usr/local/bin/emacs(手動でインストールしました)。 runningは/usr/bin/emacsAPTがインストールされているEmacsを実行します(具体的には、最新バージョン - Debianの1 Emacsパッケージは複数のバージョンのインストールをサポートします)。

Emacsをインストールした場合は/usr混乱するでしょうが、あまり多くないことを願っています。/usrパッケージマネージャ用に予約されていますが、/usr/localシステム管理者用ではありません(パッケージマネージャはここにいくつかのディレクトリのみを作成します)。make uninstallこのファイルを削除するには、Emacsソースディレクトリから実行してください。 Debian パッケージを再インストールする前に、これを実行してください。

ソフトウェアを手動でインストールしたいが、依存/usr/local関係を満たすためにパッケージマネージャにそれを宣言する場合は、make a fake packageを使用できますequivs。バラよりインストールされたtarパッケージを適切に認識する方法は?

Debian は、インストールされている Emacs バージョンの Elisp パッケージを自動的にバイトコンパイルします。これを利用するには、手動でインストールされたEmacsのバージョンに加えて、パッケージマネージャを介してEmacsのバージョンをインストールすることもできます。互換性のあるバイトコードがあるものを選択してください(同じメジャーバージョンを持つ古いマイナーバージョンは大丈夫です。、例えば24.3 debと24.4手動インストール)。手動でインストールされたバージョンがローカル/usr/share/emacs/24.3/lisp/startup.elcにインストールされているstartup.el

1この記事の「Debian」には、Ubuntu、Mintなどを含む同じEmacsラッパーを使用する派生製品が含まれています。

関連情報