Hệ thống quản lý gói của Ubuntu, mà nó nợ nó là Debian anh trai lớn, làm cho nó đơn giản như nó được để giữ cho hệ thống của bạn được cập nhật. Cho dù thông qua các chương trình GUI hoặc sử dụng " apt-get ", liên tục gây ấn tượng với tôi. Nhưng vẫn có những trường hợp bạn không thể có được một chương trình cụ thể ở định dạng DEB hoặc có thể bạn muốn phân phối phần mềm của riêng bạn cho những người dùng Debian và Ubuntu khác. Đặt một gói DEB bằng tay là một nhiệm vụ khó khăn ... May mắn thay, Debreate làm cho nó dễ dàng để đóng gói phần mềm để cài đặt dễ dàng.

Lưu ý : Đây là phần thứ hai của việc tạo chuỗi các gói deb. Bạn có thể đọc phần đầu tiên: Khái niệm cơ bản về quản lý gói Debian: Các gói DEB [Linux 101] tại đây.

Cài đặt và khởi chạy Debreate

Điều đầu tiên chúng ta cần làm là cài đặt Debreate. Bạn có thể tải xuống gói từ Sourceforge tại đây, sau đó cài đặt với trình quản lý gói bạn chọn hoặc bằng lệnh sau:

 sudo dpkg -i debreate_0.7.7_all.deb 

Sau đó, chúng ta có thể khởi chạy Debreate từ KRunner bằng cách thực hiện " debreate ", hoặc bằng cách nhấp vào mục trong phần "Phát triển" của menu ứng dụng.

Khởi động chương trình, và bạn sẽ nhận được màn hình sau (lần đầu tiên chạy), như được hiển thị bên dưới ở bên trái, tiếp theo là màn hình thông tin, bên dưới ở bên phải.

Thông tin điều khiển

