Gói gỡ lỗi cho Ubuntu. Cách cài đặt gói DEB trên Debian và các phiên bản phái sinh

Hầu hết người dùng Ubuntu đều cài đặt chương trình bằng tiện ích apt-get. Quả thực, phương pháp này rất hay và rất đơn giản. Nhưng nhiều người lại rơi vào ngõ cụt khi tải một tập tin từ tranh luận và họ không thể cài đặt nó.

"Sự phụ thuộc apt-get- Thói quen không tốt lắm.

Trong mẹo này, chúng ta sẽ xem xét cách cài đặt chương trình từ các tập tin tranh luận sử dụng tiện ích dpkg, đi kèm với Ubuntu Linux (và các dẫn xuất của nó, cũng như Debian).

Hướng dẫn từng bước:

Chú ý! Vì hạn chế cài đặt chương trình trên hệ thống là một trong những nguyên lý chính của bảo mật hệ thống, hãy cài đặt chương trình bạn nhận được từ Internet dưới dạng tệp tranh luận, bạn sẽ chỉ thành công nếu bạn có quyền siêu người dùng.

Để cài đặt tệp .deb, hãy đăng nhập bằng root (hoặc chỉ cần chạy lệnh sudo, sau đó nhập đúng mật khẩu) và chạy lệnh sau trên dòng lệnh Ubuntu: dpkg -i file.deb trong đó file.deb là tệp .deb bạn muốn cài đặt.

Bạn cũng có thể thấy các tính năng sau của tiện ích này hữu ích trong công việc của mình: dpkg: dpkg --unpack file.deb - giải nén nội dung của tệp gỡ lỗi mà không cần cài đặt nó trên hệ thống

dpkg --configure file.deb - thay đổi cài đặt của gói đã cài đặt

dpkg --remove file.deb - xóa tệp file.deb khỏi hệ thống

Nói chung, phương pháp này là phổ biến nhất khi cài đặt tập tin gỡ lỗi. Đừng ngại sử dụng những gì thoải mái!

Nếu bạn muốn tìm hiểu về các tính năng khác của dpkg, bạn có thể nhận trợ giúp toàn diện bằng cách chạy lệnh người đàn ông dpkg.

Các gói được cài đặt thủ công với với sự giúp đỡ của đội dpkg(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, 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.

Cái gì đó như:

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 trước tiên là thông qua các ứng dụng GUI (Synaptic, Trung tâm phần mềm, v.v.), sau đó là các lệnh đầu cuối apt-get và aptitude sẽ bổ sung một cách tiếp cận thân thiện rất tốt cho phần phụ trợ dpkg, bao gồm nhưng. không giới hạn ở các phần phụ thuộc được đóng gói, kiểm soát những gì được cài đặt, cần cập nhật, chưa được cài đặt, các gói bị hỏng, v.v. Cuối cùng, lệnh dpkg là cơ sở cho tất cả chúng.

Vì dpkg là cơ sở nên bạn có thể sử dụng nó để cài đặt 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ó tên là Askubuntu_2.0.deb thì bạn sẽ thực hiện Sudo dpkg -i Askubuntu_2.0.deb . Nếu dpkg báo lỗi do vấn đề 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à thiết lập mọi thứ. Nếu điều này báo lỗi, bạn sẽ phải tự mình xác định các phần phụ thuộc bằng cách làm theo ví dụ. 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 GÓI_NAME

Ví dụ: nếu gói có tên là Askubuntu thì bạn sẽ thực hiện Sudo dpkg -r Askubuntu .

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

sudo dpkg-cấu hình lại PACKAGE_NAME

Điều này hữu ích khi bạn cần cấu hình lại thứ gì đó liên quan đến một gói được chỉ định. Một số ví dụ hữu ích là cấu hình bàn phím khi bạn muốn bật Ctrl + Alt + Backspace để khởi động lại máy chủ X, do đó bạn sẽ thực hiện như sau:

Sudo dpkg-cấu hình lại cấu hình bàn phím

Một điểm hay nữa là khi bạn cần đặt múi giờ cho máy chủ hoặc máy kiểm tra cục bộ nên bạn sử dụng gói tzdata:

Sudo dpkg-cấu hình lại tzdata

Các gói Debian (.deb) là các gói được Ubuntu sử dụng. Bạn có thể cài đặt bất kỳ gói .deb nào trên hệ thống của mình. 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) bằng cách chỉ cần nhấp vào chúng, vì Ubuntu đã cài đặt liên kết tệp với trình cài đặt mặc định. Những hướng dẫn này dành cho những ai 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ở một thiết bị đầu cuối và gõ

