Theo một nghĩa nghiêm ngặt, một tệp nhị phân là một tệp không được mã hóa thành văn bản có thể đọc được. Thông thường hơn, một "nhị phân" đề cập đến một tệp được biên dịch, mã thực thi, mặc dù bản thân tệp đó có thể không được thực thi (tham khảo không nhiều đến các quyền đối với khả năng được chạy một mình; một số tệp mã nhị phân như thư viện được biên dịch, nhưng bất kể quyền nào, chúng không thể được thực thi tất cả). Một tệp nhị phân chạy dưới dạng thực thi độc lập là một "tệp thực thi", mặc dù không phải tất cả các tệp thực thi đều là nhị phân (và đây là về quyền: các tệp văn bản có thể thực thi được gọi trình thông dịch qua shebang, chẳng hạn như #!/bin/sh
là tệp thực thi).
Gói nhị phân là gì?
Gói nhị phân trong ngữ cảnh linux là gói ứng dụng chứa các tệp thực thi (được xây dựng trước), trái ngược với mã nguồn.
Lưu ý rằng điều này không có nghĩa là một tệp gói tự nó là một tệp thực thi. Tệp gói là một tệp lưu trữ (giống như a .zip
) chứa các tệp khác và tệp gói "nhị phân" là tệp chứa tệp thực thi (mặc dù một lần nữa, tệp thực thi không nhất thiết phải là nhị phân và thực tế có thể sử dụng gói nhị phân cho thư viện được biên dịch là mã nhị phân, nhưng không thể thực thi). Tuy nhiên, gói phải được giải nén để bạn truy cập các tệp này.
Thông thường, hệ thống quản lý gói được chăm sóc cho bạn (ví dụ apt / dpkg) sẽ tải xuống gói và giải nén và cài đặt các nhị phân bên trong cho bạn.
Sự khác biệt giữa gói nhị phân và gói deb là gì?
Không có - .deb
các gói là các gói nhị phân, mặc dù có các gói .deb
chứa nguồn thay thế, chúng thường được -src
gắn vào tên của chúng.
Tôi chạy một số gói trực tiếp ở định dạng "xyz.linux.run" Gói này là gì?
Chúng thường là các gói nhị phân tự giải nén; họ làm việc bằng cách nhúng một tải trọng nhị phân vào một tập lệnh shell. "Tự giải nén" có nghĩa là bạn không phải gọi một ứng dụng khác (chẳng hạn như trình quản lý gói) để giải nén và sử dụng chúng. Tuy nhiên, vì chúng không làm việc với trình quản lý gói, việc giải quyết các phụ thuộc của chúng có thể là một crapshoot và do đó một số gói như vậy sử dụng các tệp thực thi được liên kết tĩnh (chúng có tất cả các thư viện cần thiết được tích hợp vào chúng) gây lãng phí một chút bộ nhớ khi chúng được sử dụng .