Computer >> Máy Tính >  >> Hệ thống >> Linux

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Đối với nhiều người lần đầu tiên sử dụng các bản phân phối Linux dựa trên Debian, việc quản lý gói có vẻ phức tạp. Một số hướng dẫn yêu cầu bạn sử dụng “apt”, một số hướng dẫn khác “apt-get” và một số hướng dẫn thực sự cũ hoặc cụ thể sử dụng “aptitude”. Đã đến lúc đi xuống những chi tiết nhỏ tuyệt đối và giải thích “tại sao, ở đâu, cái gì và như thế nào” của thế giới kỳ lạ và có phần bị chia cắt trong góc nhỏ này của vũ trụ Linux.

Giải quyết sự nhầm lẫn về Apt

Bất kể tất cả các chi tiết nhỏ phân biệt chúng, apt , apt-getaptitude tất cả đều chỉ là các thẻ gọi khác nhau dành cho hệ thống quản lý gói của Debian tương tác với các kho lưu trữ trực tuyến. Như thể vẫn chưa có đủ những công cụ này, còn có một công cụ quản lý gói khác trong Debian mà bạn có thể đã nghe nói về các giao dịch với cài đặt trên đĩa:dpkg .

Công cụ thứ hai là một công cụ bạn sử dụng mỗi khi tải xuống gói .deb từ Web và nhấp đúp vào nó để cài đặt, giống như cách bạn làm với gói MSI trong Windows. Solus có EOPKG, Fedora có RPM và Arch có AUR. Ngay cả Android cũng có các gói được gọi là APK và kho lưu trữ lớn nhất cho các gói của nó là Cửa hàng Google Play. Giờ đây, bạn có thể hy vọng rằng cấu trúc của Linux quen thuộc như thế nào đối với các hệ điều hành khác - ngay cả những hệ điều hành không hoạt động cụ thể trên máy tính để bàn hoặc máy tính xách tay.

Năng lực là gì?

Aptitude là trung tâm thần kinh của APT, hoạt động như một giao diện người dùng mà bạn có thể sử dụng nếu muốn có cái nhìn chi tiết về tất cả các gói mà bản phân phối của bạn cung cấp trong kho của nó và những gói mà bạn đã thêm vào. Đây cũng là một trong số ít GUI có thể nhấp theo kiểu cũ chạy trực tiếp bên trong thiết bị đầu cuối.

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

APT là gì?

Được gọi là Công cụ đóng gói nâng cao, APT là giải pháp của Debian để lồng ghép quá trình xóa, cài đặt, tìm kiếm và quản lý các ứng dụng khác nhau mà bạn cài đặt trong hệ điều hành. Mọi bản phân phối dựa trên nó đều sử dụng APT, mặc dù không phải tất cả các ứng dụng của APT đều như nhau. Chúng tôi sẽ giải quyết vấn đề này trong giây lát.

Hiện tại, điều quan trọng cần lưu ý là APT với tư cách là người quản lý gói không phải apt yêu cầu. Thay vào đó, nó bao gồm nhiều lệnh liên quan đến APT như apt-get, apt-mark và apt-cache.

Những gì Distros sử dụng APT?

Nếu bản phân phối của bạn được mô tả là “dựa trên Debian”, bản phân phối đó sử dụng công cụ APT theo cách này hay cách khác. Điều này bao gồm nhưng không giới hạn ở:

  • Debian
  • Ubuntu
  • Linux Mint
  • MX Linux
  • Grml
  • Kali Linux
  • Tails
  • PureOS
  • Hệ điều hành Raspberry Pi
  • Hệ điều hành cơ bản
  • SteamOS (không còn là Debian; đã chuyển sang Arch vào năm 2021 cho Steam 3.0)