Sudo dpkg -i packagename.deb

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

Sudo dpkg -r tên gói

Để cấu hình lại/khôi phục gói Debian (Ubuntu) đã cài đặt (.deb):

Sudo dpkg-cấu hình lại tên gói

Yêu thích của tôi là GDebi, có thể truy cập từ cả thiết bị đầu cuối và shell hoặc màn hình đồ họa.

Tôi thường liên kết các tệp .deb 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à loại bỏ các phần phụ thuộc và cài đặt chúng.

Đối với dòng lệnh, hãy chạy Sudo gdebi Để cài đặt một tệp deb.

Lệnh DPKG

Có hai hành động: dpkg-query và dpkg-deb.

Cài đặt gói

# sudo dpkg -i (tên_gói) # sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb

Xóa gói

# sudo dpkg -r (tên_gói) # sudo dpkg -r vlc

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

# sudo dpkg -P (tên_gói) # sudo dpkg -P vlc

Danh sách tất cả các gói đã cài đặt.

Bạn có thể chuyển hướng lệnh sang less (pager) để có thể cuộn nội dung dễ dàng hơn:

# dpkg -l | ít hơn

Kiểm tra xem gói đã được cài đặt hay chưa.

# dpkg -l (tên_gói) # dpkg -l vlc

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

# 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 (viết hoa S) để tìm kiếm xem gói đã được cài đặt hay chưa.

# sudo dpkg -S (tên_gói) # sudo dpkg -S Skype

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

Ở đâ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 trong 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 (gói_location) # sudo dpkg -R --install /home/sysadmin/soft

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

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

# dpkg -p (tên_gói) # dpkg -p apache2

Xem nội dung gói

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

# sudo dpkg -c (tên_gói) # sudo dpkg -c skype-ubuntu-precise_4.2.0.11-1_i386.deb

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

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

# dpkg -x (tên_gói) (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 có trong một gói

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

# dpkg -X (tên_gói) (location_were_to_extract) # dpkg -X libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

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

Đây là thông tin:

# dpkg -I (tên_gói) # dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb

Cấu hình lại 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 gói hoặc các gói cần di chuyển. Nó sẽ hỏi các câu hỏi về cấu hình như thể gói được cài đặt lần đầu tiên.

# hậu tố dpkg-cấu hình lại

Đ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.

Bạn có cần biết thêm về lệnh dpkg không? Kiểm tra trang hướng dẫn:

Mặc dù dpkg -i cài đặt gói nhưng nó không thực hiện bất kỳ giải pháp 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 các phiên bản mới hơn, hãy sử dụng:

Sudo apt-get cài đặt ./package.deb

Lưu ý ./ ở đầu, Bạn cần nó, nếu bạn đang ở trong thư mục chứa gói, nếu không nó sẽ hoạt động như dpkg -i .

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.

Sudo dpkg -i *.deb

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

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

Làm cho tập lệnh có thể thực thi được

Chmod +x debInstaller

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

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ỳ gói .deb 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ì về cơ bản bạn sẽ gặp một số vấn đề khi cài đặt .deb với dpkg -i do lỗi phụ thuộc nên bạn cần sử dụng apt-get install -f để giải quyết, tập lệnh này sẽ làm được cách này phù hợp với 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.

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

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

Sudo gdebi skype.deb

Nếu bạn chưa cài đặt gdebi, hãy cài đặt nó bằng Sudo apt install gdebi-core .

Tại sao lại là gdebi?

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

$ sudo gdebi skype.deb Không thể cài đặt "libqtgui:i386"

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

Cài đặt:

Sudo dpkg -i filename.deb sudo apt-get install -f sudo dpkg -i filename.deb # có, hai lần

Xóa bỏ:

Sudo dpkg -r TÊN GÓI

