萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Arch Linux AUR 安裝 iptux 路徑問題修正:PKGBUILD 手動調整 package() 函數

使用 yaourt 從 AUR 安裝 iptux 時,雖顯示安裝成功但找不到執行檔。原因是 PKGBUILD 中 build() 函數直接執行 make install 至 $startdir/pkg,不符合 Arch 打包規範,需改為標準 package() 函數安裝至 $pkgdir。

問題 PKGBUILD 片段

build() {
  cd $srcdir/
  msg "Starting make..."
  ./configure --prefix=/usr || return 1
  make || return 1
  make DESTDIR=$startdir/pkg install  # 錯誤:直接在 build() 中安裝
}

修正後 PKGBUILD

build() {
  cd $srcdir/
  msg "Starting make..."
  ./configure --prefix=/usr || return 1
  make || return 1
  # 不在這裡安裝
}

package() {
  make DESTDIR="$pkgdir/" install  # 正確:在 package() 階段安裝至 $pkgdir
}

重新打包安裝步驟

  1. 從 AUR 下載 iptux.tar.gz 並解壓
  2. 編輯 PKGBUILD 依上述方式修正
  3. 執行 makepkg 產生套件檔 (iptux-0.5.3-1-x86_64.pkg.tar.xz)
  4. 安裝:pacman -U iptux-0.5.3-1-x86_64.pkg.tar.xz

核心概念

  • build():編譯階段,產出檔案置於 $srcdir 下
  • package():打包階段,將檔案安裝至 $pkgdir 模擬根目錄結構
  • makepkg 會自動處理 $pkgdir 內容打包成 .pkg.tar.xz
  • $startdir/pkg 為舊式寫法,已棄用
copyright © 萬盛學電腦網 all rights reserved