Tại sao mọi người sử dụng tarballs?


90

Là một nhà phát triển Windows chủ yếu, có lẽ tôi đang thiếu một thứ gì đó văn hóa trong cộng đồng Linux, nhưng nó luôn khiến tôi bối rối.

Khi tải xuống thứ gì đó, trước tiên các tệp sẽ được đưa vào .tarkho lưu trữ sau đó được nén . Tại sao lại là quy trình hai bước? Zip không đạt được nhóm tệp? Có một số lợi ích khác mà tôi không biết?


3
Thông thường, bạn chỉ cần kết hợp nén và nhóm tệp thành một lệnh duy nhất. tar -zcf file.tar.gz một số tên tập tin
Juha Syrjälä

1
Không ai đề cập rằng chuyển 1000000 tệp có kích thước 1 byte đắt hơn chuyển 1 tệp có kích thước 1000000 byte.
Milo LaMar

Câu trả lời:


137

bzipgziplàm việc trên các tệp đơn lẻ, không phải nhóm tệp. Hoàn toàn cũ zip(và pkzip) hoạt động trên các nhóm tệp và có khái niệm về kho lưu trữ được tích hợp sẵn.

Triết lý * nix là một trong những công cụ nhỏ thực hiện các công việc cụ thể rất tốt và có thể được xâu chuỗi lại với nhau. Đó là lý do tại sao có hai công cụ ở đây có các nhiệm vụ cụ thể và chúng được thiết kế để phù hợp với nhau. Nó cũng có nghĩa là bạn có thể sử dụng tar các tập tin nhóm và sau đó bạn có thể lựa chọn một công cụ nén ( bzip, gzip, vv).


2
Trả lời nhanh hơn và tốt hơn một chút so với tôi - đoán tôi sẽ quay lại làm việc!
Harper Shelby

9
Tôi đánh bại bạn 4 phút, và đó là thời gian tràn ngăn xếp vĩnh cửu. :-)
Stewart Johnson

1
Cần lưu ý rằng cả tar và gzip đều hữu ích, đó là lý do tại sao chúng tách biệt nhau. Với một số cách sử dụng thông minh các đường ống, tôi đã từng di chuyển một thư mục từ máy tính này sang máy tính khác bằng cách tarring, nén và chuyển đường ống qua SSH, sau đó giải nén và gỡ chuỗi trên đích. Một lệnh, không có tệp tạm thời.
rmeador

1
Bạn cũng có thể nói rằng họ gắn bó với những gì đã được chứng minh là hoạt động tốt, hơn là thay đổi mọi thứ và phá vỡ khả năng tương thích. .tar.gz có thể được thực hiện trong một bước duy nhất không phụ thuộc vào cái gọi là các công cụ và kỹ thuật hiện đại (Vui lòng đăng ký WinZip).
JeeBee

2
Tôi không thể tin rằng không ai đã chỉnh sửa câu hỏi hoặc để lại nhận xét đề cập đến toàn bộ (imo) của việc sử dụng tarkho lưu trữ: Hỗ trợ quyền hệ thống tệp Linux . Điều gì sẽ xảy ra nếu bạn tải xuống một gói Debian, trình quản lý gói của bạn đã cài đặt nó, nhưng không có tệp nào thực thi được? Đó là thực lý do tại sao tất cả mọi người sử dụng tarball ...;)
JamesTheAwesomeDude

28

Một điểm khác biệt quan trọng là bản chất của hai loại tài liệu lưu trữ.

Các tệp TAR không chỉ đơn thuần là sự nối nội dung tệp với một số tiêu đề, trong khi gzip và bzip2 là các trình nén luồng, trong tarballs, được áp dụng cho toàn bộ quá trình nối.

Tệp ZIP là sự kết hợp của các tệp được nén riêng lẻ, với một số tiêu đề. Trên thực tế, thuật toán DEFLATE được sử dụng bởi cả zip và gzip và với việc điều chỉnh nhị phân thích hợp, bạn có thể lấy tải trọng của một luồng gzip và đưa nó vào tệp zip với các mục từ điển và tiêu đề thích hợp.