Còn rất nhiều bản phân phối khác dựa trên Debian, vì vậy nếu bạn đang sử dụng thứ gì đó không được liệt kê ở đây, hãy kiểm tra xem apt-get lệnh hoạt động bằng cách chỉ cần gõ nó vào thiết bị đầu cuối của bạn. Nếu thiết bị đầu cuối của bạn trả về cho bạn một thông báo nhầm lẫn về lệnh không tồn tại, thì bạn chắc chắn không chạm vào bất kỳ thứ gì Debian động đến.

Apt-get so với Apt

Trong nhiều hướng dẫn trực tuyến liên quan đến việc cài đặt một gói, bạn sẽ thấy apt-getapt được sử dụng thay thế cho nhau như các lệnh trên bất kỳ hệ thống dựa trên Debian nào. Khi nói đến cài đặt và gỡ bỏ nội dung, thực sự không có sự khác biệt nào mà bạn sử dụng lệnh. Đừng nhầm lẫn điều này vì cả hai là phiên bản của nhau.

Hãy nhớ cách tôi đã nói apt-get chỉ đơn giản là một trong vài lệnh khác trong Công cụ đóng gói nâng cao? Đối với một người mới sử dụng APT, có thể hơi mất phương hướng khi phải ghi nhớ các lệnh nào hợp lệ cho apt-get , apt-markapt-cache . Ví dụ:bạn có biết rằng lệnh để tìm kiếm một gói là apt-cache search ?

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Điều gì sẽ xảy ra nếu cả ba chức năng hữu ích nhất của các lệnh này cho cuộc sống hàng ngày được hợp nhất?

Đây là chính xác cái gì apt lệnh tự thực hiện. Ba chữ cái này, khi được nhập vào thiết bị đầu cuối của bạn, sẽ hoạt động như một "trình bao bọc" cho hệ sinh thái APT, đơn giản hóa quy trình cho những người dành nhiều thời gian để viết nguệch ngoạc tại thiết bị đầu cuối của họ.

Khi tìm kiếm một gói, hãy apt search hầu hết nên trả về kết quả giống như apt-cache search .

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Một từ trên Cờ APT

Nếu bạn chú ý đến các hình ảnh hiển thị kết quả đầu ra của cả hai lệnh tìm kiếm, chúng hiển thị thông tin hơi khác nhau. Đó là vì apt lệnh lấy thông tin về trạng thái của ứng dụng trong hệ thống của bạn ngoài bất kỳ apt-cache search nào đưa ra.

Bây giờ có lẽ là thời điểm thích hợp để giải thích chữ “i” bên cạnh tên gói trong đầu ra của apt search . Đó là một lá cờ được đặt bởi aptitude, giao diện người dùng của công cụ gói Debian.

Dưới đây là danh sách các cờ bạn sẽ thấy trong thiết bị đầu cuối của mình và ý nghĩa của chúng:

  • A - Được cài đặt tự động, có thể là một phần của gói meta lớn hơn hoặc cài đặt hệ điều hành.
  • B - Gói được gắn cờ là bị hỏng và phải được cài đặt lại.
  • H - Đã cài đặt một nửa. Gói này cần hoàn tất quá trình cài đặt.
  • c - Gói đã được gỡ bỏ, nhưng "bóng ma" của nó vẫn tồn tại dưới dạng tệp cấu hình. Bạn có thể giải quyết vấn đề này bằng cách sử dụng apt-get purge hoặc apt purge , theo sau là tên của gói có cờ này.
  • p - Gói đã bị xóa hoặc chưa bao giờ được cài đặt.
  • v - Gói được người khác sử dụng chung để cung cấp một chức năng. Ví dụ:Firefox cung cấp khả năng duyệt web mà các ứng dụng khác có thể sử dụng, biến nó thành một gói ảo.
  • i - Gói này đã được cài đặt trong hệ thống của bạn.
  • h - Gói này bị giữ lại, khiến gói này không được cập nhật lên các phiên bản mới hơn.

Không phải tất cả các Apts đều như nhau!