Nhấp vào mũi tên ở góc trên sẽ đưa chúng ta đến màn hình có tên “Kiểm soát”. Điều này, nơi chúng tôi sẽ điền vào dữ liệu sẽ kết thúc trong phần “control.tar.gz” của gói. Bạn sẽ cần phải điền vào các trường sau được hiển thị bên dưới:

  • Gói: Tên của gói phải bao gồm các ký tự chữ thường, số, ký hiệu “+, ” “-, ” hoặc “.”.
  • Phiên bản: Số phiên bản — Tôi đang sử dụng 0.0.1 cho phiên bản đầu tiên này.
  • Người bảo trì: Tên của người đóng gói ứng dụng này (đó là tôi).
  • Email: Địa chỉ e-mail của anh ấy / cô ấy.
  • Kiến trúc: Nếu đây là gói nhị phân (nghĩa là không phải gói mã nguồn sẽ được biên dịch), thì có thể là một trong số: “i386” (đối với bộ vi xử lý 32 bit, như bộ vi xử lý Pentium hoặc Core), “amd64” ( Bộ vi xử lý 64 bit, như AMD Phenom hoặc Intel Core i3 / 5/7 mới hơn, hoặc “tất cả”, có nghĩa là nó không phụ thuộc vào bộ xử lý. Vì đây là một kịch bản lệnh shell sẽ chạy trên bất kỳ phiên bản nào của Ubuntu, tôi chọn "tất cả" .
  • Section: Đây là danh mục mà gói sẽ nằm trong một kho lưu trữ lớn hơn. Vì kịch bản của chúng tôi cho phép chúng tôi dễ dàng xuất tài liệu từ đánh dấu văn bản, tôi đã chọn phần "Văn bản" (Pandoc cũng nằm trong phần "Văn bản").
  • Ưu tiên: Theo Debian / GNU FAQ, điều này nên là “Tùy chọn” (và một lần nữa, Pandoc chính nó cũng là “Tùy chọn”).
  • Mô tả ngắn gọn: Mô tả về gói này sẽ hiển thị, ví dụ, trong một khung nhìn danh sách trong trình quản lý phần mềm như Trung tâm phần mềm hoặc Muon.
  • Mô tả dài: Mô tả dài hơn này sẽ hiển thị ở chế độ xem chi tiết, chẳng hạn như khi gói được chọn trong trình quản lý phần mềm hoặc bằng cách sử dụng apt-cache show [package]" .

Nhấp vào mũi tên phải ở phía trên bên phải để chuyển sang màn hình tiếp theo.

Các phụ thuộc

Điều tiếp theo chúng ta cần chuẩn bị là danh sách các gói khác mà chương trình này sẽ sử dụng. Rõ ràng, chúng ta sẽ cần "Pandoc" để cài đặt, vì kịch bản lệnh gọi chương trình đó, và vì chúng ta bao gồm GUI, chúng ta cần phải chắc chắn rằng "Zenity" cũng được cài đặt. Chúng ta sẽ cần phải nhập mỗi cái trên màn hình Dependencies (chúng ta cũng có thể bao gồm một số phiên bản, nhưng đối với kịch bản này, bất kỳ phiên bản nào của Pandoc và Zenity là đủ), và nhấn nút “Add” để thêm nó vào danh sách.

Bây giờ, chúng ta hãy đóng gói một số tập tin!

Tập tài liệu

Điều đầu tiên cần làm là thu thập tất cả các tệp bạn sẽ bao gồm và sắp xếp chúng trong cấu trúc thư mục được mô tả ở trên. Trong bài viết này, tôi sẽ đóng gói kịch bản lệnh pandoc-pub.sh mà tôi đã tạo trong một bài viết trước. Màn hình Tệp cho phép bạn chọn từng tệp một và cho biết thư mục nào cần được cài đặt, như được hiển thị bên dưới. Tôi có ba tệp tôi muốn bao gồm:

  • Bản thân kịch bản ... Vì chương trình này là một kịch bản lệnh shell, nó là khép kín. Tôi sẽ cần phải đặt nó trong “/ usr / bin” theo FHS.
  • Tiếp theo, tôi sẽ bao gồm một tập tin README ngắn gọn với các hướng dẫn sử dụng. Điều này sẽ đi vào "/ usr / share / doc".
  • Cuối cùng, tôi sẽ bao gồm một biểu tượng. Tôi sẽ đặt nó trong “/ usr / share / icons”.

Tập lệnh, Changelog, Bản quyền

Màn hình tiếp theo sẽ cho phép bạn chỉ định kịch bản “preinst”, “postinst”, “prerm” và / hoặc “postrm” được mô tả trong bài viết trước về các vấn đề cơ bản của DEB. Thêm ba phần tiếp theo: Changelog (cho phép bạn mô tả các thay đổi kể từ phiên bản trước), Bản quyền (một tuyên bố về cách phần mềm có thể được sử dụng), và Menu Launcher (sẽ tự động tạo một mục trong menu chính của máy tính để bàn) . Với mục đích của gói thử nghiệm này, tôi không sử dụng bất kỳ gói nào trong số này.

Xây dựng nó!

Màn hình cuối cùng sẽ cung cấp cho bạn một số "Tùy chọn bổ sung" mà chúng tôi có thể bỏ qua một cách an toàn ... chúng ta hãy xây dựng. Nhấp vào nút lớn màu xanh lá cây!

Gói của tôi có một số cảnh báo (đó là nhà phát triển nói khác với lỗi, đó là "trình bày nút" để nói) như thiếu tuyên bố Bản quyền, trang thiếu người dùng, v.v ... vì gói này chỉ dành riêng cho tôi, đây là ĐƯỢC. Nhưng nó được xây dựng! Bạn có thể cài đặt bằng lệnh “dpkg” tiêu chuẩn sau:

 sudo dpkg -i pandoc-pub_0.0.1_all.deb 

Nhưng nó không thành công ... tại sao? Bởi vì nó có phụ thuộc vào Thiền và Pandoc (mà tôi vừa loại bỏ, để kiểm tra tính năng này). Nhấp đúp vào gói trong trình quản lý tệp sẽ cho phép GDebi thực hiện cài đặt phụ thuộc cho chúng tôi, như được hiển thị bên dưới:

Sau khi cài đặt, bây giờ tôi có thể phân phối điều này cho bạn bè của tôi (những người, và lớn, lập trình tốt hơn nhiều so với tôi). Vì vậy, hãy tìm một số tập lệnh hoặc chương trình hữu ích hơn của bạn và nhận gói. Việc phân phối phần mềm hữu ích cho người khác là điều khiến cộng đồng FOSS trở nên tuyệt vời như vậy!