Điều này có nghĩa là hai loại lưu trữ khác nhau có sự đánh đổi khác nhau. Đối với các bộ sưu tập lớn các tệp nhỏ, TAR theo sau bởi một bộ nén dòng thường sẽ dẫn đến tỷ lệ nén cao hơn ZIP vì bộ nén dòng sẽ có nhiều dữ liệu hơn để xây dựng các tần số từ điển của nó và do đó có thể loại bỏ nhiều thông tin thừa hơn. Mặt khác, lỗi (bảo toàn độ dài tệp) trong tệp ZIP sẽ chỉ làm hỏng những tệp có dữ liệu nén bị ảnh hưởng. Thông thường, máy nén luồng không thể khôi phục một cách có ý nghĩa các lỗi giữa luồng. Do đó, các tệp ZIP có khả năng chống tham nhũng tốt hơn, vì một phần của kho lưu trữ sẽ vẫn có thể truy cập được.


Cảm ơn bạn đã phân biệt giữa zip và tar + gzip!
Luke

1
+1 để phân biệt giữa "nén tệp tổng hợp" và "tệp nén tổng hợp".
Jesse Chisholm

Mặt khác, lý do tar cho phép tỷ lệ nén tốt hơn và zip có khả năng đàn hồi cao hơn là do tar là một loại nén rắn trong khi zip không rắn.
phóng khoáng

@Barry, Vậy cuối cùng ai thắng? (giả sử chúng ta đang sử dụng hệ điều hành hiện đại)
Pacerier

@Pacerier Tôi không nghĩ là có chiến thắng. Zips tốt hơn cho việc truy cập ngẫu nhiên và sử dụng cho mọi người trên Windows. Tarballs có khả năng tương thích cao hơn trên Linux và Unix. Tarballs có độ nén cao hơn một chút nhưng bạn cần phải giải nén toàn bộ để truy cập bất cứ thứ gì. Cả hai đều hỗ trợ các thuật toán nén tùy ý, nhưng việc trộn và kết hợp với tarball sẽ dễ dàng hơn nhiều. Tùy thuộc vào mục tiêu, có thể tốt hơn.
Barry Kelly

26

Thật kỳ lạ là không ai khác đã đề cập rằng các phiên bản GNU hiện đại tarcho phép bạn nén khi bạn đang đóng gói:

tar -czf output.tar.gz directory1 ...

tar -cjf output.tar.bz2 directory2 ...

Bạn cũng có thể sử dụng trình nén mà bạn chọn, miễn là nó hỗ trợ các tùy chọn ' -c' (sang stdout, hoặc từ stdin) và ' -d' (giải nén):

tar -cf output.tar.xxx --use-compress-program=xxx directory1 ...

Điều này sẽ cho phép bạn chỉ định bất kỳ máy nén thay thế nào.

[ Đã thêm : Nếu bạn đang giải nén từ gziphoặc bzip2tệp nén, GNU sẽ tartự động phát hiện những tệp này và chạy chương trình thích hợp. Đó là, bạn có thể sử dụng:

tar -xf output.tar.gz
tar -xf output.tgz        # A synonym for the .tar.gz extension
tar -xf output.tar.bz2

và những điều này sẽ được xử lý đúng cách. Nếu bạn sử dụng một máy nén không tiêu chuẩn, thì bạn cần phải xác định điều đó khi bạn thực hiện việc trích xuất.]