Trước khi đi bất kỳ đi sâu hơn vào chủ đề quản lý gói, điều cực kỳ quan trọng cần lưu ý là apt lệnh có thể có nhiều đối số khả dụng trong một bản phân phối hơn là trong một bản phân phối khác. Ví dụ:Ubuntu thiếu "giữ" trong khi Mint có nó.

Để hiểu đầy đủ những gì tôi đang nói ở đây, chúng ta cần xem danh sách Ubuntu và Mint để biết những đối số nào bạn có thể chuyển trong apt và nhìn thấy khoảng cách tuyệt đối giữa hai điều này.

Đây là Ubuntu trên giường thử nghiệm mới được đúc (dự định chơi chữ) của tôi cho các hướng dẫn.

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Và đây là Linux Mint.

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Cho đến nay, Mint có trình bao bọc chắc chắn nhất trong số tất cả các bản phân phối dựa trên Debian mà tôi thấy cho đến nay. Điều này không có gì đáng ngạc nhiên khi bạn nhận ra rằng nó được thiết kế riêng bởi cộng đồng duy trì Mint để phục vụ cho cả những người mới bắt đầu chỉ muốn cài đặt ứng dụng của họ một cách yên tâm bằng một lệnh ngắn và cho những người đam mê turbo-những người muốn điều chỉnh mọi thứ chỉ theo cách họ muốn với độ chính xác đến từng milimet.

Hướng dẫn cơ bản về lệnh APT

Không có cách nào tốt hơn để hiểu sức mạnh của hệ thống gói APT hơn là chìm sâu vào một số lệnh quan trọng. Danh sách sẽ bao gồm các lệnh APT theo sau là apt đơn giản hóa, nếu có thể, trong ngoặc đơn. Nếu việc đơn giản hóa không hoạt động trong bản phân phối cụ thể của bạn, thì có thể là do vì lý do nào đó mà bạn chưa đưa vào bản phân phối đó hoặc bạn không chạy tài khoản khổng lồ của Mint. Trong trường hợp đó, bạn có thể sử dụng lại lệnh vani một cách an toàn mà không bị mất quá nhiều.

  • add-apt-repository (apt add-repository ) - Thêm một kho lưu trữ mới vào danh sách các nguồn phần mềm của bạn từ một người bảo trì gói.

Ví dụ:nếu tôi muốn thêm kho lưu trữ hiện tại của Lutris cho Mint 20, tôi có thể nhập sudo add-apt-repository hoặc sudo apt add-repository , theo sau là ppa:lutris-team/lutris . Mỗi kho lưu trữ là duy nhất và hầu hết các nhà phát triển ứng dụng không có các gói được tìm thấy trong các gói chính thức cho bản phân phối của bạn sẽ bao gồm các hướng dẫn sẽ hướng dẫn bạn đi đúng hướng.

  • apt-get clean &apt-get autoremove (apt clean &apt autoremove ) - Thường được sử dụng cùng nhau, hai lệnh này quét sạch bụi trong hệ thống của bạn dưới dạng các tập lệnh cài đặt còn sót lại và phương tiện cài đặt mà bạn không cần nữa (clean ), cũng như tự động giải phóng bộ nhớ của bạn đối với các gói mà không ai sử dụng hoặc phụ thuộc vào (autoremove ).

Ví dụ:sudo apt autoremove && sudo apt clean sẽ lưu trữ tất cả các mạng nhện từ ổ đĩa chính của bạn trong một dòng duy nhất trong thiết bị đầu cuối của bạn.

  • apt-get changelog (apt changelog ) - Phát hiện những thay đổi mới nhất trong một gói.

Ví dụ:apt-get changelog brave-browser sẽ cho tôi biết phiên bản mới nhất của trình duyệt Brave bao gồm những gì so với phiên bản cuối cùng của nó.

  • apt contains - Chỉ được tìm thấy trong Linux Mint và có thể là một số bản phân phối có nguồn gốc từ Ubuntu khác, lệnh này là những gì bạn sử dụng khi gặp lỗi “không tìm thấy tệp” trong một chương trình. Với một chút may mắn, apt contains sẽ tìm thấy tệp đó cho bạn trong một thư mục xa xôi nào đó từ ứng dụng bạn đã cài đặt!