Để cấu hình lại:

Sudo dpkg-cấu hình lại GÓI-NAME

Một cách tiếp cận khác là cài đặt gdebi

Ở phiên bản 16.04 trở lên:

Apt hiện cài đặt và giải quyết các phần phụ thuộc trên tệp .deb một cách dễ dàng,

Cài đặt Sudo apt /path/to/packagename

Để cài đặt gói Debian (kết thúc bằng ".deb") bằng cmd "dpkg", bạn sẽ nhập:

Cd /path/of/Debian/package sudo dpkg -i package-name.deb

Nếu bạn muốn xóa gói Debian tương tự vào một lúc nào đó thì:

Cd /path/of/Debian/package sudo dpkg -r package-name.deb

Để có danh sách các gói Debian hiện tại, hãy sử dụng:

(.deb) được cài đặt thủ công bằng lệnh dpkg hoặc chúng ta có thể nói "Hệ thống quản lý gói Debian". dpkg là một trong những lệnh phụ trợ như apt-get và aptitude.

Ví dụ:

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 là, trước tiên, vì dpkg là cơ sở nên bạn có thể sử dụng nó để cài đặt 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ó tên là Askubuntu_2.0.deb thì bạn sẽ thực hiện sudo dpkg -i Askubuntu_2.0.deb. Nếu dpkg báo lỗi do vấn đề 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à thiết lập mọi thứ. Nếu điều này báo lỗi, bạn sẽ phải tự mình xác định các phần phụ thuộc bằng cách làm theo ví dụ. 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 một gói:

sudo dpkg -r GÓI_NAME Ví dụ: nếu gói có tên là Askubfox thì bạn nên làm gì

sudo dpkg -r Askubfox

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

sudo dpkg-cấu hình lại PACKAGE_NAME

Điều này sẽ hữu ích nếu bạn cần cấu hình lại thứ gì đó liên quan đến gói đã chỉ định. Một số ví dụ hữu ích là cấu hình bàn phím khi bạn muốn bật Ctrl + Alt + Backspace để reset máy chủ X.

Trên các hệ thống dựa trên Debian, tệp chương trình, thư viện và mã nguồn được đóng gói và phân phối dưới dạng tệp .deb. Việc cài đặt tệp .deb có thể được thực hiện bằng công cụ dòng lệnh có tên dpkg. Tuy nhiên, gói .deb thông thường có các phần phụ thuộc (hoặc các gói bắt buộc) phải được cài đặt sẵn để cài đặt gói .deb và dpkg không thể giải quyết các phần phụ thuộc này.

Ví dụ: nếu bạn cố cài đặt gói có tên webmin bằng dpkg trên Ubuntu mới, dpkg sẽ không thành công hoặc gặp sự cố phụ thuộc.

$ sudo dpkg -i webmin_1.620_all.deb dpkg: vấn đề phụ thuộc ngăn chặn cấu hình của webmin: webmin phụ thuộc vào libnet-ssleay-Perl; tuy nhiên: Gói libnet-ssleay-Perl chưa được cài đặt. webmin phụ thuộc vào libauthen-pam-Perl; tuy nhiên: Gói libauthen-pam-Perl chưa được cài đặt. webmin phụ thuộc vào phiên bản apt-show; tuy nhiên: Gói apt-show-versions chưa được cài đặt. dpkg: xử lý lỗi webmin (--install): sự cố phụ thuộc - không được định cấu hình Trình kích hoạt xử lý cho ureadahead ... Đã xảy ra lỗi khi xử lý: webmin

Khi nói đến sự phụ thuộc của tệp .deb, một công cụ Linux có tên gdebi là một điều may mắn. Với gdebi, bạn có thể cài đặt các tệp .deb với độ phân giải tự động cho các phần phụ thuộc chưa được đáp ứng.

Tiện ích gdebi có hai thành phần, gdebi dành cho công cụ dòng lệnh và gdebi-gtk dành cho GUI. Tùy thuộc vào việc bạn đang sử dụng máy tính để bàn Linux hay máy chủ không đầu, bạn có thể cài đặt chỉ bằng công cụ dòng lệnh hoặc phiên bản đồ họa đầy đủ.

