Câu hỏi Làm cách nào để cài đặt tệp .deb thông qua dòng lệnh?


Làm cách nào để cài đặt .deb tệp thông qua dòng lệnh?


1012
2018-05-06 17:40


gốc


Tìm tốt hơn: steptoinstall.com/… - KarSho
@thexed gratz khi lên tới 1k: D - Rinzwind


Các câu trả lời:


Các gói thủ công cài đặt thông qua dpkg lệnh (Hệ thống quản lý gói Debian). dpkg là phụ trợ cho các lệnh như apt-get và aptitude, lần lượt là phần phụ trợ cho các ứng dụng cài đặt GUI như Trung tâm phần mềm và Synaptic.

Một cái gì đó dọc theo dòng:

dpkg -> apt-get, aptitude -> Synaptic, Trung tâm phần mềm

Nhưng tất nhiên, cách dễ nhất để cài đặt một gói sẽ là, trước tiên, các ứng dụng GUI (Synaptic, Software Center, vv ..), tiếp theo là các lệnh terminal apt-get và aptitude thêm một cách tiếp cận thân thiện với người dùng vào dpkg phụ trợ, bao gồm nhưng không giới hạn các phụ thuộc đóng gói, kiểm soát những gì được cài đặt, cần cập nhật, không được cài đặt, các gói bị hỏng, v.v. dpkg lệnh là cơ sở cho tất cả chúng.

Vì dpkg là cơ sở, bạn có thể sử dụng nó để cài đặt được đóng gói trực tiếp từ dòng lệnh.

Cài đặt gói

sudo dpkg -i DEB_PACKAGE

Ví dụ: nếu tệp gói được gọi askubuntu_2.0.deb thì bạn nên làm sudo dpkg -i askubuntu_2.0.deb. Nếu dpkg báo cáo lỗi do sự cố phụ thuộc, bạn có thể chạy sudo apt-get install -f để tải xuống các phụ thuộc còn thiếu và định cấu hình mọi thứ. Nếu báo cáo lỗi, bạn sẽ phải tự mình sắp xếp các phụ thuộc bằng cách làm theo ví dụ sau Làm cách nào để giải quyết các phụ thuộc chưa được đáp ứng sau khi thêm PPA?.

Xóa gói

sudo dpkg -r PACKAGE_NAME

Ví dụ: nếu gói được gọi askubuntu thì bạn nên làm sudo dpkg -r askubuntu.

Cấu hình lại gói hiện có

sudo dpkg-reconfigure PACKAGE_NAME

Điều này rất hữu ích khi bạn cần phải cấu hình lại một cái gì đó liên quan đến gói đã nói. Một số ví dụ hữu ích đó là keyboard-configuration khi bạn muốn bật Ctrl+Alt+Backspace để đặt lại máy chủ X, vì vậy bạn sẽ làm như sau:

sudo dpkg-reconfigure keyboard-configuration

Một điều tuyệt vời nữa là khi bạn cần đặt múi giờ cho máy chủ hoặc máy tính thử nghiệm cục bộ của bạn, vì vậy bạn sử dụng tzdata gói:

sudo dpkg-reconfigure tzdata

1129
2018-05-06 17:43



Great thông tin, đã phải tìm một số cách để cài đặt traceroute để giúp gỡ lỗi tại sao máy tính của tôi sẽ không kết nối với internet :) - Jason
Cũng hữu ích để lưu ý rằng một khi các chương trình được cài đặt thường được tìm thấy trong / usr / bin, được đặt tên theo những gì đã được đóng gói. - Chris Moschini
Nếu tôi chạy sudo apt-get install texlive-latex-base, nó đã thất bại trong nhiều tháng với "Hash Sum không khớp". Tôi có thể tải xuống tệp .deb từ http://gb.archive.ubuntu.com/ubuntu/pool/main/t/texlive-base/texlive-latex-base-doc_2015.20150625-1ubuntu1_all.deb. Nếu tôi cài đặt nó bằng cách sử dụng dpkg, sau đó nó sẽ được apt-get nhận ra (và cập nhật) hay không. - user643722
Hi @ user643722 Tôi sẽ khuyên bạn nên xóa phiên bản đã lưu trong bộ nhớ cache của gói đó nhưng ở đây bạn có câu trả lời cho vấn đề askubuntu.com/questions/41605/… - Luis Alvarado♦
anh bạn thật tuyệt vời Vì vậy, không thường xuyên để tôi thấy câu trả lời linux rất chi tiết .. khi nói đến câu hỏi newbie nó là quan trọng !! cảm ơn - Elad Katz


