Cài đặt ứng dụng từ nguồn


12

Tôi đã tự hỏi về cài đặt chung của tất cả các ứng dụng trong linux. Và điều đó có nghĩa là gì? Chà, khi tôi đang sử dụng windows tôi biết rằng nếu tôi muốn cài đặt một ứng dụng, tôi bấm đúp vào tệp .exe và sau đó, tiếp theo, tiếp theo.

Trong linux, tôi đã hiểu rằng có thể có một cách phổ biến (không chung chung) để cài đặt bất kỳ ứng dụng nào. Cài đặt từ nguồn có thể? Có phương pháp từng bước nào có thể được sử dụng để cài đặt ứng dụng như trong windows hay không?

Tôi đang hỏi vì tôi không muốn tiếp tục hỏi google, làm thế nào? Vì vậy, tôi đã quản lý để cài đặt gần đây từ nguồn freecad từ hướng dẫn này và tôi nghĩ rằng nó sẽ là một khởi đầu rất tốt đẹp như phương pháp phổ biến, phải không?

Nhưng điều sau đó là tìm nguồn đúng và khi một ứng dụng có phương pháp cài đặt rất độc đáo!


Có thể trùng lặp cách cài đặt từ .tar.gz?
Tachyons

Không, câu hỏi của tôi rất rõ ràng tôi nghĩ! Chỉ là một thông tin sâu hơn
gabriel

tuyệt vời tuyệt vời tuyệt vời như thế nào để howtogeek.com/105413/...
Mohammad Reza Rezwani

Câu trả lời:


14

Hướng dẫn cài đặt khác nhau giữa các chương trình mặc dù có các công cụ được thiết lập tốt như autotools (bao gồm automake và autoconf) và cmake.

Vì các chương trình có thể có các ngôn ngữ lập trình khác nhau, thật khó để đưa ra các lệnh chung phù hợp với tất cả các gói. Ví dụ: Python thường có các tập lệnh setup.py trong đó các chương trình C thường sử dụng autotools hoặc ít nhất là Makefile.

Tôi luôn bắt đầu với việc tìm các tệp INSTALL, README hoặc các tệp tương tự. Nếu bạn cần biên dịch một chương trình từ nguồn, bạn có thể cần build-essentialgói phụ thuộc vào trình biên dịch và các gói phát triển chung khác.

Tùy thuộc vào chương trình bạn đang cố gắng biên dịch, bạn có thể cần phải cài đặt các phụ thuộc khác. Kiểm tra README để biết hoặc đầu ra của ./configuretập lệnh (một tệp thực thi nằm trong thư mục gốc của nguồn được trích xuất). Ví dụ: nếu nó nói rằng bạn cần "tiêu đề phát triển x11", hãy thử tìm "x11-dev" hoặc "libx11-dev" trong kho (trong trường hợp này, đó là libx11-devthứ bạn đang tìm kiếm).

Các bản phân phối nguồn được xây dựng với autoconf / automake có thể được trích xuất và định cấu hình bằng:

tar xf foo-1.0.tar.gz
cd foo-1.0
./configure
make
sudo make install

Sử dụng ./configure --helpcho các tùy chọn có sẵn. Theo mặc định, các tập tin thường được cài đặt /usr/locallà hoàn toàn tốt. Trừ khi bạn định đóng gói tệp thành tệp .deb, không thay đổi tiền tố này /usrvì nó có thể xung đột với hệ thống quản lý gói (dpkg).