Cài đặt tệp .deb có phần phụ thuộc trên máy chủ không đầu

Để cài đặt gdebi trong bảng điều khiển trên Debian, Ubuntu hoặc Linux Mint, hãy làm như sau.

$ sudo apt-get cài đặt gdebi-core

Hiện tại, chỉ cần chạy gdebi với tệp .deb đích để cài đặt và xử lý các phần phụ thuộc. Mọi gói cần thiết sẽ được cài đặt tự động.

$ sudo gdebi webmin_1.620_all.deb

Cài đặt tệp .deb có phần phụ thuộc trong môi trường máy tính để bàn

Bạn cũng có thể sử dụng công cụ bảng điều khiển gdebi trên môi trường máy tính để bàn hoặc bạn có thể thử gdebi bằng GUI. Để thực hiện việc này, hãy cài đặt gdebi như được hiển thị. Giao diện GTK của nó cũng sẽ được cài đặt.

$ sudo apt-get cài đặt gdebi

Sau đó chạy lệnh này để cài đặt tệp .deb.

$ sudo gdebi-gtk webmin_1.620_all.deb

Bạn sẽ thấy GUI của trình cài đặt gói như trong ảnh chụp màn hình bên dưới.

Nếu có bất kỳ phần phụ thuộc nào, cửa sổ trạng thái sẽ hiển thị cho bạn những phần phụ thuộc đó và bạn có thể kiểm tra chúng bằng cách nhấp vào “Chi tiết” như hiển thị bên dưới.

Cuối cùng, chỉ cần nhấp vào "Cài đặt gói" để thực hiện quá trình cài đặt .deb.

.deb— phần mở rộng tên tệp của gói nhị phân (tệp nhị phân nhị phân), dành cho phân phối và cài đặt phần mềm trong hệ điều hành Debia n và những người khác sử dụng hệ thống quản lý gói dpkg, chẳng hạn như, ví dụ, Ubuntu, Linux Mint.

Thông thường ở Ubuntu/Linux Mint tất cả cài đặt gói .deb các ứng dụng do người dùng tải xuống sau đó được cài đặt theo mặc định bởi các chương trình đồ họa như Quản lý chương trình:


Hoặc GDebi:



Nhưng ở Quản lý chương trình Không phải lúc nào cũng có thể cài đặt gói nhị phân được người dùng tải xuống vì nó không cài đặt các phụ thuộc cần thiết cho gói .deb.
Và cài đặt trong GDebi không phải lúc nào cũng có tác dụng, mặc dù thực tế là GDebi lấy ra các thư viện/phụ thuộc cần thiết trước khi cài đặt gói.

Trong trường hợp này gói .deb có thể được cài đặt thông qua thiết bị đầu cuối.

Chúng ta hãy xem xét kỹ hơn tùy chọn cài đặt thiết bị đầu cuối gói .deb.
Nó không khó. Chỉ cần lặp lại các hướng dẫn này một lần là đủ và sau đó bạn sẽ hoàn tất quá trình cài đặt gói .deb trong thiết bị đầu cuối "nhắm mắt lại".

Vì thế. Ví dụ: tôi chọn "vô hại" gói .debđể đặt biểu tượng Suru, hiện đang được phát triển cho Ubuntu 18.10. Và gói này “vô hại” vì ngay cả khi bạn cài đặt nó vào hệ thống Ubuntu/Linux Mint và các công cụ phái sinh thì nó không thể làm hỏng bất cứ thứ gì trong hệ thống.

1. Đi tới liên kết sau: https://ubuntu.pkgs.org/suru-icon-theme/all.deb.html và tải xuống gói nhị phân như trong ảnh chụp màn hình:



2. Theo quy định, tất cả các tệp được tải xuống từ Internet sẽ được lưu trong thư mục Tải xuống quản lý tập tin.


Bây giờ hãy mở terminal (Ctrl+Alt+T) và trong terminal bạn cần vào thư mục Tải xuống.

Chạy lệnh trong terminal ls sẽ hiển thị tất cả các thư mục trong Thư mục chính:


Ghi chú. Đội ls(dir, vdir) - tạo đầu ra tiêu chuẩn của nội dung thư mục.

