Menginstal aplikasi dari sumber

12

Saya bertanya-tanya tentang instalasi generik semua aplikasi di linux. Dan apa artinya itu? Nah, ketika saya menggunakan windows saya tahu bahwa jika saya ingin menginstal aplikasi saya mengklik dua kali file .exe dan kemudian berikutnya, selanjutnya, selanjutnya.

Di linux, saya mengerti bahwa mungkin ada cara umum (bukan generik) untuk menginstal aplikasi apa pun. Menginstal dari sumber mungkin? Nah adakah metode langkah demi langkah yang bisa digunakan untuk menginstal aplikasi seperti di windows atau tidak?

Saya bertanya karena saya tidak ingin terus bertanya kepada google, bagaimana caranya? Jadi, saya telah berhasil menginstal baru-baru ini dari sumber freecad dari panduan ini dan saya pikir itu akan menjadi awal yang sangat bagus sebagai metode umum, kan?

Tetapi masalahnya adalah di mana menemukan sumber yang tepat dan ketika suatu aplikasi memiliki metode instalasi yang sangat unik!

Gabriel
sumber
Kemungkinan duplikat cara menginstal dari .tar.gz?
Tachyons
Tidak, pertanyaan saya jelas saya kira! Hanya informasi yang lebih dalam
gabriel
great great great bagaimana howtogeek.com/105413/...
Mohammad Reza Rezwani

Jawaban:

14

Instruksi penginstalan bervariasi antar program meskipun ada alat yang sudah mapan seperti autotool (termasuk automake dan autoconf) dan cmake.

Karena program dapat datang dalam berbagai bahasa pemrograman, sulit untuk memberikan perintah umum yang sesuai dengan semua paket. Misalnya, Python sering memiliki skrip setup.py di mana program C sering menggunakan autotools atau setidaknya Makefile.

Saya selalu mulai dengan menemukan INSTALL, README atau file serupa. Jika Anda perlu mengkompilasi program dari sumber, Anda mungkin membutuhkan build-essentialpaket yang tergantung pada kompiler dan paket pengembangan generik lainnya.

Bergantung pada program yang Anda coba kompilasi, Anda mungkin perlu menginstal dependensi lain. Periksa README untuk itu atau keluaran ./configureskrip (file yang dapat dieksekusi yang terletak di root dari sumber yang diekstrak). Misalnya, jika dikatakan bahwa Anda memerlukan "header pengembangan x11", coba cari "x11-dev" atau "libx11-dev" di repositori (dalam hal ini, itulibx11-dev yang Anda cari).

Distribusi sumber yang dibangun dengan autoconf / automake dapat diekstraksi dan dikonfigurasi dengan:

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

Gunakan ./configure --helpuntuk opsi yang tersedia. Secara default, file-file tersebut sering diinstal /usr/localdan tidak masalah. Kecuali Anda akan mengemas file menjadi file .deb, jangan ubah awalan ini /usrkarena dapat bertentangan dengan sistem manajemen paket (dpkg).