Ví dụ:apt contains gettext.sh sẽ tìm kiếm ứng dụng có chứa tập lệnh shell cho gettext . Nếu bạn có gettext-base được cài đặt trong bản phân phối Mint của bạn, bạn sẽ tìm thấy nó ngay lập tức!

  • apt-get install (apt install ) - Như tên của nó, nó cài đặt một gói. Chuyển --reinstall gắn cờ trên apt-get lệnh sẽ cài đặt lại gói của bạn ngay lập tức.

Ví dụ về cài đặt:sudo apt-get install firefox . Ví dụ về cài đặt lại Firefox:sudo apt-get install --reinstall firefox . Một biến thể đơn giản hơn thông qua apt wrapper là sudo apt reinstall firefox .

  • apt-get remove (apt remove ) - Một công cụ được sử dụng thường xuyên khác trong kho vũ khí của thợ lặn hang động cuối cùng. Lệnh này sẽ gỡ cài đặt mọi thứ đã được cài đặt bởi hệ sinh thái APT hoặc trình quản lý gói DPKG.

Ví dụ:sudo apt remove grub-customizer .

  • apt-get update (apt update ) - lệnh này không không cập nhật các ứng dụng trong hệ thống của bạn. Nó chỉ đơn giản là làm mới bộ nhớ cache APT để hệ thống của bạn có thể so sánh các phiên bản có sẵn trong kho lưu trữ của bạn với những gì hiện được cài đặt trên hệ thống của bạn. Đó là kiểm tra để cập nhật nhưng không thực hiện chúng.
  • apt-get upgrade (apt upgrade ) - Thao tác này sẽ tải xuống các bản cập nhật cho các gói của bạn mà hệ thống của bạn đã tìm thấy nếu chúng có sẵn. Bạn thường không phải đóng bất kỳ thứ gì đang chạy để thực hiện việc này.
  • apt-mark hold / unhold / showhold (apt hold / unhold / showhold ) - Chuỗi lệnh này quản lý các ứng dụng được giữ của bạn. Giữ một gói cho biết hệ điều hành của bạn không cập nhật nó trong tương lai. Với holdunhold , bạn có thể bắt đầu hoặc hủy giữ cập nhật trên một ứng dụng. showhold đối số sẽ liệt kê những gì bạn hiện đang giữ.

Ví dụ:sudo apt hold pulseaudio . Lời khuyên cho người khôn ngoan:giữ các bản cập nhật về các gói mà người khác phụ thuộc vào có thể làm hỏng hệ thống của bạn về lâu dài nếu bạn không chắc mình đang làm gì.

  • apt-cache search / show (apt search / show ) - Cặp lệnh đáng yêu này gắn kết rất tốt với nhau. Sử dụng đầu tiên để tìm một gói, sau đó sử dụng show theo sau là tên đầy đủ của gói để tìm hiểu thêm thông tin chi tiết về gói.

Ví dụ:sudo apt search gimp .

Nếu bạn muốn đọc thêm về sự phức tạp của APT cho bản phân phối cụ thể của bạn mà có thể chưa được đề cập ở đây, thì hướng dẫn sử dụng của họ có ngay trong phần mềm đầu cuối. Chỉ cần nhập man trước lệnh mà không có bất kỳ đối số nào khác, nhấn Enter và bắt đầu!

​​Sự cố “không tìm thấy lệnh apt-get” Đáng sợ

Nếu bạn không thể cài đặt bất kỳ thứ gì trên thiết bị đầu cuối của mình bởi vì APT chỉ hoạt động kém hiệu quả và biến mất, đây không phải là ngày tận thế. Với một chút mỡ khuỷu tay, bạn sẽ thiết lập và chạy trình quản lý gói yêu thích của mình.