makeđược cho là bắt đầu biên dịch mọi thứ trong đó make installcài đặt các tệp vào các vị trí được chỉ định ( sudocần thiết để ghi vào các vị trí đặc quyền như /usr/local). Để gỡ cài đặt sau, hãy chạy từ thư mục nguồn sudo make uninstall(với điều kiện gói được xây dựng đúng với autoconf / automake, đây là trách nhiệm của nhà phát triển, không phải bạn, người dùng!

Nếu bạn chỉ muốn biên dịch gói từ trung tâm phần mềm trên máy tính của mình, hãy tiến hành (thay thế packagevà phiên bản tương ứng):

sudo apt-get build-dep package
apt-get source package
cd package-1.0
dpkg-buildpackage -b -uc -us

Xem các trang hướng dẫn sử dụng respecxtive để biết thêm chi tiết về các lệnh. (ví dụ chạy man dpkg-buildpackagetrong một thiết bị đầu cuối). Sau khi thực hiện các lệnh này, bạn sẽ có tệp .deb trong thư mục mẹ. Bạn nên sử dụng các gói từ kho Ubuntu nếu có thể. Các bước trên được hiển thị vì lý do giáo dục, nhưng nhìn chung bạn muốn thực hiện sửa đổi một số tệp trước khi xây dựng gói.


Thực sự rất hữu ích, vì vậy phương pháp phổ biến duy nhất là tải xuống gói (tar ??) và sau đó giải nén để xem nội dung của nó! Sau này tôi phải hỏi, tôi đang giải nén các tệp và sau đó tôi đang chạy tất cả các lệnh bạn đã đề cập ở trên. Vì vậy, tệp cài đặt là tệp tôi đã làm việc trong tất cả các lệnh đó? Hoặc tất cả các thư mục tệp ứng dụng đều cụ thể cài đặt từ trung tâm hoặc cài đặt từ nguồn? Để làm rõ, tôi chỉ muốn cài đặt ứng dụng bất cứ nơi nào tôi muốn opt hoặc / usr? Cảm ơn
gabriel

Xem bài cập nhật. Trích xuất và thay đổi thư mục là 99% của tất cả các trường hợp. Bạn có thể thấy các phần mở rộng khác nhau sau .tar, như .gz, .bz2, .xz. Chúng đề cập đến định dạng nén. .zip ít phổ biến hơn vì nó không thể lưu trữ quyền truy cập tệp, nhưng nó được nhìn thấy trong ít nhất 7-zip. Lưu ý: hướng dẫn của tôi là những hướng dẫn chung hơn cho "biên dịch từ nguồn". Các đường dẫn và cấu hình không giống với đường dẫn từ Trung tâm phần mềm Ubuntu.
Lekensteyn

Vì vậy, không quan trọng tôi đang làm việc với thư mục nào. một thư mục cụ thể phải không?
gabriel

Vì vậy, không có một thư mục cụ thể như windows "Chương trình tập tin", phải không?
gabriel

Sau khi giải nén tarball, thay đổi thư mục của bạn thành thư mục được giải nén. Vị trí chính xác không thành vấn đề, bạn có thể thực hiện trong thư mục chính hoặc ~ / Tải xuống, chỉ cần chắc chắn rằng đường dẫn không chứa khoảng trắng vì nó phá vỡ hầu hết các công cụ. Ví dụ, ~/Downloaded Sourceslà một ý tưởng tồi, nơi ~/Downloaded-sourceshoàn toàn tốt. Đối với câu hỏi cuối cùng của bạn, hãy xem Askubfox.com/q/27213/6969
Lekensteyn

7

FreeCAD có sẵn trong Trung tâm phần mềm Ubuntu, do đó không cần thiết phải xây dựng và cài đặt nó từ mã nguồn.

Trung tâm phần mềm Ubuntu luôn là nơi đầu tiên bạn nên tìm. Cài đặt chỉ là vấn đề nhấp vào nút.

Có một biểu tượng cho Trung tâm phần mềm Ubuntu trong thanh bên trái màn hình.

Nếu bạn thực sự muốn xây dựng và cài đặt một chương trình từ nguồn, thì hãy tìm tệp README hoặc các hướng dẫn khác đi kèm với chương trình.

Nhiều gói phần mềm sử dụng autotools GNU làm hệ thống xây dựng và có thể được xây dựng và cài đặt bằng các lệnh sau:

./configure
make
sudo make install

Trước khi xây dựng chương trình, bạn cần kiểm tra xem các thư viện cần thiết và các phụ thuộc khác là gì (điều đó cũng cần được đề cập trong tài liệu cho chương trình). Trên gói.ubfox.com, bạn có thể tìm thấy các gói Ubuntu có chứa các thư viện cần thiết.

Giả sử chương trình cần một thư viện được gọi blah, thì có lẽ bạn sẽ cần cài đặt gói libblah-dev(tra cứu tên chính xác trên trang Gói Ubuntu tôi đã đề cập ở trên).

sudo apt-get install libblah-dev

HAHA, vâng tôi biết biểu tượng này! NHƯNG nếu bạn đã nhận thấy có một mô tả trong trung tâm phần mềm trong bất kỳ ứng dụng nào nói rằng "canonical không cung cấp các bản cập nhật quan trọng" và phiên bản freecad là 0.8 và tôi đã cài đặt freecad v0.13.I chỉ muốn có kiến ​​thức sâu hơn trong các hệ thống linux chứ không phải câu trả lời chỉ ra đâu là trung tâm phần mềm, dù sao cũng cảm ơn! :-)
gabriel

BÂY GIỜ bạn nói đúng! Và cảm ơn bạn RẤT nhiều, đó là kiến ​​thức sâu hơn tôi chỉ muốn! Tiếp tục!
gabriel