Lý do cho sự tách biệt, như trong câu trả lời đã chọn, sự tách biệt về nhiệm vụ. Trong số những thứ khác, điều đó có nghĩa là mọi người có thể sử dụng cpiochương trình '' để đóng gói các tệp (thay vì tar) và sau đó sử dụng máy nén được lựa chọn (ngày xưa, máy nén được ưa thích hơn pack, sau này là compress(hiệu quả hơn nhiều so với pack), và sau gzipđó chạy vòng quanh cả hai phiên bản tiền nhiệm và hoàn toàn cạnh tranh với zip(đã được chuyển sang Unix, nhưng không có nguồn gốc ở đó), và bây giờ bzip2, theo kinh nghiệm của tôi, thường có lợi thế hơn 10-20% gzip.

[ Thêm : một người nào đó đã lưu ý trong câu trả lời của họ rằng cpiocó những quy ước buồn cười. Điều đó đúng, nhưng cho đến khi GNU tarcó các tùy chọn liên quan (' -T -'), cpiolà lệnh tốt hơn khi bạn không muốn lưu trữ mọi thứ bên dưới một thư mục nhất định - bạn thực sự có thể chọn chính xác tệp nào đã được lưu trữ. Nhược điểm của cpionó là bạn không chỉ có thể chọn các tệp - bạn phải chọn chúng. Vẫn còn một nơi mà cpiođiểm số; nó có thể thực hiện sao chép tại chỗ từ hệ thống phân cấp thư mục này sang hệ thống phân cấp thư mục khác mà không cần bất kỳ bộ nhớ trung gian nào:

cd /old/location; find . -depth -print | cpio -pvdumB /new/place

Ngẫu nhiên, -depthtùy chọn bật ' ' findrất quan trọng trong bối cảnh này - nó sao chép nội dung của các thư mục trước khi thiết lập quyền trên chính các thư mục đó. Khi tôi kiểm tra lệnh trước khi nhập phần bổ sung cho câu trả lời này, tôi đã sao chép một số thư mục chỉ đọc (quyền 555); khi tôi xóa bản sao, tôi phải nới lỏng quyền trên các thư mục trước khi ' rm -fr /new/place' có thể hoàn tất. Nếu không có -depthtùy chọn, cpiolệnh sẽ không thành công. Tôi chỉ nhớ lại điều này khi tôi đi dọn dẹp - công thức được trích dẫn là tự động đối với tôi (chủ yếu là do lặp lại nhiều lần trong nhiều năm). ]


Định dạng ZIP mở rộng có thể chứa các máy nén dòng plug-in giống như TAR, nhưng nếu không có giao thức IPC phù hợp, nó có thể sẽ chậm hơn do thực thi quá nhiều các quy trình con.
Barry Kelly

lệnh goto của tôi: tar -xfvz tarpkg.tar.gz (thay thế z bằng aj cho các kho lưu trữ nén bz2)
Bryan Rehbein

1
@Redbeard: tar tự động phát hiện gzip và bzip2 khi giải nén - để tạo, bạn phải cho nó biết phải làm gì, nhưng tôi chỉ sử dụng -xf (hoặc -xvf) và tên tệp tar.
Jonathan Leffler

15

Điều buồn cười là bạn có thể nhận được những hành vi mà người tạo ra targzip. Ví dụ: bạn không chỉ có thể gzip một tệp tar, bạn còn có thể gzip các tệp tar, để tạo ra một files.gz.tar(về mặt kỹ thuật, điều này sẽ gần với cách pkziphoạt động hơn). Hoặc bạn có thể đưa một chương trình khác vào đường ống, ví dụ như một số mật mã và bạn có thể chọn thứ tự tarring, gzipping và mã hóa tùy ý. Bất cứ ai đã viết chương trình mật mã không cần phải có một chút ý tưởng nào về cách chương trình của mình sẽ được sử dụng, tất cả những gì anh ta cần làm là đọc từ đầu vào chuẩn và ghi vào đầu ra chuẩn.


Khi tạo tệp, hãy nhớ mã hóa sau khi nén, không phải trước đó, vì đầu ra mã hóa trông ngẫu nhiên và khó nén.
Jonathan Leffler

8

Trong thế giới Unix, hầu hết các ứng dụng được thiết kế để làm một việc và làm tốt điều đó. Các tiện ích zip phổ biến nhất trong Unix, gzip và bzip2, chỉ thực hiện nén tệp. tar không nối tập tin. Việc đưa đầu ra của tar vào một tiện ích nén sẽ thực hiện những gì cần thiết mà không làm tăng độ phức tạp quá mức cho một trong hai phần mềm.


7

Một lý do khác khiến nó rất phổ biến là tar và gzip nằm trên gần như toàn bộ cơ sở cài đặt * NIX ngoài đó. Tôi tin rằng đây có lẽ là lý do lớn nhất. Đó cũng là lý do tại sao các tệp zip cực kỳ phổ biến trên Windows, bởi vì hỗ trợ được tích hợp sẵn, bất kể các quy trình vượt trội trong RAR hoặc 7z.

GNU tar cũng cho phép bạn tạo / trích xuất các tệp này từ một lệnh (một bước):

  • Tạo kho lưu trữ:
  • tar -cfvj destination.tar.bz2 *.files
  • tar -cfvz destination.tar.gz *.files

  • Trích xuất một Kho lưu trữ: (phần -C là tùy chọn, nó mặc định là thư mục hiện tại)

  • tar -xfvj archive.tar.bz2 -C destination_path
  • tar -xfvz archive.tar.gz -C destination_path

Đây là những gì tôi đã cam kết với bộ nhớ trong nhiều năm của tôi trên Linux và gần đây trên Nexenta (OpenSolaris).


3
Thực ra thì ngược lại: zip được xây dựng trong Windows ngay bây giờ vì nó đã phổ biến trong DOS và các phiên bản đầu tiên của Windows.
Christian Lescuyer

Tôi thích sử dụng RAR trên Windows, tar.bz2 trên Linux
Osama Al-Maadeed

Bạn có thể lưu ý rằng tùy chọn phân tích cú pháp tùy chọn getopt ()) kỳ lạ (không tương thích với) và dấu gạch ngang là tùy chọn vì tar định trước các quy ước tiêu chuẩn của tùy chọn lệnh Unix.
Jonathan Leffler