Trước hết, nếu đây là một hệ thống mới, chỉ cần kiểm tra kỹ xem nó có được được cho là sử dụng APT làm trình quản lý gói. Fedora sử dụng DNF / yum, Arch sử dụng Pacman, Solus sử dụng EOPKG, openSUSE sử dụng zypper, Mandriva sử dụng urpmi và bạn có thể tìm thấy rất nhiều thứ khác trong bảng lừa đảo tiện dụng này. Chỉ cần nhập các chữ cái đó vào một thiết bị đầu cuối để hoàn toàn chắc chắn.

Khi chúng tôi chắc chắn rằng bạn đang sử dụng hệ thống dựa trên Debian và APT thực sự bị thiếu, đã đến lúc chuyển sang bước tiếp theo.

Để hướng dẫn bạn về vấn đề này với một chút cổ phần của vấn đề, bây giờ tôi sẽ làm tê liệt hệ thống Ubuntu của mình và sẽ không cho phép mình dễ dàng thoát khỏi việc cài đặt lại hệ điều hành!

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Kết quả bây giờ là lỗi “không tìm thấy lệnh” hoặc không thể xử lý lệnh.

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Bây giờ đã đến lúc tìm gói APT phù hợp với hệ thống của chúng tôi và cài đặt nó. Vì chúng tôi không có APT để làm việc, chúng tôi cũng không thể tự động tải xuống các phần phụ thuộc.

May mắn thay, trình quản lý gói trên đĩa của Debian (dpkg ) là ở đây để tiết kiệm trong ngày! Tôi đã tải xuống phiên bản mới nhất của gói apt tương ứng với kiến ​​trúc CPU của mình từ kho lưu trữ chính của Ubuntu và chạy dpkg -I trên đó để liệt kê các phần phụ thuộc tôi cần cài đặt.

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Trong trường hợp của tôi, khi cố gắng cài đặt phiên bản mới nhất của APT, tất cả các phần phụ thuộc đều ở đó nhưng không đủ gần đây.

Bạn sẽ tìm ra những điều này khi gõ dpkg -i /path/to/your/apt/deb/file . Rõ ràng, bạn cần phải thay thế đường dẫn giả mạo mà tôi đã nhập bằng bất kỳ đường dẫn nào tương ứng với tệp .deb bạn đã tải xuống từ trang web.

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Thay vì phiên bản 2.3.11, tôi đã chọn sử dụng phiên bản 2.0.6, đây là phiên bản được cài đặt trong Mint tại thời điểm viết bài.

Hướng dẫn cơ bản về các lệnh Apt và Apt-Get

Sau khi tìm hiểu các phiên bản ở đây và ở đó, cuối cùng bạn sẽ bắt gặp một phiên bản hoạt động với thiết lập hiện tại của bạn. Đây chính xác là thứ đã xảy ra với tôi. Sau khi nhập sudo dpkg -i tiếp theo là gói, nó được cài đặt trơn tru một cách kỳ diệu.

Nói chung, những phụ thuộc nghiêm trọng nhất của APT là những thứ mà hệ thống của bạn sẽ không thể thiếu. Tuy nhiên, vì bạn đang thiếu APT nên mọi thứ đều có thể. Trong mọi trường hợp, nếu bạn thấy rằng mình thiếu một trong các thành phần phụ thuộc được liệt kê sau khi xem xét với dpkg -I như chúng ta đã thảo luận trước đó, hãy xem qua các thư mục mẹ trong kho lưu trữ mà tôi đã liên kết. Chúng phải nằm trong các thư mục bảng chữ cái tương ứng.

Câu hỏi Thường gặp

1. Có các lệnh APT không an toàn không?