OK, vì vậy nếu tôi muốn cài đặt ứng dụng từ nguồn ứng dụng này, mọi người phải cung cấp mã nguồn? Ví dụ: nếu tôi muốn cài đặt một ứng dụng thương mại, tôi không thể cài đặt từ nguồn phải không? các ứng dụng có nguồn mở cho tất cả mọi người nhưng không thương mại.
gabriel

"nếu tôi muốn cài đặt ứng dụng từ nguồn ứng dụng này, mọi người phải cung cấp mã nguồn?" - Vâng, đó là "từ nguồn " nghĩa là gì! Và nếu đó là một chương trình thương mại không phải là nguồn mở, thì bạn không nhận được mã nguồn.
Jesper

Vậy đó là lý do tại sao hầu hết các ứng dụng Windows không thể cài đặt được trong linux phải không?
gabriel

2

Chỉ có hai cách tiếp cận cơ bản:

  1. Sử dụng Trung tâm phần mềm hoặc công cụ liên quan (Synaptic apt-get, v.v.). Đây thường là lựa chọn tốt nhất. Đi ra ngoài phương pháp này có thể dẫn đến các vấn đề, chẳng hạn như conlficts và khó khăn với các bản cập nhật, vì vậy bạn chỉ nên làm một cái gì đó khác nếu bạn biết bạn đang làm gì.
  2. Đọc tài liệu và sử dụng nó để cài đặt. Bạn có thể tìm thấy nó trên trang web của dự án, hoặc trong tarball hoặc từ nơi bạn nhận được tệp của mình. Hoặc, có thể không có tài liệu, trong trường hợp đó bạn phải Google hoặc đoán. Có rất nhiều cách khác nhau để cài đặt phần mềm. Nếu điều này gây nhầm lẫn, quay trở lại số 1.

    Nếu gói của bạn sử dụng tiêu chuẩn ./configure; make; sudo make install, bạn có thể sử dụng checkinstallđể có được một .deb của những gì bạn đã xây dựng. Bằng cách đó, bạn không phải hy sinh quản lý gói.


Ok tôi đã hỏi câu hỏi này vì tôi gặp một số vấn đề với trung tâm phần mềm và tệp .deb. Ví dụ tôi muốn cài đặt bản thảo, một chương trình cad và nó chỉ dành cho 32 bit. Vì vậy, tôi đã thử với các lệnh phụ thuộc bỏ qua và các lệnh kiến ​​trúc nhưng không có gì xảy ra on.So là tách một file .deb ví dụ một thể sau đó một cài đặt thủ công với make và sudo make vv nhờ?
gabriel

Nếu không có .deb có sẵn cho kiến ​​trúc của bạn, thì bạn sẽ phải cài đặt chương trình của mình theo cách khác. Bạn có thể Google để biết cách người khác đã thực hiện hoặc tìm kiếm một .dev với vòm phù hợp hoặc xây dựng từ nguồn. Xem chỉnh sửa sắp tới của tôi cho một cái gì đó quan trọng.
Scott Severance

kiểm tra cài đặt trước khi chúng tôi chạy các lệnh đó? và cái gì, một .deb xuất hiện? ((tôi phải hỏi làm thế nào để bài viết của bạn trông đẹp và có tổ chức? với các lệnh được tô sáng và nhân viên? bất kỳ hướng dẫn nào cho Askubfox?)) Vì vậy tôi có thể giải nén một .deb sau đó kiểm tra cài đặt và làm cho nó chạy trên 64 bit chẳng hạn hoặc tôi sai và ngu ngốc với câu hỏi này?
gabriel

Bạn không thể sử dụng checkinstalltrên các gói .deb hiện có. Nếu bạn đã có .deb, về mặt kỹ thuật, bạn có thể giải nén nó và cài đặt thủ công, nhưng đó không phải là cách tốt nhất. checkinstalllà khi bạn xây dựng từ nguồn. Để định dạng trợ giúp, hãy xem liên kết trợ giúp luôn xuất hiện khi đăng.
Scott Severance

Vì vậy, tệp .deb có kiến ​​trúc khác 64 bit mà tôi có, không nên trích xuất và sau đó cài đặt thủ công? Và khi bạn nói "là khi bạn xây dựng từ nguồn." Tệp .deb được xây dựng từ đâu? Nó có sử dụng cùng mã nguồn như bạn xây dựng từ nguồn không? Câu hỏi ngớ ngẩn?
gabriel

0

Cài đặt từ nguồn rất khó hỗ trợ.

Bất cứ khi nào có thể, cài đặt từ trung tâm phần mềm. Đó là tương đương với các cửa sổ tiếp theo-> tiếp theo-> kết thúc tâm lý.

