Tạo nhị phân tĩnh


13

Tôi đã cài đặt một ứng dụng [ví dụ fdisk]. Nhưng nó yêu cầu các thư viện để thực hiện. Tôi đang tìm kiếm tiện ích / công cụ sẽ giúp tôi tạo một nhị phân tĩnh từ các nhị phân đã được cài đặt. Vì vậy mà tôi có thể sử dụng nó ở bất cứ đâu.

Các công cụ đáng tin cậy duy nhất mà tôi tìm thấy là ErmineLighttừ đây , nhưng công cụ này là chia sẻ.

Có phần mềm nguồn mở nào có sẵn cho cùng không?

EDIT fdisk chỉ là một ví dụ. Tôi hầu hết thời gian làm việc trên LFS, vì vậy nếu tôi phải sử dụng bất kỳ tiện ích nào, tôi cần phải làm theo các bước như

  1. Tải về nguồn
  2. cấu hình
  3. làm
  4. làm bài kiểm tra
  5. cài đặt

Vì vậy, để tiết kiệm thời gian, tôi đang tìm kiếm một giải pháp trong đó tôi sẽ tạo một nhị phân tĩnh từ debian hoặc từ fedora hoặc từ phân phối khác, thử nó trên LFS, và nếu nó hoạt động tốt hoặc theo yêu cầu của tôi, tôi sẽ đi với mã nguồn để biên dịch.


1
mục tiêu chỉ là dễ dàng chuyển (tức là đặt nó vào usb, mang theo bất cứ nơi nào có vòm bộ xử lý đó)?
Mike Pennington

Câu trả lời:


15

Nếu fdisk chỉ là một ví dụ và mục tiêu của bạn thực sự là tạo ra các tệp thực thi tĩnh từ các tệp thực thi động, hãy thử công cụ xác định Elf . Thậm chí còn có một so sánh với Ermine (bởi nhà cung cấp Ermine, do đó, hãy cẩn thận (không phải)) . Lưu ý rằng

  • Nếu bạn có nhiều tệp thực thi, kích thước kết hợp của chúng có thể nhiều hơn kích thước kết hợp của các tệp thực thi được liên kết động cộng với các thư viện động cần thiết.
  • Có các tính năng của GNU libc có thể không hoạt động trong các tệp thực thi được liên kết tĩnh, chẳng hạn như NSS (cơ sở dữ liệu tên người dùng, tên máy chủ, v.v.) và các tính năng liên quan đến ngôn ngữ.

Nếu mục tiêu của bạn là có một bộ công cụ hệ thống nhỏ, di động, bạn đang tìm BusyBox , một bộ công cụ cốt lõi dành cho các hệ thống nhúng (bao gồm fdisk). Bạn cũng có thể quan tâm đến một thư viện tiêu chuẩn nhỏ hơn Glibc, ví dụ như dietlibc hoặc KhănClibc .


1
Tôi đã thử thống kê Elf, nhưng thật ngạc nhiên. Nó không hoạt động. Nó segfaults. Tôi đã thử nhiều thời gian với nhiều bản phân phối với nhiều tiện ích.
SHW

1
Nó có thể tách biệt cho ngẫu nhiên địa chỉ: nó được giải thích ở đây: linux-magazine.com/Issues/2009/105/Ermine-vs.-Statifier
Rmano

0

Chà ... đây có vẻ là một ý tưởng rất tồi. Nhưng, nó có thể.

Vì fdisk là mã nguồn mở, chỉ cần lấy nguồn của nó và nhìn vào Makefile. Bạn nên tìm một tùy chọn sẽ chuyển "-static" cho gcc khi biên dịch.

Tôi không phải là một chuyên gia về C / C ++ nhưng theo tôi biết việc tạo một nhị phân được liên kết tĩnh từ một nhị phân được liên kết động hiện có là không thể.

Nếu bạn muốn sử dụng nó ở bất cứ đâu, tôi khuyên bạn nên sử dụng một bản phân phối bảo trì nhỏ bắt đầu trong vòng vài giây và cho phép bạn sửa đổi mọi thứ.

Nó có ý nghĩa hơn đối với tôi bởi vì có lẽ bạn sẽ muốn sửa đổi đĩa chạy cài đặt Linux / UNIX của bạn.


Câu trả lời của bạn có vẻ mâu thuẫn, bạn nói "... ý kiến ​​rất tệ. Nhưng, điều đó là có thể", và sau đó "... tạo ra một nhị phân liên kết tĩnh từ một nhị phân liên kết động hiện có là không thể". Hãy làm rõ câu trả lời của bạn, nó sẽ hữu ích nhất.
JM Becker

@TechZilla: tạo một nhị phân tĩnh là có thể, chỉ là không, trên mỗi tiktak, tạo một nhị phân từ một nhị phân liên kết động còn tồn tại . Tuy nhiên, xem câu trả lời được chấp nhận cho một số khả năng có thể để làm sau. [Lưu ý: Nhận xét dành cho độc giả tương lai nhiều hơn là chỉ trích bất cứ điều gì ở đây.]
bắt đầu

-3

bạn cũng có thể sử dụng ELFex Linker , một chương trình khá hay mà tôi vừa khám phá, gui của nó và có thể tạo các tệp thực thi tĩnh từ tệp thực thi động.


liên kết không hoạt động.
Jakuje

Liên kết hoạt động cho tôi và dường như để trả lời câu hỏi trực tiếp. Tôi đề nghị nó không phải là thư rác.
roaima

Các liên kết làm việc cho tôi. Trang này có số lỗi chính tả / ngữ pháp / biên tập mà bạn có thể mong đợi từ công việc của một lập trình viên chuyên nghiệp - nhiều hơn bạn mong đợi từ một trang web chuyên nghiệp, ít hơn bạn mong đợi từ một email lừa đảo. Về giống như bài viết trên, hãy nghĩ về nó. Có vẻ như người ta nghi ngờ rằng người dùng hoàn toàn mới này sẽ tham gia Stack Exchange đúng lúc để đăng một liên kết đến trang web hoàn toàn mới.
G-Man nói 'Phục hồi Monica'
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.