[Cách làm] Tạo các gói phần mềm Arch Linux và các dẫn xuất

Một trong những điều tôi thích nhất về Arch Linux và các dẫn xuất của nó là cực kỳ dễ dàng để tạo các gói để sau này được cài đặt trên hệ thống, không giống như những gói đã biết . Deb của Debian / Ubuntu / Linux Mint / etc đó là một sự hỗn loạn (và nếu chúng là thư viện thì tôi không cho bạn biết).

Một mẫu cơ sở sẽ là:

# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()

build() {
...
}
package() {
...
}

Bây giờ tôi sẽ giải thích từng tham số:

  • # Người bảo trì: Trong đó tên của người bảo trì gói được đặt
  • tên pkg: Tên của gói. Nó chỉ có thể chứa các chữ cái, số, -, _ và +
  • máy chủ: phiên bản gói. pe 1.0.0
  • gói: đánh giá về chương trình hoặc gói. pe 1
  • pkgdesc: mô tả gói.
  • vòm: kiến trúc của chương trình: nó có thể là bất kỳ (cho mọi người), i686 và x86_64, là bất kỳ cho các gói không yêu cầu biên dịch, chẳng hạn như các chương trình bash hoặc python. Nếu đó là một chương trình cần nó (ví dụ: các chương trình bằng C hoặc C ++), bạn phải chỉ ra i686 nếu nó là 32 bit hoặc x86_64 cho 64 bit. Nói chung, nếu nó tương thích với cả hai, nó được đặt (i686, x86_64)
  • url: url đến trang chính thức của chương trình. Đó là khuyến khích để đặt nó.
  • Giấy phép: giấy phép chương trình. ví dụ: GPL3
  • các nhóm: các nhóm mà gói đó thuộc về. nhóm = ('hệ thống')
  • phụ thuộc: trong đó chúng tôi chỉ ra các gói cần thiết cho việc thực thi chương trình. pependens = ('python2' 'pygtk')
  • phụ thuộc: các phụ thuộc chỉ được yêu cầu để biên dịch gói. Nếu mã sẽ được tải xuống từ trình quản lý phiên bản, bạn nên đặt nó. pe: makedepends = ('git')
  • nguồn: trong đó, chúng tôi chỉ ra các tệp cần thiết để tạo gói. Theo quy tắc chung, đó là url của gói chứa mã, bản vá, tệp .desktopt, biểu tượng, v.v. pe: source = (pacsyu.desktop)
  • md5sum: đây là tổng md5 của các tệp được chỉ ra trong nguồn. Để biết những cái nào chúng tôi chạy từ một thiết bị đầu cuối trong thư mục có PKGBUILD (đã ghi đường dẫn tệp trong nguồn) trang điểm -g và tổng sẽ xuất hiện trên màn hình.
    Cũng có thể sử dụng các tổng khác như sh1.
  • xây dựng: trong chức năng này, chúng tôi sẽ đặt các lệnh cần thiết để tiến hành biên dịch phần mềm. Nếu không cần thiết phải biên dịch thì chỉ cần hàm sau)
  • gói: trong chức năng khác này, các lệnh cài đặt chương trình sẽ đi. Ví dụ: nếu chúng ta đang biên dịch mã C ở đây, việc thực hiện cài đặt sẽ diễn ra.

Và để kết thúc chúng ta chỉ cần thực hiện trang điểm để xác minh rằng gói được tạo.
Như bạn thấy, đó là khó khăn cho chúng tôi. Sau đó, tôi để lại cho bạn một số thông số bổ sung của trang điểm:

  • -Tôi: Hướng dẫn makepkg cài đặt gói sau khi nó được tạo.
  • -S: Cài đặt các gói phụ thuộc nếu chúng nằm trong kho.
  • -F: Nếu đã có một gói có tên, phiên bản và bản sửa đổi đó với tham số này, chúng tôi sẽ yêu cầu bạn ghi đè gói đó.
  • -C: Làm sạch các thư mục đang làm việc (pkg và mã nguồn) sau khi hoàn tất.
  • -NS: Đóng gói lại gói mà không cần phải biên dịch lại.