Tiếp theo, đi thẳng vào thư mục Tải xuống. Để thực hiện việc này, nhập lệnh vào terminal đĩa CD (c Hange d irector - thay đổi thư mục/thư mục), sao chép-dán tên thư mục bạn muốn đến, cách nhau bằng dấu cách và nhấn phím Đi vào:



3. Sau khi chúng tôi đi đến thư mục Tải xuống, chúng ta cần xem nội dung của nó. Gõ lại và thực thi (thực thi - nhấn Enter) lệnh ls.


Như bạn có thể thấy trong hình, cái mong muốn của chúng tôi đã được hiển thị trong thiết bị đầu cuối tập tin .deb với các biểu tượng Suru.

4. Cài đặt tập tin .deb.

Để cài đặt đã tải xuống tập tin .deb, bạn cần nhập lệnh trong cùng một thiết bị đầu cuối sudo dpkg -i, sao chép và dán tên tệp cách nhau bằng dấu cách và nhấn phím Đi vào:


Nhập mật khẩu của bạn và nhấn lại Đi vàođể bắt đầu cài đặt:


5. Sau khi nhấn phím Đi vào, gói .deb sẽ được cài đặt:


Ghi chú. Bạn cũng có thể cài đặt nhiều gói cùng một lúc bằng cách chuyển tất cả chúng làm đối số cho lệnh sudo dpkg -i cách nhau bởi dấu cách ( sudo dpkg -i .deb-package1 .deb-package2 và như thế).

6. Thật không may, chương trình dpkg không biết cách giải quyết và tải xuống các phụ thuộc cần thiết từ kho. Nếu bạn rơi vào tình huống terminal sau khi thực hiện lệnh gói sudo dpkg -i .deb báo cáo các phụ thuộc không hài lòng, chạy lệnh trong cùng một thiết bị đầu cuối cài đặt sudo apt -f, được sử dụng để khắc phục sự cố lỗi cơ sở dữ liệu gói do phần phụ thuộc bị hỏng.

7. Sau khi cài đặt hoàn tất gói .deb với các biểu tượng Suru, bạn có thể sử dụng chúng trong bản phân phối của mình (Giao diện/Chủ đề - Biểu tượng).

Kỹ thuật làm việc trên Ubuntu.
Chương 6: Quản lý gói

Bản gốc: "Bản hack Ubuntu: Chương 6 - Quản lý gói"
Tác giả: Kyle Rankin, Jonathan Oxer, Bill Childers
Ngày xuất bản: tháng 6 năm 2006
Bản dịch: N. Romodanov
Ngày dịch: tháng 9 năm 2010

Sử dụng khả năng dòng lệnh để cài đặt các tệp .deb riêng lẻ khi không thể sử dụng các công cụ tự động khác.

Quản lý gói trong các bản phân phối dựa trên Debian rất mạnh mẽ và tiết kiệm rất nhiều công sức có thể bị lãng phí khi tìm kiếm các gói mới nhất và theo dõi các phần phụ thuộc. Khả năng của các công cụ tự động như apt-get, Synaptic và Adept hầu như luôn đủ cho hầu hết người dùng và bạn nên sử dụng chúng bất cứ khi nào có thể. Tuy nhiên, đôi khi có trường hợp bạn cần cài đặt gói trực tiếp .deb.

