Khoảng một năm trước, tôi đã giải thích cách tạo gói cho Archlinux. Hôm nay tôi sẽ giải thích cách tạo chúng từ các gói . Deb, những người được sử dụng trong Debian / Mint / Ubuntu / etc.
Bài viết này xuất hiện sau khi đọc một câu hỏi từ người dùng trong diễn đàn jorgegc bởi vì tôi không thể cài đặt một gói từ AUR, chủ yếu là vì nó đã lỗi thời và được sử dụng một phiên bản ngưng của PKGBUILD (may mắn là trước đây tôi đã tạo các gói theo cách này), tôi cũng sẽ giải thích cách tạo các gói chương trình cần Thư viện 32 bit, trong mã đóng o đã được biên dịch và nó có các gói khác nhau để tải xuống.
Cơ sở cho PKGBUILD là giống nhau, chỉ có một số thay đổi.
Thay đổi đầu tiên sẽ là việc sử dụng một câu nếu elif bởi Bash
if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")
Trong ví dụ này, một biến đã được xác định mà sau này sẽ được sử dụng để thay đổi URL gói ở đâu (trong trường hợp này là kiến trúc của gói để tải xuống).
Ngoài ra, tùy thuộc vào kiến trúc, Tổng số MD5 vì vậy chúng tôi sẽ thay đổi chúng thành những cái tương ứng.
Cuối cùng chúng ta thấy rằng trong ví dụ chúng ta thay đổi các phụ thuộc. Trong một số chương trình 64-bit, cần phải cài đặt Phiên bản 32-bit của một số thư viện vì vậy chúng tôi phải chỉ ra chúng. Nếu chúng không cần thiết, chỉ cần xác định biến theo cách thông thường.
Bây giờ đối với các gói .deb, chúng ta sẽ chỉ cần các dòng sau bên trong hàm gói ():
cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}
Như bạn thấy, chúng ta chỉ cần 3 dòng trong trường hợp này để tạo gói. Nếu cần thứ gì đó khác (ví dụ: sao chép một tệp không đi kèm với gói hoặc sửa đổi nội dung của một tệp), bạn chỉ cần đặt nó như với bất kỳ gói nào khác.
Và thì đấy, chúng ta có một gói multilib hoặc được tạo từ một gói deb đã sẵn sàng để sử dụng.
Tôi hy vọng bạn thích nó và nó đã giải thích tốt cho tôi 😀
Không phải nó dễ dàng hơn để sử dụng kiểm tra cài đặt?
Checkinstall được sử dụng để tạo các gói deb, rpm hoặc Slackware dễ dàng hơn.
Tốt. Hãy xem tôi có dành thời gian để thêm Iceweasel vào repo slacky.eu không.
Có gì sai với Firefox? : p
không có trong Debian: p
Đó không phải là chính xác những gì tôi muốn nói xD
Vì Firefox không có phiên bản chính thức cho Debian, và nếu tôi sử dụng hệ điều hành Ubuntu hoặc Mint, họ sẽ mất thời gian giống như Iceweasel để xuất bản chúng; Ngoài ra, họ thường xuyên hỏi bạn xem bạn có muốn gửi dữ liệu của mình hay không (một chức năng thực sự tầm thường đối với một trình duyệt bảo vệ quyền riêng tư).
Tôi không chống lại Firefox, và sự thật là tôi hầu như không sử dụng Firefox ESR trên Slackware và Firefox Release trên Windows (Iceweasel tôi chỉ sử dụng nó trên Debian, nhưng vì Arch mang lại cho tôi lợi thế tuyệt vời khi cài đặt nó, tôi sẽ cài đặt nó). Vấn đề của hương vị, không có gì hơn.
Chào. Tôi có một số kịch bản bash. Một để tạo các thư mục và tệp cơ bản cho gói gỡ lỗi. Và cái cuối cùng để tạo gói từ tất cả các tệp và thư mục. Nếu bạn quan tâm, tôi có thể chia sẻ nó.
Chắc chắn bạn có thể, khi thanh toán XD
Tất nhiên nó quan tâm ... ít nhất là đối với tôi.
Bây giờ tôi ở với Manjaro, tôi đánh giá cao tất cả các thông tin có thể.
Bạn tuyệt vời làm sao, đối tác.
Tôi sẽ nói với bạn trong diễn đàn rằng nếu bạn có thể giải thích cho tôi cách biên dịch các gói .deb và tôi chưa nói với bạn điều gì để không lạm dụng lòng hảo tâm của bạn…. và tôi vào trang và tôi thấy rằng bạn đã tải lên một bài báo giải thích toàn bộ quá trình.
Điều này cho thấy bạn là một người rộng lượng.
Tôi đã nói, bạn là một vết nứt.
lời chúc mừng
Cảm ơn bạn, và một lần nữa cảm ơn vì câu hỏi của bạn đã cho tôi ý tưởng ^^
Đó là một người bạn tuyệt vời, một lần tôi đã thử một phần mềm mà tôi không nhớ tên đã chuyển đổi từ .deb thành .rpm, nhưng nó không hoạt động tốt với tôi.
ai đó có vòm có thể kiểm tra xem phần mềm này có được thông qua tốt đến rpm và cài đặt mở tốt không?
http://www.justcloud.com/download/linux-64
Đó là sao lưu trên đám mây, tôi đã trả tiền một lúc và tôi có hơn 40gb trên đám mây =)
Điều đó sẽ phải được thử bởi những người sử dụng Fedora, Red Hat hoặc các dẫn xuất khác.
Từ mô tả bạn đưa ra, tôi cho rằng bạn muốn nói đến người ngoài hành tinh (và nó không liên quan gì đến một Xenoform nhất định)
Tuyệt quá! Tôi luôn nói với bản thân rằng một ngày nào đó tôi muốn làm một gói, ngay cả khi nó phải biết làm thế nào để làm điều đó :).
Trong các loại bài đăng này, tôi đánh giá cao việc blog triển khai tùy chọn để thêm các mục như thế này vào "mục yêu thích" trong tài khoản của tôi
Hoàn toàn đồng ý, tôi đã trồng nó, nhưng không có gì 🙂
Nó cũng sẽ tốt, nếu có thể theo dõi những người dùng nhất định
Ông già tuyệt vời, tôi đã sử dụng manjaro được vài ngày và để nghiên cứu, tôi cần cài đặt trình theo dõi gói từ cisco nhưng nó chỉ có gói .deb của phiên bản mới nhất và ke ở trong AUR luôn khiến tôi gặp lỗi khi biên dịch , Tôi hy vọng với những bước này, tôi có thể cài đặt nó vì thực sự tôi đã sử dụng bạc hà linux, cảm ơn bạn rất nhiều
để xem liệu ai đó có dám đưa vào AUR Multisystem
phụ thuộc vào các thư viện deb không có trong vòm
Nhưng nếu nó hoạt động, chức năng của nó là tạo nhiều mặt dây chuyền ISO với grub2 tốt hơn so với unetbootin chỉ làm một.
Hiện tại tôi có một ISO ubuntu bên trong cho phép tôi thêm hình ảnh nếu tôi muốn khởi động từ nó trên chính USB
nhưng nếu không ai dám lưu vé
Xin lỗi, đã có một hệ thống đa hệ thống và tôi nghĩ là không
Trong đa hệ ...
nhưng thay đổi kích thước vì yaourt đưa ra các vấn đề và họ đã đặt nó là tùy chọn
Tuyệt vời 😀 được chấp thuận với "Purrr" một chương trình đổi tên tệp hàng loạt.
Kính trọng,
Hiện tại trong AUR họ đang loại bỏ những gói không có chức năng package (), làm sao tôi biết được những dòng nào để đặt ở đó? Tức là mình có nhiều gói và mình đã làm theo cách này nhưng không biết có ổn không https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD những gì tôi thực sự đã làm là chuyển những gì có trong build () sang package () nhưng như tôi đã nói, tôi không biết nó có ổn không ... Bạn có thể cho tôi ý kiến và đề xuất của bạn được không?
Cảm ơn 😀
Bên trong build () sẽ là phần biên dịch của chương trình và trong package () là phần tạo ra gói.
Để đặt một ví dụ ngắn gọn trong build () sẽ là ./configure, ./autogen.sh, cmake, make và in package () make install, v.v.
Này, cảm ơn bạn rất nhiều… Tôi sẽ chỉnh sửa các gói của mình 😀
Cảm ơn về thông tin tôi sẽ đánh dấu nó để tham khảo trong tương lai.
Ai đó có thể giải thích cho tôi 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 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?
Tôi nhìn và họ bảo tôi cài đặt gói deb2targz nhưng tôi gặp lỗi khi cài đặt nó từ thiết bị đầu cuối và tôi không biết liệu nó có thể được không
Điều tương tự cũng xảy ra với tôi; Tôi cần cài đặt trên Kademar dựa trên Arch; một vài gói mà tôi chỉ nhận được trong .deb
Ai đó có thể giúp tôi?
Nếu ý của bạn là lỗi trong quá trình cài đặt deb2targz, thì tôi vừa cài xong bằng lệnh yaourt -S deb2targz. Tất nhiên, trong ArchLinux.
Bài rất nhiều thông tin. Cám ơn vì đã chia sẻ.
Bài tốt. Cảm ơn vì đã chia sẻ thông tin hữu ích này.
Cảm ơn cho bài viết hữu ích này. Nó sẽ giúp ích rất nhiều.
chào bạn, bạn có thể để lại script cho việc chuyển đổi và cách sử dụng nó không? Đó là trong các phần nó hơi nhầm lẫn, tôi đã có deb mà tôi muốn chuyển đổi và tôi biết rằng có thể vì google chrome của AUR là deb nhưng tôi không biết cách tạo "MAKEPKG SI" với deb khác 🙁