Các gói Debian (.deb) là các gói được sử dụng trong Ubuntu. Bạn có thể cài đặt bất kỳ gói .deb nào trong hệ thống của mình. Các tập tin .deb nói chung có thể được cài đặt từ trình quản lý tập tin của bạn (Nautilus) chỉ bằng cách nhấp vào chúng, vì các liên kết tệp với trình cài đặt mặc định đã được cài đặt trong Ubuntu. Các hướng dẫn này dành cho những người muốn cài đặt các gói từ thiết bị đầu cuối dòng lệnh (Terminal).

Để cài đặt Debian đã tải về (Ubuntu) package (.deb): Mở Terminal và gõ

sudo dpkg -i packagename.deb

Để xóa gói Debian (.deb) (.deb):

sudo dpkg -r packagename

Để cấu hình lại / Sửa chữa gói Debian đã cài đặt (.deb):

sudo dpkg-reconfigure packagename

146
2017-12-05 06:04





Yêu thích của tôi là GDebi, có sẵn từ cả thiết bị đầu cuối / vỏ hoặc máy tính để bàn đồ họa.

screen-shot

Tôi thường liên kết .deb tệp với GDebi vì nó nhanh và hiệu quả - đặc biệt là so với Trung tâm phần mềm Ubuntu. Một trong những tính năng chính của GDebi là nó giải quyết các phụ thuộc và cài đặt chúng. 

Để chạy dòng lệnh sudo gdebi <package.deb> để cài đặt một tệp deb duy nhất.


98
2017-07-31 20:11



nó kiểm tra các phụ thuộc trước khi cài đặt, thx !! - Aquarius Power
Thậm chí gdebi có thể tải xuống các phụ thuộc hoặc chúng tôi phải tải xuống chúng theo cách thủ công không ?? @Pandya - Jasser
Có lẽ tốt hơn cho những người di chuyển từ nền không phải Linux. - Nisheet
1 cho "nó giải quyết các phụ thuộc và cài đặt chúng" đó là chìa khóa. - Revetahw


Lệnh DPKG

Có hai hành động, chúng dpkg-query và dpkg-deb.

Cài đặt gói

# sudo dpkg -i {package_name}    
# sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb

Xóa gói

# sudo dpkg -r {package_name}
# sudo dpkg -r vlc

Xóa gói và các tệp cấu hình của nó

# sudo dpkg -P {package_name}
# sudo dpkg -P vlc

Liệt kê tất cả các gói đã cài đặt.

Bạn có thể đặt lệnh cho lệnh less (một máy nhắn tin) để bạn có thể dễ dàng cuộn nội dung hơn:

# dpkg -l | less

Kiểm tra xem gói có được cài đặt hay không

# dpkg -l {package_name}
# dpkg -l vlc

Kiểm tra xem gói có được cài đặt hay không và nếu có, hãy khởi chạy nó:

# dpkg -l | vlc

Xem liệu gói có được cài đặt hay không

Và điều này sẽ hiển thị vị trí nơi gói sẽ được cài đặt. Đây -S (thủ đô S) để tìm kiếm xem gói có được cài đặt hay không.

# sudo dpkg -S {package_name}
# sudo dpkg -S skype

Cài đặt gói * .deb từ một vị trí được chỉ định

Đây -R là đệ quy. (Recursively xử lý tất cả các tập tin thường xuyên phù hợp với mô hình *.deb tìm thấy tại các thư mục được chỉ định và tất cả các thư mục con của nó).

# sudo dpkg -R --install {package_location}
# sudo dpkg -R --install /home/sysadmin/soft

Hiển thị chi tiết gói

Đây -p (chữ thường p) sẽ hiển thị thông tin gói:

# dpkg -p {package_name}
# dpkg -p apache2

Xem nội dung của gói

Sử dụng -c (chữ thường c) để hiển thị nội dung:

# sudo dpkg -c {package_name}
# sudo dpkg -c skype-ubuntu-precise_4.2.0.11-1_i386.deb

Giải nén *.deb gói tập tin

Sử dụng -x (chữ thường x) để giải nen:

# dpkg -x {package_name} {location_were_to_extract}
# dpkg -x libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

Trích xuất và hiển thị tên tập tin chứa trong một gói

Sử dụng -X (chữ hoa X) để hiển thị nội dung bằng cách trích xuất.

# dpkg -X {package_name} {location_were_to_extract}
# dpkg -X libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

Hiển thị thông tin về gói

Đây -I viết tắt của thông tin:

# dpkg -I {package_name}
# dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb

Cấu hình lại một gói đã được cài đặt

dpkg-reconfigure cấu hình lại các gói sau khi chúng đã được cài đặt. Chuyển cho nó (các) tên của một gói hoặc các gói để cấu hình lại. Nó sẽ hỏi các câu hỏi cấu hình, giống như khi gói được cài đặt lần đầu tiên.