Cảnh báo. Ubuntu sử dụng các công cụ cài đặt gói tự động vì lý do chính đáng. Với sự trợ giúp của họ, các biện pháp bảo mật đặc biệt được triển khai để đảm bảo tính tương thích của gói và tính sẵn sàng của các thư viện nếu các gói cần chúng. Nếu bạn cài đặt các tập tin riêng lẻ .deb(đặc biệt là những phiên bản không được đóng gói cho một phiên bản Ubuntu cụ thể), bạn không chỉ mất nhiều lợi ích này mà còn có thể, do không tương thích với thư viện, làm hỏng các phần của hệ thống, ghi đè lên các tệp mà các chương trình Ubuntu khác phụ thuộc vào, hoặc thêm các phiên bản độc đáo sẽ gây khó khăn cho việc cập nhật hệ thống của bạn khi đang sử dụng. Trước khi cài đặt một gói riêng .deb, đặc biệt nếu bạn là người mới sử dụng Ubuntu, vui lòng khám phá tất cả các tùy chọn cài đặt khác, bao gồm cả việc sử dụng kho vũ trụ và đa vũ trụ [Mẹo #60]. Bạn đã tạo hạt nhân "kiểu Ubuntu" của riêng mình Nếu bạn đang sử dụng tiện ích make-kpkg biên dịch kernel của riêng bạn từ nguồn, bạn sẽ kết thúc bằng một gói .deb, sẽ chứa mã nhị phân kernel và các tệp .debđối với bất kỳ mô-đun bổ sung nào mà bạn có thể xây dựng (các bước cụ thể cho quy trình này được mô tả trong phần "Xây dựng hạt nhân kiểu Ubuntu" [Hack #78]). Bạn đã biên soạn gói của riêng mình từ các nguồn Ubuntu Giống như việc biên dịch kernel, bạn đã biên dịch mã nguồn Ubuntu bằng tiện ích dpkg và cuối cùng bạn có một tập tin riêng .deb, mà bạn cần cài đặt thủ công. Bạn có muốn quay lại phiên bản cũ của chương trình không?Đặc biệt, tình huống này có thể phát sinh nếu bạn đang sử dụng bản phát hành Ubuntu dành cho nhà phát triển. Đôi khi các phiên bản mới nhất của bản phát hành dành cho nhà phát triển có lỗi. Trong trường hợp này, bạn có thể cần phải quay lại phiên bản trước của gói. Một trong những cách dễ nhất để thực hiện việc này là tìm phiên bản cũ hơn của gói .deb(có lẽ trong bộ đệm gói cục bộ của bạn ở /var/cache/apt/archives/) và cài đặt thủ công. Chương trình bạn muốn cài đặt có phần mở rộng .deb, nhưng nó không có trong kho Ubuntu Có thể có trường hợp thiếu gói trong kho Ubuntu .deb, mà bạn muốn cài đặt vì đây là gói mới hơn những gì Ubuntu cung cấp, vì bạn đã tìm thấy phiên bản chung hơn của tệp .deb, hoặc bên thứ ba đã cung cấp tệp .deb dành cho Ubuntu, nhưng vẫn chưa tạo kho lưu trữ gói riêng (ví dụ như trình duyệt Opera Web trong phiên bản gói hiện tại của nó).

đầu mối

Nếu bạn tìm thấy một chương trình được đóng gói ở định dạng .deb, thì chín trong số mười trường hợp rất có thể chương trình này đã có trong một trong các kho lưu trữ của Ubuntu. Để biết chi tiết về các kho lưu trữ bổ sung do Ubuntu và các bên thứ ba cung cấp, hãy xem phần "Thay đổi danh sách các kho lưu trữ gói" [Mẹo #60].

Chương trình bạn đã cài đặt hoặc cập nhật chưa được cài đặt hoàn toàn vì có một gói được cài đặt khác chứa cùng các tệp Trong những trường hợp tương đối hiếm, chúng tôi đã gặp phải tình huống trong đó hai gói sử dụng cùng một tệp và khi một trong số chúng được cập nhật, thông báo lỗi xuất hiện cho biết đang cố gắng ghi đè lên các tệp từ gói kia. Trong những trường hợp này, bạn cần sử dụng tiện ích dpkg cài đặt thủ công gói này bằng tùy chọn --force.

Đang cài đặt tệp .deb

Bất cứ khi nào bạn, bất kể lý do gì, cần cài đặt một tập tin .de b, bạn cần liên hệ với tiện ích dpkg. Tính thiết thực dpkg là một công cụ, trên các bản phân phối dựa trên Debian, được sử dụng để cài đặt các tệp .deb. (Ngay cả khi bạn sử dụng các công cụ quản lý gói tự động, đằng sau hậu trường, hệ thống thực sự sử dụng dpkg). Nếu bạn đã quen với công cụ này vòng/phútđược sử dụng trong các bản phân phối dựa trên gói RPM, bạn sẽ thấy rằng dpkg cú pháp tương tự. Để cài đặt một tập tin thông thường từ dòng lệnh .deb, gõ như sau:

Whiprush@ubuntu:~$ sudo dpkg -i packagename.deb

Thay thế packagename.deb bằng tên tệp .deb, mà bạn muốn cài đặt. Nếu bạn có nhiều file muốn cài đặt cùng lúc, bạn có thể liệt kê từng file một trên dòng lệnh

Whiprush@ubuntu:~$ sudo dpkg -i package1.deb package2.deb package3.deb

hoặc sử dụng ký tự đại diện [Hack #13] để cài đặt tất cả các tệp .deb có trong thư mục hiện tại:

Whiprush@ubuntu:~$ sudo dpkg -i *.deb

Tính thiết thực dpkg cũng có một tham số chỉ định việc thực thi đệ quy (-R). Nếu bạn có một thư mục chứa đầy các tệp gỡ lỗi, bạn có thể cài đặt chúng như sau:

Whiprush@ubuntu:~$ sudo dpkg -i -R /path/to/directory

và tiện ích dpkg sẽ tìm kiếm đệ quy và cài đặt tất cả các tập tin .deb, nằm trong thư mục này và tất cả các thư mục con của nó.

Đôi khi bạn cài đặt một gói bằng tiện ích dpkg, quá trình cài đặt có thể không thành công do gói được đánh dấu là giữ bởi vì nó xung đột với gói khác hoặc phụ thuộc vào các gói khác chưa được cài đặt hoặc việc cài đặt gói cố gắng ghi đè lên các tệp liên quan đến gói khác hoặc vì nhiều lý do khác. TRONG dpkg Có một số tùy chọn --force bạn có thể sử dụng để bỏ qua những vấn đề này và tiếp tục cài đặt gói.

Cảnh báo

Các tùy chọn --force chỉ dành cho các chuyên gia đã quen thuộc với hệ thống gói .deb và với các phụ thuộc hiện có trong hệ thống. Nói chung, quá trình cài đặt gói không thành công vì những lý do nghiêm trọng và nếu bạn là người mới và buộc phải cài đặt một gói thì rất có thể quá trình cài đặt sẽ kết thúc với hệ thống bị hỏng đối với bạn. Vì vậy, hãy sử dụng các tùy chọn này một cách thận trọng.

Để xem danh sách đầy đủ các tùy chọn --force, hãy nhập thông tin sau:

Whiprush@ubuntu:~$ dpkg --force-help

Một số tùy chọn hữu ích nhất bao gồm:

Cài đặt một gói ngay cả khi nó được đánh dấu là giữ.

Buộc ghi đè

Cài đặt một gói mặc dù nó có thể ghi đè lên các tập tin từ gói khác.

Hiển thị danh sách các lỗi về phần phụ thuộc bị thiếu và vẫn tiếp tục cài đặt.

Xung đột vũ lực

Ngay cả khi gói xung đột với gói khác, hãy tiếp tục cài đặt.

Vì vậy, nếu bạn có một tập tin .deb, cần được cài đặt và ghi đè các tệp từ gói khác và bạn đã kiểm tra mọi thứ và quyết định rằng mọi thứ sẽ ổn, thì để tiếp tục, hãy nhập:

Whiprush@ubuntu:~$ sudo dpkg -i --force-overwrite packagename.deb

Xóa một gói

Đôi khi bạn có thể cần phải xóa một gói riêng lẻ theo cách thủ công. TRONG dpkg Có các tùy chọn -r và -P để xóa gói và xóa gói trong khi xóa các tệp cấu hình tương ứng. Để xóa một gói, hãy nhập:

Whiprush@ubuntu:~$ sudo dpkg -r tên gói

Xin lưu ý rằng bạn không chỉ định phần mở rộng .deb trong tên của tệp mà bạn có thể đã cài đặt trước đó, chỉ có tên của gói đó. Khi tùy chọn -r được chỉ định, dpkg sẽ tìm kiếm và xóa tất cả các tệp của gói này, ngoại trừ các tệp cấu hình, sẽ được giữ lại trong trường hợp chương trình được cài đặt lại. Nếu bạn muốn xóa hệ thống của tất cả các tệp, bao gồm cả tệp cấu hình, hãy sử dụng tùy chọn -P:

Whiprush@ubuntu:~$ sudo dpkg -P tên gói