Bạn cũng có thể cài đặt mọi thứ từ nguồn trên windows. Điều đó không phải là duy nhất đối với linux, đó chỉ là các ứng dụng có sẵn nhiều nguồn hơn nhắm vào linux.


1
tốt, tôi chỉ muốn nhảy vào trải nghiệm linux của tôi bây giờ tôi đã ba năm và điều tôi muốn cuối cùng là không tiếp tục hỏi làm thế nào và làm thế nào, bạn có cảm thấy tôi không? Chỉ để làm cho kiến ​​thức linux của tôi sâu hơn và sâu hơn. giải thích cho tôi nguồn vv?
gabriel


Ngoài ra, khi một ứng dụng không có .deb trong ubfox của tôi, làm thế nào để cài đặt từ trung tâm phần mềm? Sau đó, tôi sẵn sàng LẠI để hỏi trong Askubfox.com hoặc google.gr '' 'cách cài đặt NÀY trong ub Ubuntu 11.10?' ''
gabriel

Đúng. Ứng dụng cụ thể là tốt hơn. Họ tạo ra các câu trả lời có thể lặp lại được nhắm mục tiêu cho người dùng cụ thể. Do đó chúng rất hữu ích.
RobotHumans

Chà, điều đó thực sự rất hữu ích. Bạn chỉ cần cảm nhận và cho tôi những gì tôi muốn. Nhưng tôi muốn hỏi bạn sau khi đọc nhiều về linux và linux, tôi sẽ không bao giờ có thể cài đặt BẤT K application ứng dụng nào trong các hệ thống linux? như thế này là không thể trong bất kỳ cách nào?
gabriel

0

Ubuntu cung cấp nhiều phương pháp cài đặt

  1. Thông qua hệ thống đóng gói tập trung

    Đây là phương pháp ưa thích trong ubfox (nhưng cá nhân tôi không thích nó) trung tâm phần mềm, synap và năng khiếu đang kiểm tra nó

  2. Gói gỡ lỗi độc lập: - Phương pháp này đơn giản hơn như trong trường hợp của windows, chỉ cần nhấp đúp vào tệp và nhấn nút cài đặt Ví dụ: Trình quản lý gói Gdebi

  3. phần mềm nhị phân: rất giống với cài đặt windows .exe, Nó cung cấp nhiều gui cho Trình cài đặt, Đây thường là các tệp .bin

    bạn có thể sử dụng bit rock hoặc các công cụ tương tự để tạo ra các gói như vậy

  4. autopackage và các công cụ tương tự: -đây là các trình quản lý gói bên thứ ba được tạo để hỗ trợ các bản phân phối linux khác nhau

  5. Mã nguồn: đây là phương pháp đầu tiên trong quá trình cài đặt phần mềm, Trong phương thức này, mã nguồn được chuyển đổi thành tệp thực thi nhị phân, hướng dẫn Cài đặt cho các phần mềm này thường được đính kèm với mã nguồn, và chúng chỉ hợp lệ cho mã nguồn mở

Cảnh báo: -Những điều này chỉ là quan sát của tôi, tôi là người mới sử dụng linux, vì vậy tôi có thể tự do chỉnh sửa / downvote Nếu có gì sai


Xin cảm ơn, từ kinh nghiệm của tôi, tôi thường thấy trong trung tâm phần mềm mô tả về một ứng dụng và nếu canonical cung cấp các bản cập nhật thì tôi sẽ cài đặt nó từ trung tâm. Nếu không tôi sẽ googling vì vậy đó là lý do tại sao tôi đăng câu hỏi này và tất cả các câu trả lời đều là ver helpfull.Thanks
gabriel

Tùy chọn 1 tốt hơn nhiều so với 3 và 4, vì bạn có thể nhận được cập nhật tự động. Tùy chọn 2 vẫn ổn khi gói hoặc phiên bản bạn muốn không có trong kho lưu trữ của bạn (tùy chọn 1). Tránh các số 3 và 4 nếu có thể bởi vì chúng không tận dụng được tất cả các lợi ích tuyệt vời của việc quản lý gói và có thể dẫn đến xung đột. Mặc dù Autopackage có quản lý gói riêng, nó vẫn là một hệ thống riêng biệt và có khả năng xảy ra xung đột và những thứ lỗi thời. Và, trừ khi bạn là lập trình viên, hãy cố gắng tránh xây dựng nguồn. Quản lý gói là một điều tuyệt vời!
Scott Severance

Tôi chỉ thích các phương thức này vì kết nối internet của tôi rất
chậm
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.