Tại sao nhiều máy Mac tải xuống một .dmg chỉ chứa một .pkg?


22

Tôi đã nhận thấy rằng nhiều bản tải xuống là một dmg (ảnh đĩa) có chứa một tệp pkg (gói cài đặt). Thông thường pkg dường như đã được nén vì dmg không làm giảm kích thước tệp nhiều nếu có.

Ví dụ :

Tiết kiệm 737.658 byte, hoặc 0,6% kích thước tệp gốc.

Có một lý do để không chỉ phân phối pkg? Là tiết kiệm nén 0,6% có quan trọng? Hay đó chỉ là cách mọi thứ luôn được thực hiện trên Mac?

. câu hỏi hay hơn là "tại sao Mac OS X không nhận ra một dmg với một pkg bên trong nó chỉ là một pkg và chỉ cần cài đặt nó mà không yêu cầu tất cả việc gắn kết và ngắt kết nối?")


Trên thực tế các gói hiện đại là các tập tin phẳng, không phải thư mục. Vì vậy, đặt chúng trong một dmg chỉ để cung cấp một tập tin phẳng là không còn cần thiết.
mlaster

@mlaster Điều đó dường như không đúng. Bạn có một ví dụ?
Gerry

1
radiosilenceapp.com/downloads/Private%20Eye.pkg là một ví dụ, như là JavaForMacOSX10.7.pkg (mặc dù Apple vẫn có nó như là một dmg khi nó đã sẵn sàng để tải về). Tôi có một vài cái khác trong kho lưu trữ Tải xuống của tôi, nhưng nó chắc chắn chưa phổ biến. fileliệt kê chúng là "kho lưu trữ xar - phiên bản 1" Nhưng sau đó, có vấn đề về việc đảm bảo rằng máy chủ web được thiết lập để buộc các tệp .pkg tải xuống thay vì hiển thị. (Tôi hy vọng một số nhà phát triển sử dụng .zip thay vì .dmg vì lý do tương tự - ngay cả các máy chủ và trình duyệt web có cấu hình xấu nhất cũng biết để tải xuống các tệp .zip).
TJ Luoma

1
Tuy nhiên, ngay cả khi chúng tôi có các tệp phẳng, rất nhiều nhà phát triển đã đặt các tệp .pkg bên trong một tệp .zip vì họ có thể tin tưởng vào các máy chủ để loại MIME của họ được đặt chính xác cho các tệp .zip nhưng không nhất thiết phải là .pkg (hoặc .dmg cho vấn đề đó ).
TJ Luoma

Câu trả lời:


24

Về mặt kỹ thuật, một .pkg không phải là một tệp , mà là một thư mục . Vì vậy, có thể thu thập nó vào một tệp duy nhất là cần thiết để tải xuống.


1
Tôi thậm chí không nhận ra điều này, nhưng bạn đánh vào đầu đinh.
Gerry

Cũng không biết rằng về một .pkg. Biết rằng tất cả đều có ý nghĩa. Cảm ơn!
Jim McKeeth

2
Đóng gói nó vào một dmg có nghĩa là bất kỳ thuộc tính tệp mở rộng nào của OS X và / hoặc các nhánh tài nguyên đều được giữ nguyên và bạn có thể phục vụ nó từ một máy chủ web không phải OS X. Đó cũng là lý do tại sao định dạng gói được cập nhật để bao gồm các tệp phẳng trong các phiên bản gần đây của OS X.
Joe Block

6
Câu trả lời này không còn chính xác nữa, .pkgcác tệp ngày nay không chỉ là một thư mục đơn giản: en.wikipedia.org/wiki/Installer_(OS_X)#Installer_package
t0r0X

1
@wisbucky: phải gần đây hơn năm 2011, như đã lưu ý bởi t0r0X.
GEdgar

14

Dữ liệu trên hình ảnh DMG có thể được kiểm tra tính toàn vẹn với tiện ích Đĩa. Bạn có thể bắt buộc người dùng phải đồng ý cấp phép trước khi gắn dmg. Nó có thể bị khóa từ sửa đổi. Bạn có thể dễ dàng thêm các tập tin và thư mục ẩn trên DMG. Bạn có thể làm hình nền. Bạn có thể làm cho nó an toàn khỏi bị tước trong quá trình chuyển qua các hệ thống tệp nhận biết không siêu dữ liệu như FAT.

Rất nhiều lý do thực sự .


1
Tất cả các tính năng thú vị của DMG, nhưng chúng không thêm bất cứ thứ gì vào PKG trừ khi chúng nghiêm túc không thể xác minh tính toàn vẹn của chính chúng.
Jim McKeeth

6

Một lý do có thể là Safari theo mặc định sẽ tự động gắn các tệp DMG và cửa sổ Finder sẽ bật lên với nội dung. Đổi lại, thư mục DMG có thể được tạo kiểu với ví dụ hình ảnh nền. Tôi cho rằng điều đó có thể được coi là thân thiện với người dùng hơn là phải tìm trong thư mục Tải xuống của bạn để tìm trình cài đặt, nhưng tôi đồng ý rằng nó khá hay.

Một lý do khác là khả năng nhóm các tệp hỗ trợ khác, ví dụ như các tệp tài liệu hoặc thậm chí các trình cài đặt thứ cấp.

Tuy nhiên, nó không phải là một phân phối phổ biến để bắt đầu. Phần lớn các ứng dụng được phân phối dưới dạng các thư mục .app độc lập bên trong tệp DMG (nếu không thông qua App Store ngay bây giờ). Ví dụ của bạn dường như là một ngoại lệ đối với tôi, mặc dù có lẽ nó phổ biến hơn với một số kênh phân phối cụ thể? Cá nhân, tôi sẽ không quan tâm đến nó nhiều hơn nữa.


1
+ 1 cho đoạn cuối - Tôi nghĩ do som trojan .dmg s không (chắc chắn không nên) được tự động gắn kết
user151019

@Gerry, Tự động gắn kết ?? Cái thiết lập điên rồ nào đây?
Pacerier

@Gerry, điều này có mâu thuẫn với ".. không đồng ý cấp phép .." trong apple.stackexchange.com/a/30698/6533 không?
Pacerier

1

Tuy nhiên, một lý do khác là bạn không thể chạy các tệp .pkg trực tiếp từ các khối mạng, nhưng bạn có thể chạy .dmg từ một ổ đĩa mạng và sau đó khởi chạy gói.

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.