Làm cách nào để cài đặt .deb
tệp qua dòng lệnh?
Làm cách nào để cài đặt .deb
tệp qua dòng lệnh?
Câu trả lời:
Các gói được cài đặt thủ công thông qua dpkg
lệnh (Hệ thống quản lý gói Debian). dpkg
là phần phụ trợ cho các lệnh như apt-get
và aptitude
, đến lượt nó 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 gói là, trước tiên, các ứng dụng GUI (Synaptic, Software Center, v.v.), tiếp theo là các lệnh đầu cuối apt-get
và aptitude
thêm 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ài đặt, các gói bị hỏng, v.v. Cuối cùng, 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 đóng gói trực tiếp từ dòng lệnh.
sudo dpkg -i DEB_PACKAGE
Ví dụ nếu tập tin 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 bị thiếu và định cấu hình mọi thứ. Nếu điều đó báo cáo lỗi, bạn sẽ phải tự mình phân loại các phụ thuộc bằng cách làm theo ví dụ: Làm thế nào để tôi giải quyết các phụ thuộc chưa được đáp ứng sau khi thêm PPA? .
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
.
sudo dpkg-reconfigure PACKAGE_NAME
Điều này rất hữu ích khi bạn cần 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 Timezone cho máy chủ hoặc máy tính thử nghiệm cục bộ của mình, vì vậy bạn sử dụng tzdata
gói:
sudo dpkg-reconfigure tzdata
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 dpkg, thì sau đó nó sẽ được nhận ra (và cập nhật) bởi apt-get.
aptitude
hoặc apt-get
(hoặc đơn giản apt
) dễ dàng hơn và tốt hơn , tại sao không có ví dụ cho các lệnh này được đưa ra ở đây?
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 bạn. Các tệp .deb thường có thể được cài đặt từ trình quản lý tệp 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 đặ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 gói Debian ( Ubuntu ) đã tải xuống (.deb): Mở Terminal và gõ
sudo dpkg -i packagename.deb
Để xóa gói Debian (Ubuntu) (.deb):
sudo dpkg -r packagename
Để cấu hình lại / Sửa chữa gói Debian (Ubuntu) đã cài đặt (.deb):
sudo dpkg-reconfigure packagename
Yêu thích của tôi là GDebi, có sẵn từ cả thiết bị đầu cuối / vỏ hoặc đồ họa.
Tôi thường liên kết .deb
các 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.
Đối với dòng lệnh chạy sudo gdebi <package.deb>
để cài đặt một tệp gỡ lỗi.
Bạn đang tìm kiếm tất cả các lệnh dpkg ? nhấp vào liên kết này để có một đọc.
15 lệnh dpkg để quản lý máy chủ Linux dựa trên Debian
Có hai hành động, chúng là dpkg-query
và dpkg-deb
.
# sudo dpkg -i {package_name}
# sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb
# sudo dpkg -r {package_name}
# sudo dpkg -r vlc
# sudo dpkg -P {package_name}
# sudo dpkg -P vlc
Bạn có thể chuyển lệnh sang less
(máy nhắn tin) để bạn có thể dễ dàng cuộn nội dung hơn:
# dpkg -l | less
# dpkg -l {package_name}
# dpkg -l vlc
# dpkg -l | vlc
Và điều này sẽ hiển thị vị trí nơi gói sẽ được cài đặt. Ở đây -S
(vốn S
) để tìm kiếm xem gói đã được cài đặt hay chưa.
# sudo dpkg -S {package_name}
# sudo dpkg -S skype
Đây -R
là đệ quy. (Xử lý đệ quy tất cả các tệp thông thường khớp với mẫu *.deb
được 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
Ở đây -p
(chữ thường p
) sẽ hiển thị thông tin gói:
# dpkg -p {package_name}
# dpkg -p apache2
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
*.deb
tập tin góiSử dụng -x
(chữ thường x
) để giải nén:
# dpkg -x {package_name} {location_were_to_extract}
# dpkg -x libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/
Sử dụng -X
(chữ hoa X
) để hiển thị nội dung với 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/
Ở đây -I
là viết tắt của thông tin:
# dpkg -I {package_name}
# dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb
dpkg-reconfigure
cấu hình lại các gói sau khi chúng đã được cài đặt. Truyền cho nó tên (các) gói hoặ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 lần đầu tiên.
Cần biết thêm về dpkg
các lệnh? Hãy xem trang hướng dẫn:
# man dpkg
# 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 được cài đặt; và không tốt hơn là chỉ gõvlc
Mặc dù 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 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 đưa ra một đường dẫn sử dụng ./
khi bắt đầu:
sudo apt-get install ./package.deb
apt
sẽ ngăn bạn phá vỡ hệ thống của bạn nếu bạn không có sự phụ thuộc chính xác.
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 là sử dụng.
sudo dpkg -i *.deb
sudo apt remove example
, sudo apt autoremove
Và sudo dpkg -r *.deb
không hoạt động.
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 chưa gdebi
cài đặt, hãy cài đặt nó bằng sudo apt install gdebi-core
.
gdebi
sẽ tìm kiếm tất cả các phụ thuộc của .deb
tệp và sẽ cài đặt chúng trước khi thử cài đặt .deb
tệp. Tôi thấy điều này thích hơn nhiều sudo dpkg -i skype.deb && sudo apt install -f
. Điều thứ hai là quá háo hức để loại bỏ sự phụ thuộc trong các tình huống nhất định. Chẳng hạn, khi tôi cố cài đặt Skype, nó đã cố xóa các gói 96 (!), 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 nhiều:
$ sudo gdebi skype.deb
Cannot install 'libqtgui:i386'
(Nhân tiện, đây là giải pháp cho vấn đề cụ thể đó.)
gdebi
có thể được sử dụng từ dòng lệnh
dpkg -i skype.deb
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 thực thi với
chmod +x debInstaller
Sau đó di chuyển nó đến một số thư mục 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ó sang / usr / bin
sudo cp debInstaller /usr/bin
Bây giờ bạn có thể cài đặt bất kỳ .deb
gói nào 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ì chủ yếu là bạn sẽ phải đối mặt với một số vấn đề khi bạn cài đặt mộ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ẽ làm 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.
Có nhiều công cụ để cài đặt gói deb, cá nhân tôi sử dụng trình cài đặt gói tích hợp dpkg
Nếu bạn đã đăng nhập bằng root, hãy thay đổi thư mục thành vị trí của gói deb
dpkg -i package_name.deb
nếu bạn không đăng nhập bằng root
sudo dpkg -i package_name.deb
Để đảm bảo gói được cài đặt chính xác và không có bất kỳ phụ thuộc bị hỏng
sudo apt-get check
Nếu có bất kỳ phụ thuộc bị hỏng
sudo apt-get -f install