# dpkg-reconfigure postfix

Điều này sẽ cấu hình lại postfix giống như khi bạn cài đặt nó lần đầu tiên.

Cần biết thêm về dpkg lệnh? Hãy xem trang hướng dẫn sử dụng:

# man dpkg

79
2018-02-20 07:29



"Kiểm tra xem gói có được cài đặt hay không và nếu có, hãy khởi chạy nó: # dpkg -l | vlc"- điều này sẽ chỉ dẫn một danh sách các gói đến vlc, với kết quả không thể đoán trước nếu nó được cài đặt và không tốt hơn chỉ cần gõ vlc - Xen2050


Trong khi dpkg -i thực sự cài đặt gói, nó không thực hiện bất kỳ độ phân giải phụ thuộc tự động nào, trong khi đó có hai lựa chọn thay thế khác, sử dụng gdebi hoặc công cụ apt-get. Để sử dụng sau này chỉ cần sử dụng:

sudo apt-get install /path/to/package.deb

Ngay cả khi bạn đang ở trong thư mục với gói bạn cần cung cấp đường dẫn bằng ./ lúc bắt đầu:

sudo apt-get install ./package.deb

42
2018-05-08 23:48



Đây có lẽ là câu trả lời hay nhất. apt sẽ ngăn bạn phá vỡ hệ thống nếu bạn không có phụ thuộc chính xác. - mlainz
Lệnh này dường như chọn tất cả các gói hiện có. - Hibou57
@ Hibou57 không thể có bất kỳ không gian nào trong tên gói. - Braiam


Một mẹo hữu ích khi cài đặt một chương trình như Libreoffice có nhiều tệp .deb trong một thư mục sẽ được sử dụng.

sudo dpkg -i *.deb

24
2017-12-22 21:46



Không bao giờ sử dụng lệnh này. Bạn phải tự xóa tất cả các deb nếu muốn loại bỏ gói đó. sudo apt remove example ,sudo apt autoremove và sudo dpkg -r *.deb không hoạt động. - noone


Tạo trình cài đặt tập lệnh của riêng bạn debInstaller như sau:

#!/bin/bash
dpkg -i "$@"
apt-get --yes --fix-broken install

Làm cho tập lệnh chạy được với

chmod +x debInstaller

Sau đó di chuyển nó đến một số dirs trong PATH của bạn hoặc thêm thư mục hiện tại vào PATH của bạn.

Tôi sẽ chuyển nó vào / usr / bin

sudo cp debInstaller /usr/bin

Bây giờ bạn có thể cài đặt bất kỳ .deb gói bằng lệnh:

sudo debInstaller some-package.deb

Giá trị gia tăng của phương pháp này là giải quyết vấn đề phụ thuộc, vì hầu hết bạn sẽ gặp phải một số vấn đề khi bạn cài đặt .deb  với dpkg -i do lỗi phụ thuộc, vì vậy bạn phải sử dụng apt-get install -f để giải quyết nó, kịch bản này sẽ thực hiện công việc cho bạn, nhưng ở đây tôi đã sử dụng apt-get --yes --fix-broken install để tự động giải quyết các lỗi này mà không cần sự can thiệp của người dùng.


10
2018-05-29 17:15





Các gdebi giải pháp dòng lệnh

Đây là cách tốt nhất để cài đặt tệp .deb trên Ubuntu trên dòng lệnh:

sudo gdebi skype.deb

Nếu bạn không có gdebi đã cài đặt rồi, cài đặt nó bằng sudo apt install gdebi-core.

Tại sao gdebi?

gdebi sẽ tìm tất cả các phụ thuộc của .deb và sẽ cài đặt chúng trước khi thử cài đặt .deb tập tin. Tôi thấy điều này thích hợp hơn sudo dpkg -i skype.deb && sudo apt install -f. Sau này là quá háo hức để loại bỏ phụ thuộc trong các tình huống nhất định. Ví dụ, khi tôi cố gắng cài đặt Skype, nó đã cố gắng loại bỏ 96 (!) Gói, bao gồm các gói như compiz và unity! gdebi đưa ra một thông báo lỗi rõ ràng hơn:

$ sudo gdebi skype.deb
Cannot install 'libqtgui:i386'

(Đây là giải pháp cho vấn đề cụ thể đó, nhân tiện.)


8
2017-12-27 09:19



askubuntu.com/a/170557/158442 nói gì gdebi có thể được sử dụng từ dòng lệnh - muru
@muru Yeah, nhưng rất dễ bỏ lỡ vì ảnh chụp màn hình. Ngoài ra, nó không giải thích được vấn đề với dpkg -i skype.deb - Flimm