Nói chung, nếu bạn nhập bất kỳ thứ gì liên quan đến APT trong thiết bị đầu cuối của mình, bạn nên biết lệnh đó sắp thực hiện. Trước các bản cập nhật lớn, đặc biệt là những bản cập nhật mà bạn cài đặt nhân mới, hãy tạo một bản sao lưu toàn bộ hệ thống của bạn chỉ để an toàn.

Tất cả những điều đó sang một bên, các lệnh bạn phải thực sự cẩn thận là apt holdapt full-upgrade / dist-upgrade . Trước đây có thể phá vỡ hệ thống của bạn cho đến khi bạn dỡ bỏ các khoản giữ như đã đề cập trước đó chi tiết hơn. Cái sau chỉ hữu ích khi bản phân phối của bạn phát hành một phiên bản dài hạn mới mà bạn muốn chuyển sang, nhưng nó cũng có khả năng xóa các gói đã cài đặt mà bạn đã quen sử dụng. Bạn đang ở trong lãnh thổ an toàn hơn nhiều bằng cách thực hiện apt upgrade thông thường , sau đó thực hiện apt autoremove để dọn sạch các gói thực sự bám đầy bụi.

2. Apt có tốt hơn Apt-get không?

Tôi biết đây là một tuyên bố mệt mỏi, nhưng nó thực sự phụ thuộc vào những gì bạn đang làm. Các ngón tay của bạn có bị bỏng do gõ quá nhiều lệnh không? Bạn có thể muốn sử dụng apt như một phím tắt nếu bạn không cần thứ gì đó cụ thể apt-get sẽ phù hợp hơn cho. Theo nhiều cách, apt không chỉ hợp lý hóa quy trình quản lý gói mà còn cung cấp thêm thông tin như chúng ta đã thấy trước đó khi so sánh apt-get search tới apt search .

Tuy nhiên, nếu bạn không ở trên Mint với danh sách đối số khổng lồ của nó cho apt hầu như hoàn toàn hiển thị apt-get không cần thiết, bạn có thể cảm thấy hài lòng khi có một thứ gì đó cũ hơn để học lại.

3. Sự khác biệt giữa kho lưu trữ và cửa hàng ứng dụng là gì?

Đối với người dùng hàng ngày, sự khác biệt không đáng kinh ngạc chút nào. Trên thực tế, chúng có thể được so sánh một cách phi thường. Nơi họ bắt đầu chia tay nhau là ở “khả năng thay thế” phần mềm. Linux có một thị trường phần mềm rất linh hoạt, nơi người dùng có rất nhiều sự lựa chọn đôi khi áp đảo. Các cửa hàng ứng dụng dành cho điện thoại thông minh có khá nhiều thứ và thật khó để tưởng tượng người dùng đang tìm kiếm các lựa chọn thay thế.

Đồng thời, về lý thuyết, các kho lưu trữ gói cá nhân (PPA) mà mọi người thích sử dụng trong Ubuntu có thể bị xâm phạm và dẫn đến sự gia tăng của phần mềm độc hại bởi các tác nhân xấu.

Nếu có một điều cần loại bỏ, đó là sự phân quyền đi kèm với một số trách nhiệm từ phía người dùng. Đảm bảo rằng các kho lưu trữ bạn thêm vào bản phân phối của mình là từ các nguồn bạn có thể tin tưởng và các dự án đã tồn tại trong một thời gian dài.

Kết luận

Hy vọng rằng đến thời điểm này, bạn đã có thể quan sát mức độ năng lượng dành cho mình khi bạn hiểu bộ công cụ và lệnh đầy đủ của APT có thể cung cấp những gì. Nó không chỉ là một cách để thêm và xóa phần mềm khỏi máy tính của bạn; đó là một khung phức hợp đầy đủ cho phép bạn khám phá và đưa ra những lựa chọn sáng suốt hơn về những gì bạn đặt ở đó.

Đọc tiếp để tìm hiểu cách chạy các lệnh Bash trong nền trên Linux và 15 lệnh Linux LS mà bạn cần biết.