makeseharusnya mulai mengkompilasi semua tempat make installmenginstal file ke lokasi yang ditunjuk ( sudodiperlukan untuk menulis ke lokasi istimewa seperti /usr/local). Untuk menghapus instalannya nanti, jalankan dari direktori sumbersudo make uninstall (dengan ketentuan paket dibuat dengan benar dengan autoconf / automake, yang merupakan tanggung jawab pengembang, bukan Anda, pengguna!

Jika Anda hanya tertarik untuk menyusun paket dari pusat perangkat lunak di komputer Anda, lanjutkan dengan (ganti packagedan versinya sesuai):

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

Lihat halaman manual respecxtive untuk detail lebih lanjut tentang perintah. (mis. jalankan man dpkg-buildpackagedi terminal). Setelah melakukan perintah ini, Anda akan memiliki file deb di direktori induk. Dianjurkan untuk menggunakan paket-paket dari repositori Ubuntu jika memungkinkan. Langkah-langkah di atas ditampilkan untuk alasan pendidikan, tetapi umumnya Anda ingin membuat modifikasi pada beberapa file sebelum membangun paket.

Lekensteyn
sumber
Memang sangat membantu, Jadi satu-satunya metode yang umum adalah mengunduh paket (tar ??) dan kemudian mengekstrak untuk melihat isinya! Kemudian saya harus bertanya, saya mengekstrak file dan kemudian saya menjalankan semua perintah yang Anda sebutkan di atas. Jadi file instal adalah yang saya kerjakan semua perintah itu? Atau semua file aplikasi-direktori khusus menginstal dari pusat atau menginstal dari sumber? Untuk memperjelas, saya hanya ingin menginstal aplikasi di mana saja saya ingin semua di / pilih atau / usr? Terima kasih
gabriel
Lihat pos yang diperbarui. Ekstrak & ubah direktori adalah 99% dari semua kasus. Anda dapat melihat beragam ekstensi setelah .tar, seperti .gz, .bz2, .xz. Ini merujuk pada format kompresi. .zip kurang umum karena tidak dapat menyimpan izin file, tetapi terlihat di setidaknya 7-zip. Catatan: instruksi saya lebih umum untuk "kompilasi dari sumber". Jalur dan konfigurasi tidak sama dengan yang ada di Pusat Perangkat Lunak Ubuntu.
Lekensteyn
Jadi, tidak masalah di direktori mana saya bekerja ./configure, buat dan buat instal. Misalnya id saya unduh dan ekstrak di direktori home maka saya harus menjalankan perintah ini dan secara otomatis perintah make install akan menempatkan file instalasi di direktori spesifik bukan?
gabriel
Tidak ada, jadi, direktori khusus seperti windows "Program Files", kan?
gabriel
Setelah mengekstrak tarball, ubah direktori Anda ke direktori yang diekstrak. Lokasi yang tepat tidak masalah, Anda dapat melakukannya di direktori home Anda atau ~ / Downloads, pastikan path tersebut tidak mengandung spasi karena itu merusak sebagian besar alat. Sebagai contoh, ~/Downloaded Sourcesadalah ide yang buruk di mana ~/Downloaded-sourcesbaik-baik saja. Untuk pertanyaan terakhir Anda, lihat askubuntu.com/q/27213/6969
Lekensteyn
7

FreeCAD tersedia di Pusat Perangkat Lunak Ubuntu, jadi itu tidak perlu untuk membangun dan menginstalnya dari kode sumber.

Ubuntu Software Center selalu menjadi tempat pertama di mana Anda harus mencari. Instalasi hanya masalah mengklik tombol.

Ada ikon untuk Pusat Perangkat Lunak Ubuntu di bilah di sisi kiri layar.

Jika Anda benar-benar ingin membangun dan menginstal program dari sumber, maka cari file README atau instruksi lain yang menyertai program tersebut.

Banyak paket perangkat lunak menggunakan autotools GNU sebagai sistem build dan dapat dibangun dan diinstal dengan perintah berikut:

./configure
make
sudo make install

Sebelum membuat program, Anda harus memeriksa perpustakaan apa yang diperlukan dan dependensi lainnya (yang juga harus disebutkan dalam dokumentasi untuk program). Pada paket.ubuntu.com Anda dapat menemukan paket Ubuntu yang berisi pustaka yang diperlukan.

Misalkan program membutuhkan pustaka yang disebut blah, maka Anda mungkin perlu menginstal paket libblah-dev(mencari nama yang tepat pada halaman Paket Ubuntu yang saya sebutkan di atas).

sudo apt-get install libblah-dev
Jesper
sumber
HAHA, ya saya tahu ikon ini! TAPI jika ANDA pernah memperhatikan ada deskripsi di pusat perangkat lunak dalam aplikasi apa pun yang mengatakan "kanonik tidak memberikan pembaruan penting" dan versi freecad adalah 0,8 dan saya menginstal freecad v0.13.I hanya ingin pengetahuan yang lebih dalam di sistem linux tidak ada jawaban yang menunjukkan di mana pusat perangkat lunak, terima kasih pula! :-)
gabriel
SEKARANG Anda berbicara dengan benar! Dan terima kasih banyak, itu adalah pengetahuan yang lebih dalam yang saya inginkan! Lanjutkan!
gabriel
OK, jadi jika saya ingin menginstal aplikasi dari sumber, orang-orang aplikasi ini harus memberikan kode sumber? Misalnya, jika saya ingin menginstal aplikasi komersial saya tidak dapat menginstal dari sumber kan? Ini adalah proyek opensource kan? aplikasi memiliki sumber terbuka untuk semua orang tetapi tidak komersial. Benar?
gabriel
"Jika saya ingin menginstal aplikasi dari sumber, orang-orang aplikasi ini harus memberikan kode sumber?" - Ya tentu saja, itu artinya "dari sumber "! Dan jika itu adalah program komersial yang bukan open source, maka Anda tidak mendapatkan kode sumbernya.
Jesper
Jadi itu sebabnya sebagian besar aplikasi windows tidak dapat diinstal di linux kan?
gabriel
2

