如何解除安裝從源安裝的git?
我使用這篇文章安裝了 git 。現在我想解除安裝 git。怎麼做?
我在這裡找到了解決方案。
2012 年 11 月 2 日更新
如果您足夠聰明,並且在配置 Git 時使用了一些非標準前綴,以便它已安裝在特定層次結構下,例如 /opt/git 下,那麼只需遞歸地刪除該層次結構。
如果沒有,那麼你可以這樣:
獲取您建構和安裝的版本的源 tarball,解壓縮。
在安裝位置(前綴、exec-prefix 等)方面完全按照您在原始安裝中所做的配置;據說你不應該覆蓋任何東西。
創建一個臨時目錄來執行安裝,如下所示: $ mkdir /var/tmp/git
通過適當的 DESTDIR 變數來安裝 Git: $ make DESTDIR=/var/tmp/git install Git 層次結構最終將在該臨時目錄下創建。
5)使用創建的層次結構來決定在真實層次結構下刪除哪些文件(“/”本身)。
最後一步是“魔法”發生的地方,因此需要更多解釋。例如,您可以執行
$ find /var/tmp/git -type f -printf '/%P\n' | xargs -n 10 rm -f
(以 root 身份)刪除第一次錯誤安裝到根文件系統中的文件。上面的 encantation 使用 /var/tmp/git 層次結構來列印找到的文件列表,但是它將其中的“/var/tmp/git”前綴替換為“/”,因此“/var/tmp/git輸出中的 /usr/bin/git" 最終將列為 “/usr/bin/git”。然後將該列表通過管道傳輸到
xargs
它以十個為一組讀取的文件名上執行rm
(只是為了將呼叫次數減少rm
一個數量級)。處理完文件後,執行
$ find /var/tmp/git -type d -printf '/%P\n'
檢查已安裝目錄的列表。這些需要手動方法,因此只需查看生成的列表並考慮您可以安全地
rmdir
從系統中刪除其中哪些(這些將是“/usr/libexec/git”之類的目錄或類似的目錄;您可能不想刪除“/usr/share/man/mann” 或其他東西,即使它是空的)。PS 以後永遠不要通過執行將任何東西安裝到系統中
make install
!如今,大多數 makefile 不支持“解除安裝”目標,因為它們習慣於安裝到私有暫存位置進行測試或製作包(.rpm、.deb 等),然後包管理器負責清理。如果您需要安裝某些東西,請嘗試查找官方軟體包或嘗試從您的作業系統的更新版本(如果可用)反向移植另一個官方軟體包。作為最後的手段,請嘗試使用該checkinstall
工具嘗試在make install
執行中創建二進制包。這很糟糕,但仍然比 bare 好make install
。