5

Tôi nghĩ rằng bạn đang tìm kiếm thêm bối cảnh lịch sử cho điều này. Zip ban đầu dành cho một tệp duy nhất. Tar được sử dụng để đặt nhiều tệp vào một tệp duy nhất. Do đó tarring và zip là quá trình hai bước. Tại sao nó vẫn còn chiếm ưu thế đến ngày hôm nay là bất cứ ai đoán.

Từ wikipedia cho Tar_ (file_format)

Trong máy tính, tar (có nguồn gốc từ kho lưu trữ băng) vừa là định dạng tệp (ở dạng dòng bit lưu trữ) vừa là tên của chương trình được sử dụng để xử lý các tệp đó. Định dạng được chuẩn hóa bởi POSIX.1-1988 và sau đó là POSIX.1-2001. Ban đầu được phát triển dưới dạng định dạng thô, được sử dụng để sao lưu băng và các thiết bị truy cập tuần tự khác cho mục đích sao lưu, hiện nay nó thường được sử dụng để đối chiếu các bộ sưu tập tệp thành một tệp lớn hơn, để phân phối hoặc lưu trữ, trong khi vẫn bảo toàn thông tin hệ thống tệp như người dùng và nhóm quyền, ngày tháng và cấu trúc thư mục.


4

tar là UNIX vì UNIX là tar

Theo ý kiến ​​của tôi, lý do của việc vẫn sử dụng cho tarđến ngày nay là vì đó là một trong những trường hợp (có thể là hiếm) mà cách tiếp cận UNIX đã thực hiện nó một cách hoàn hảo ngay từ đầu.

Xem xét kỹ hơn các giai đoạn liên quan đến việc tạo kho lưu trữ, tôi hy vọng bạn sẽ đồng ý rằng cách phân tách các nhiệm vụ khác nhau diễn ra ở đây là triết lý của UNIX tốt nhất:

  • một công cụ ( tarđể đặt tên cho nó ở đây) chuyên chuyển đổi bất kỳ lựa chọn tệp, thư mục và liên kết tượng trưng nào bao gồm tất cả các siêu dữ liệu có liên quan như dấu thời gian, chủ sở hữu và quyền thành luồng một byte.

  • và chỉ là một công cụ có thể thay thế tùy ý khác ( gzip bz2 xzchỉ nêu tên một vài tùy chọn) chuyển đổi bất kỳ luồng byte đầu vào nào thành luồng đầu ra khác (hy vọng) nhỏ hơn.