Hanya ada dua pendekatan dasar:

  1. Gunakan Pusat Perangkat Lunak atau alat terkait (Synaptic apt-get,, dll.). Ini biasanya merupakan pilihan terbaik. Keluar dari metode ini dapat menyebabkan masalah, seperti konflik dan kesulitan dengan pembaruan, jadi Anda hanya harus melakukan sesuatu yang lain jika Anda tahu apa yang Anda lakukan.
  2. Baca dokumentasi dan gunakan untuk menginstal. Anda mungkin menemukannya di situs web proyek, atau di tarball, atau dari tempat Anda mendapatkan file Anda. Atau, mungkin tidak ada dokumentasi, dalam hal ini Anda harus ke Google atau menebak. Ada banyak cara untuk menginstal perangkat lunak. Jika ini membingungkan, kembali ke nomor 1.

    Jika paket Anda menggunakan standar ./configure; make; sudo make install, Anda dapat menggunakan checkinstalluntuk mendapatkan. Deb dari apa yang Anda buat. Dengan begitu, Anda tidak harus mengorbankan manajemen paket.

Scott Severance
sumber
Ok saya mengajukan pertanyaan ini karena saya punya beberapa masalah dengan pusat perangkat lunak dan file deb. Misalnya saya ingin menginstal draftsight, program cad dan untuk 32 bit saja. Jadi saya mencoba dengan mengabaikan dependensi dan perintah arsitektur tetapi tidak ada yang datang on.Jadi apakah ekstraksi file .deb misalnya memungkinkan instalasi manual dengan make dan sudo make etc? thanks
gabriel
Jika tidak ada .deb tersedia untuk arsitektur Anda, maka Anda harus menginstal program Anda dengan cara lain. Anda dapat Google untuk mengetahui bagaimana orang lain melakukannya, atau mencari .dev dengan lengkungan yang tepat, atau membangun dari sumber. Lihat hasil edit saya yang akan datang untuk sesuatu yang penting.
Scott Severance
checkinstall sebelum kita menjalankan perintah itu? dan apa, deb. muncul ((saya harus bertanya bagaimana Anda membuat posting Anda terlihat bagus dan terorganisir? dengan perintah yang disorot dan staf? ada panduan untuk askubuntu?)) Jadi saya dapat mengekstrak a. deb lalu checkinstall dan membuatnya berjalan pada 64bit misalnya atau apakah saya salah dan bodoh dengan pertanyaan ini?
gabriel
Anda tidak dapat menggunakan checkinstallpaket deb yang ada. Jika Anda sudah memiliki .deb, secara teknis Anda dapat mengekstraknya dan menginstalnya secara manual, tetapi itu bukan cara terbaik. checkinstalladalah untuk saat Anda membangun dari sumber. Untuk memformat bantuan, lihat tautan bantuan yang selalu muncul saat memposting.
Scott Severance
Jadi, file deb dengan arsitektur yang berbeda dari 64bit yang saya miliki, tidak boleh diekstraksi dan kemudian diinstal secara manual? Dan ketika Anda mengatakan "untuk saat Anda membangun dari sumber." file .deb dibuat dari mana? Apakah ia menggunakan kode sumber yang sama dengan yang Anda buat dari sumber? Pertanyaan konyol?
gabriel
0

Menginstal dari sumber sangat sulit untuk didukung.

