APTリポジトリのEmacsバージョンが24.3であるとすると、私はconfigure && make install
自分のemacs24.4です。久しぶりに、APTリポジトリが24.5に更新されました。apt-get update && atp-get safeupgrade
を実行するとAPTはどうなりますか?
APT手動でインストールしたソフトウェアを処理させる一般的な方法は何ですか?
Apt-getには「safeupgrade」コマンドがありません。 「適性安全アップグレード」を考えていますか?
それはさておき、パッケージシステムはパッケージサブシステムプログラムが行うすべての変更のデータベースを維持するため、apt-getは物事を「知っている」だけです。ソースをダウンロードして自分でビルドしてからインストールする場合、パッケージサブシステムを使用して行われないため、これらの変更はどこにも記録されないため、apt-getは単にそれらについて知ることができません。
コンピューターで「apt-getinstallemacs」を実行したことがない場合、パッケージサブシステムはemacsがインストールされていることを認識しないため、「apt-getupgrade」がそれに触れることはなく安全です。 「dpkg--list」にリストされているプログラムのみが「apt-getupgrade」によって処理されます。
「apt-getinstallemacs」を実行した場合、それは別の話です。
「./configure--prefix=/usr/local/bin」(および場合によっては場所を指定する他のいくつかのパラメーター)を使用するのに十分賢い場合、カスタムemacsのファイルは「apt-get」とは異なる場所にあります。システムに「emacsをインストールしてください」とロードすると、emacsが2つ動作するようになります。したがって、「apt-get upgrade」を実行し、リポジトリにapt-getが以前に置いたものよりも新しいemacsのパッケージがある場合、それが置き換えられ、カスタムバージョンは変更されません。
カスタムemacsをビルドするときにconfigureオプションを使用しなかった場合、パッケージ化されたemacsのファイルの場合はおそらくそれらを上書きします。しかし、それは実際には、パッケージメンテナがリポジトリに配置するために.debを構築したときに使用したオプションに依存するため、少し予測できません。いずれにせよ、カスタムインストールによって上書きされたものはすべて、apt-getupgradeを実行すると再び上書きされます。各インストール後、いくつかの無関係なオッズとエンドを持つemacsの作業バージョンが1つだけになります。
APTは、手動でインストールされたソフトウェアについて何も知りません。
/usr/local
(デフォルトの場所)でEmacsをインストールした場合、そのインストールは、APTが管理する/usr
でのEmacsインストールから完全に独立しています。 emacs
を実行すると、/usr/local/bin/emacs
(手動インストール)が実行されます。 /usr/bin/emacs
を実行すると、APTによってインストールされたEmacsが実行されます(より具体的には、最新バージョン—Debianの¹Emacsパッケージは複数のバージョンのインストールをサポートします)。
Emacsを/usr
にインストールした場合—ええと、あなたは混乱を引き起こしましたが、うまくいけば大きなものではありません。 /usr
はパッケージマネージャー用に予約されていますが、/usr/local
はシステム管理者用です(パッケージマネージャーはそこにいくつかのディレクトリのみを作成します)。 Emacsソースディレクトリからmake uninstall
を実行して、これらのファイルを削除します。 Debianパッケージを再インストールする前にこれを行ってください。
ソフトウェアを手動で(/usr/local
の下に)インストールしたいが、依存関係を満たすためにパッケージマネージャーに宣言する場合は、equivs
を使用して偽のパッケージを作成できます。 aptにインストールされたtarパッケージを認識させる方法 を参照してください。
Debianは、インストールされているバージョンのEmacs用にElispパッケージを自動的にバイトコンパイルします。これを利用するには、手動でインストールしたバージョンに加えて、パッケージマネージャーを使用してEmacsのバージョンをインストールします。互換性のあるバイトコードを持つものを必ず選択してください( 同じメジャーバージョンの古いマイナーバージョンでも問題ありません 、たとえば24.3 debと24.4手動インストール)。手動でインストールしたバージョンに同じバイトコードディレクトリを読み取らせます。ローカルインストールの/usr/share/emacs/24.3/LISP/startup.elc
からstartup.el
をロードします。
¹ この投稿では、「Debian」には、Ubuntu、Mintなど、同じEmacsパッケージを使用する派生物が含まれています。