Tôi khuyên bạn nên xem thêm tệp PKGBUILD để xem thêm các ví dụ, thực hiện lệnh trang điểm -h để xem phần còn lại của các tham số chương trình, ngoài việc xem tài liệu chính thức của makepkg trên Arch Linux Wiki bạn có thể tìm thấy gì đây


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   jamin samuel dijo

    Rất tốt …

    Bạn có thể tạo một gói .exe quản lý (biên dịch) thành một gói Arch không?

    Ví dụ như trình quản lý tải xuống nổi tiếng mypony ??

    1.    đúng dijo

      Theo như tôi biết thì bạn không thể, hãy nhớ rằng .exe là tệp nhị phân và không phải mã nguồn. Nhưng có JDownloader.

    2.    v3on dijo

      ai đó sử dụng linux và bỏ lỡ Myponi… jijijijiji

      jDownloader có trong java và ai cũng biết rằng java gây ung thư phổi ...

  2.   sữa28 dijo

    thú vị, chúng tôi sẽ phải thử nghiệm các gói Tôi nghĩ tôi sẽ có xu hướng làm một gói từ qbittorrent hahaha nó đã tồn tại trong yaourt nhưng có phiên bản của riêng bạn sẽ không tồi để thử nghiệm, cảm ơn vì thông tin, lời chào.

  3.   msx dijo

    Đầu vào tốt, +1
    Tôi muốn nói thêm rằng chúng cũng dễ tạo và bảo trì hơn các bản dựng Gentoo!

    Về Debian, tôi nghĩ rằng bản phân phối này sẽ nâng cao khuyết tật của nó rất nhiều chỉ bằng cách hiện đại hóa hoặc chuyển sang một gói và hệ thống quản lý gói hiện đại hơn, tôi không biết khi nào bản cập nhật cuối cùng của bộ dpkg / apt sẽ có nhưng khái niệm này hẳn đã dễ dàng. 15 năm và sự thật là ngày nay đã trở thành lạc hậu.

  4.   thối87 dijo

    Cảm ơn bạn rất nhiều, tôi đã tìm kiếm nó trên wiki một chút và tôi chưa hiểu cấu trúc (tôi muốn cập nhật PlayonLinux một) nhưng tôi vẫn bỏ cuộc ... có những thứ mà tôi muốn có một trợ lý hoặc những thứ tương tự (đừng bắn tôi) nhưng vẫn ... trong trường hợp không có công cụ theo thời gian, tôi sẽ xem liệu tôi có tạo bất kỳ

    1.    msx dijo

      Nhờ sự hướng dẫn của bạn, tôi đã bắt đầu tạo PKGBUILD của Zeya (http://web.psung.name/zeya/), ngay sau khi tôi hoàn thành nó, tôi tải nó lên AUR 🙂

  5.   hypersayan_x dijo

    không giống như .deb nổi tiếng của Debian / Ubuntu / Linux Mint / vv là một mớ hỗn độn

    Hoàn toàn đồng ý, một thời gian trước tôi đã cố gắng tạo một gói cho Ubuntu và tôi không thể tìm thấy thông tin dễ hiểu về cách tạo một gói, cuối cùng tôi đã bỏ cuộc và cài đặt chương trình một cách đại khái.
    Chương trình tương tự cho Arch khiến tôi mất chưa đầy 5 phút để ghép các gói lại với nhau.
    Và tôi không chắc lắm nhưng tôi nghĩ RPM dễ làm hơn DEB một chút, nhưng khó hơn Arch.

  6.   hackloper775 dijo

    Rất tốt và dễ dàng, và đối với .deb thì không quá khó, đối với iOS

    Liên quan

  7.   Carlos dijo

    Tôi nghĩ điều này đã phục vụ tôi một thời gian trước khi tôi tải PKGBUILD đầu tiên của mình lên AUR 🙂

  8.   đồ lặt vặt dijo

    Ai đó có thể cho tôi biết nó là gì không, tôi là người mới và tôi không biết liệu điều này có giúp tôi cài đặt một gói .deb nhưng cục bộ trong manjaro, chính xác là một trò chơi. Có nó hoạt động?