Jika memungkinkan, instal dari pusat perangkat lunak. Itu sama dengan windows next-> next-> finish mentality.

Anda dapat menginstal hal-hal dari sumber di windows juga. Itu tidak unik untuk linux, hanya saja lebih banyak sumber aplikasi yang tersedia menargetkan linux.

RobotHumans
sumber
1
baik, saya hanya ingin melompat dalam pengalaman linux saya saya tiga tahun sekarang dan apa yang saya inginkan akhirnya tidak terus bertanya bagaimana dan bagaimana, apakah Anda merasakan saya? hanya untuk membuat pengetahuan linux saya lebih dalam dan lebih dalam. mengapa tidak jelaskan kepada saya sumber dll?
gabriel
linuxfromscratch.org
RobotHumans
? Juga ketika aplikasi tidak memiliki .deb di ubuntu saya cara menginstal perangkat lunak dari pusat Kemudian saya LAGI siap untuk meminta di askubuntu.com atau google.gr '' 'cara menginstal INI di ubuntu 11.10?' ''
gabriel
Iya. Khusus aplikasi lebih baik. Mereka menghasilkan jawaban reproduktif yang ditargetkan untuk pengguna tertentu. Karenanya mereka berguna.
RobotHumans
Ya, itu memang sangat membantu. Anda hanya merasakan saya dan memberi saya apa yang saya inginkan. TETAPI saya ingin bertanya kepada Anda setelah banyak membaca tentang linux dan linux apakah saya tidak akan pernah bisa menginstal aplikasi APAPUN dalam sistem linux? ATAU sesuatu seperti ini tidak mungkin?
gabriel
0

Ubuntu menawarkan berbagai metode instalasi

  1. Melalui sistem pengemasan terpusat

    Ini adalah metode preferd di ubuntu (tapi secara pribadi saya tidak suka) software-center, synaptic, dan aptitude adalah contoh untuknya

  2. Paket deb mandiri: - Metode ini lebih sederhana seperti pada windows, cukup klik dua kali file dan tekan tombol install Mis: Manajer paket Gdebi

  3. perangkat lunak biner: ini sangat mirip dengan instalasi windows .exe, Ia menawarkan berbagai gui untuk Installer, Ini biasanya file .bin

    Anda dapat menggunakan bit rock atau alat serupa untuk membuat paket seperti itu

  4. autopackage dan alat serupa: -Ini adalah manajer paket pihak ketiga yang dibuat untuk mendukung berbagai distro linux

  5. kode sumber: ini adalah metode pertama dalam instalasi perangkat lunak, Dalam metode ini kode sumber diubah menjadi executable biner, Instruksi pemasangan untuk perangkat lunak ini biasanya dilampirkan dengan kode sumber, Dan ini hanya berlaku untuk sumber terbuka s / w saja

Peringatan: -Ini hanya pengamatan saya, saya seorang pemula di linux, jadi bebas untuk mengedit / downvote Jika ada yang salah

Tachyons
sumber
Yah terima kasih, Dari pengalaman saya, saya biasanya melihat di pusat perangkat lunak deskripsi aplikasi dan jika kanonik memberikan pembaruan maka saya menginstalnya dari pusat. helpfull.Terima kasih
gabriel
Opsi 1 jauh lebih baik daripada 3 dan 4, karena Anda bisa mendapatkan pembaruan secara otomatis. Opsi 2 baik-baik saja ketika paket atau versi yang Anda inginkan tidak ada di repositori Anda (opsi 1). Hindari angka 3 dan 4 jika memungkinkan karena mereka tidak mengambil keuntungan dari semua manfaat luar biasa dari manajemen paket dan dapat mengakibatkan konflik di jalan. Meskipun Autopackage melakukan manajemen paketnya sendiri, itu masih merupakan sistem yang terpisah dan memiliki potensi konflik dan hal-hal yang sudah ketinggalan zaman. Dan, kecuali Anda seorang programmer, cobalah untuk menghindari membangun sumber. Manajemen paket adalah hal yang luar biasa!
Scott Severance
Saya lebih suka metode ini hanya karena koneksi internet saya sloooow: p
Tachyons