Sử dụng và cách tiếp cận như vậy mang lại một số lợi ích cho người dùng cũng như nhà phát triển:

  • khả năng mở rộng Cho phép kết tarhợp với bất kỳ thuật toán nén nào đã tồn tại hoặc bất kỳ thuật toán nén nào vẫn được phát triển mà không cần phải thay đổi bất kỳ điều gì về hoạt động bên trong của tartất cả.

    Ngay khi công cụ nén "hyper-zip-utra" hoặc whater hoàn toàn mới ra mắt, bạn đã sẵn sàng sử dụng nó với toàn bộ sức mạnh của người hầu mới của mình tar.

  • tính ổn định tar đã được sử dụng nhiều kể từ đầu những năm 80 được thử nghiệm và được chạy trên nhiều hệ điều hành và máy móc.

    Việc ngăn chặn nhu cầu phát minh lại bánh xe trong việc thực hiện lưu trữ quyền sở hữu, quyền, dấu thời gian và những thứ tương tự lặp đi lặp lại đối với mọi công cụ lưu trữ mới không chỉ tiết kiệm rất nhiều (nếu không thì không cần thiết) trong quá trình phát triển mà còn đảm bảo cùng độ tin cậy cho mọi ứng dụng mới.

  • nhất quán Giao diện người dùng luôn giống nhau.

    Không cần phải nhớ rằng để khôi phục quyền sử dụng công cụ A bạn phải vượt qua tùy chọn --i-hope-you-rember-this-onevà sử dụng công cụ B bạn phải sử dụng --this-time-its-another-one trong khi sử dụng công cụ C đó là `--hope-you-didnt-try-with-tool-as-switch.

    Trong khi khi sử dụng công cụ D, bạn sẽ thực sự làm rối nó nếu bạn không sử dụng --if-you-had-used-tool-bs-switch-your-files-would-have-been-deleted-now.


3

tar phổ biến hầu hết vì lý do lịch sử. Có sẵn một số lựa chọn thay thế. Một số trong số chúng tồn tại gần bằng tar, nhưng không thể vượt qua tar về mức độ phổ biến vì một số lý do.

  • cpio (cú pháp xa lạ; về mặt lý thuyết nhất quán hơn, nhưng mọi người thích những gì họ biết, tar chiếm ưu thế)
  • ar (phổ biến từ lâu, bây giờ được sử dụng để đóng gói các tệp thư viện)
  • Shar (các tập lệnh shell tự giải nén, có tất cả các loại vấn đề; được sử dụng để phổ biến hơn bao giờ hết)
  • zip (vì các vấn đề cấp phép, nó không có sẵn trên nhiều Liên minh)

Một ưu điểm chính (và nhược điểm) của tar là nó không có tiêu đề tệp, cũng như thư mục trung tâm của nội dung. Do đó, trong nhiều năm, nó không bao giờ bị giới hạn về kích thước tệp (cho đến thập kỷ này, khi giới hạn 8 Gb đối với các tệp bên trong kho lưu trữ đã trở thành một vấn đề, đã được giải quyết từ nhiều năm trước).

Rõ ràng là một nhược điểm của tar.gz (hoặc ar.Z cho vấn đề đó), đó là bạn phải giải nén toàn bộ kho lưu trữ để giải nén các tệp đơn lẻ và liệt kê nội dung lưu trữ, không bao giờ làm tổn thương mọi người đủ để khiến họ bị đào thải khỏi tar với số lượng đáng kể .


Phiên bản cũ của tar không có thông tin tiêu đề; phiên bản tar mới (tương thích với POSIX, USTAR) (ví dụ như GNU tar). Lệnh 'tệp' hiểu điều này.
Jonathan Leffler

2

gzip và bzip2 chỉ đơn giản là một máy nén, không phải một phần mềm lưu trữ. Do đó, sự kết hợp. Bạn cần phần mềm tar để gói tất cả các tệp.

Bản thân ZIP và RAR cũng là sự kết hợp của hai quá trình.


2

Thông thường trong thế giới * nux, các gói tệp được phân phối dưới dạng tarball và sau đó được nén tùy chọn. Gzip là một chương trình nén tệp đơn giản không thực hiện việc đóng gói tệp như tar hoặc zip.

Tại một thời điểm, zip đã không xử lý đúng một số thứ mà hệ thống tệp Unix tar và unix coi là bình thường, như liên kết tượng trưng, ​​tệp trường hợp hỗn hợp, v.v. Tôi không biết liệu điều đó có thay đổi hay không, nhưng đó là lý do tại sao chúng tôi sử dụng tar.


1
* nux - Linux, Unux, Solarnux?
mackenir

1
@mackenir - đừng quên POSUX. :-)
Paul Tomblin

1
@mackenir - Hay đó phải là POSNUX?
Paul Tomblin

1

Tar = Nhóm các tệp trong 1 tệp

GZip = Zip tệp

Họ chia quá trình làm 2. Thế là xong.

Trong môi trường Windows mà bạn có thể quen sử dụng WinZip hoặc WinRar để thực hiện một Zip. Quá trình Zip của các phần mềm này thực hiện nhóm tệp và nén nhưng bạn chỉ đơn giản là không thấy quá trình đó.


3
Đó không phải là lời giải thích tốt nhất, vì các tệp "zip" mà OP sử dụng trong Windows, đã kết hợp nhóm.
Gareth

1

Vì lý do tương tự tại sao người dùng mac yêu thích hình ảnh đĩa: Chúng là một cách thực sự thuận tiện để lưu trữ nội dung và sau đó chuyển nó đi, tải lên / tải xuống hoặc gửi qua email, v.v.

Và dễ sử dụng và di động hơn IMHO dạng kéo.


1

Trong những ngày Altos-XENIX của tôi (1982), chúng tôi bắt đầu sử dụng tar (trình lưu trữ băng) để trích xuất các tệp từ 5 1/4 đĩa mềm hoặc băng trực tuyến cũng như sao chép vào các phương tiện này. Chức năng của nó rất giống với các lệnh BACKUP.EXE và RESTORE.EXE trong DOS 5.0 và 6.22 dưới dạng bổ sung, cho phép bạn mở rộng nhiều phương tiện nếu nó không thể vừa với một phương tiện. Hạn chế là nếu một trong nhiều phương tiện gặp sự cố, thì toàn bộ thứ đều vô giá trị. tar và dd bắt nguồn từ UNIX SYstem III và vẫn là một tiện ích phát hành tiêu chuẩn với hệ điều hành giống UNIX 'có lẽ vì lý do tương thích ngược.


0

Tar không chỉ là một định dạng tệp, mà nó là một định dạng băng. Băng lưu trữ dữ liệu từng bit. Mỗi triển khai bộ nhớ là tùy chỉnh. Tar là phương pháp mà bạn có thể lấy dữ liệu ra khỏi đĩa và lưu trữ vào băng theo cách mà người khác có thể lấy ra mà không cần chương trình tùy chỉnh của bạn.

Sau đó, các chương trình nén ra đời, và * nix vẫn chỉ có một phương pháp tạo một tệp duy nhất chứa nhiều tệp.

Tôi tin rằng đó chỉ là quán tính tiếp tục với xu hướng tar.gz. Pkzip bắt đầu với cả nén và lưu trữ trong cùng một lúc, nhưng sau đó các hệ thống DOS thường không gắn ổ băng!

Từ wikipedia cho Tar_ (file_format)

Trong máy tính, tar (có nguồn gốc từ kho lưu trữ băng) vừa là định dạng tệp (ở dạng dòng bit lưu trữ) vừa là tên của chương trình được sử dụng để xử lý các tệp đó. Định dạng được chuẩn hóa bởi POSIX.1-1988 và sau đó là POSIX.1-2001. Ban đầu được phát triển dưới dạng định dạng thô, được sử dụng để sao lưu băng và các thiết bị truy cập tuần tự khác cho mục đích sao lưu, hiện nay nó thường được sử dụng để đối chiếu các bộ sưu tập tệp thành một tệp lớn hơn, để phân phối hoặc lưu trữ, trong khi vẫn bảo toàn thông tin hệ thống tệp như người dùng và nhóm quyền, ngày tháng và cấu trúc thư mục.


Nói chính xác tar là một định dạng tệp - chỉ là trên băng unix chỉ là một tệp khác.
Martin Beckett

Trên thực tế, tar không phải là một định dạng tệp để bắt đầu. Băng không có hệ thống tệp, vì vậy tar được tạo ra như một bản vá cho việc không có hệ thống tệp.
Kieveli

0

Là một nhà phát triển Windows, có thể hiểu được tarballs có vẻ lạ như thế nào . Từ này tarlà viết tắt của Tape Archive. Hãy nghĩ đến máy ghi âm reel-to-reel.

Trong thế giới Windows, các chương trình thường được cài đặt với setup.exehoặc install.exehoạt động với tất cả các loại thuật sĩ trong sổ đăng ký, tạo thư mục và cài đặt .dlltệp (Thư viện liên kết động).

Trong Linux, Ubuntu nói riêng, theo kinh nghiệm của riêng tôi, các trình quản lý gói phần lớn thời gian chăm sóc một ứng dụng và cài đặt nó . Trong Ubuntu, nhà phát triển tạo một gói kết thúc bằng .deb(Debian, dựa trên Ubuntu). Cú pháp cơ bản để cài đặt a .deblà:

sudo apt install <package_name>

Mặc dù điều này là tương đối dễ hiểu đối với người dùng, nhưng việc tạo một .debgói và liên kết PPA là rất nhiều việc đối với các nhà phát triển .

Một phương pháp dễ dàng hơn cho các nhà phát triển là tạo một tarball. Sau đó, gánh nặng cài đặt được chia sẻ bởi người dùng cuối. Họ phải:

  • tải xuống tarball (thường kết thúc bằng .tar.gz).
  • giải nén mã nguồn vào một thư mục.
  • biên dịch mã nguồn (chưa từng có trong thế giới Windows for Profit).
  • hy vọng sẽ viết ra những gì họ đã làm trong trường hợp cần lặp lại trong tương lai vì không có aptcơ sở dữ liệu nào (nghĩ rằng danh sách các chương trình đã cài đặt Windows) có thể được sao lưu.

Như một câu trả lời khác đã nêu cho một câu hỏi khác mà bạn đã hỏi, bạn CÓ THỂ tạo một tarball và nén dữ liệu cùng một lúc. Quy trình vượt qua hai lần KHÔNG bắt buộc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.