`

ubuntu_AptGet_How-to

 
阅读更多

Package management with APT

 Package management via apt-get runs hand-in-hand with the /etc/apt/sources.list file. For information on editing or updating your sources list see SourcesList.

 

Introduction to APT

"In the beginning there was the .tar.gz. Users had to compile each program that they wanted to use on their GNU/Linux systems. When Debian was created, it was deemed necessary that the system include a method of managing the packages installed on the machine. The name dpkg was given to this system. Thus the famous 'package' first came into being on GNU/Linux, a while before Red Hat decided to create their own 'rpm' system.

 

A new dilemma quickly took hold of the minds of the makers of GNU/Linux. They needed a rapid, practical, and efficient way to install packages that would manage dependencies automatically and take care of their configuration files while upgrading. Here again, Debian led the way and gave birth to APT, the Advanced Packaging Tool, which has since been ported by Conectiva for use with rpm and has been adopted by some other distributions."

 

-- From Debian APT HOWTO

Commands

 All of these commands must be run as root or with superuser privileges, see sudo for more information. Replace <package_name> with the name of the package you are attempting to install.

 

sudo apt-get install ubuntu-desktop 

Installation commands

 

apt-get install <package_name> 

This command installs a new package.

apt-get build-dep <package_name> 

This command searches the repositories and installs the build dependencies for <package_name>. If the package is not in the repositories it will return an error.

 

aptitude install <package_name>

Aptitude is an Ncurses viewer of packages installed or available. Aptitude can be used from the command line in a similar way to apt-get. See man aptitude for more information.

 

APT and aptitude will accept multiple package names as a space delimited list. For example:

apt-get install <package1_name> <package2_name> <package3_name>

 Use the -s flag to simulate an action."sudo apt-get -s install <package_name>" will simulate installing the package showing you what packages will be installed and configured.

 

auto-apt

auto-apt run <command_string>

When invoked, the auto-apt command automatically installs packages upon missing file access. If a program tries to access a file known to belong in an uninstalled package, auto-apt will install that package using apt-get. This feature requires apt and sudo to work.

 

Auto-apt keeps databases which need to be kept up-to-date in order for it to be effective. This is achieved by calling the commands auto-apt update, auto-apt updatedb and auto-apt update-local.

Usage example

 You're compiling a program and, all of a sudden, there's an error because it needs a file you don't have. The program auto-apt asks you to install packages if they're needed, stopping the relevant process and continuing once the package is installed.

 

     # auto-apt run ./configure

It will then ask to install the needed packages and call apt-get automatically. If you're running X, a graphical interface will replace the default text interface.

Maintenance commands

 

apt-get update

Run this command after changing /etc/apt/sources.list or /etc/apt/preferences . For information regarding /etc/apt/preferences, see PinningHowto. Run this command periodically to make sure your source list is up-to-date. This is the equivalent of "Reload" in Synaptic or "Fetch updates" in Adept.

 

apt-get upgrade

This command upgrades all installed packages. This is the equivalent of "Mark all upgrades" in Synaptic.

apt-get dist-upgrade

The same as the above, except add the "smart upgrade" checkbox. It tells APT to use "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary.

 "apt-get dist-upgrade" does not perform distribution upgrade. See [http://www.ubuntu.com/getubuntu/upgrading upgrading] for more information.

 

apt-get check

This command is a diagnostic tool. It does an update of the package lists and checks for broken dependencies.

apt-get -f install

This command does the same thing as Edit->Fix Broken Packages in Synaptic. Do this if you get complaints about packages with "unmet dependences".

 

apt-get autoclean

This command removes .deb files for packages that are no longer installed on your system. Depending on your installation habits, removing these files from /var/cache/apt/archives may regain a significant amount of diskspace.

 

apt-get clean

The same as above, except it removes all packages from the package cache. This may not be desirable if you have a slow internet connection, since it will cause you to redownload any packages you need to install a program.

 

The package cache is in /var/cache/apt/archives . The command

 

du -sh /var/cache/apt/archives

will tell you how much space cached packages are consuming.

dpkg-reconfigure <package_name>

Reconfigure the named package. With many packages, you’ll be prompted with some configuration questions you may not have known were there.

 For example:

 

dpkg-reconfigure fontconfig-config

will present you with a "wizard" on configuring fonts in Ubuntu.

echo "<package_name> hold" | dpkg --set-selections

This command places the desired package on hold. This is the same as Synaptic's Package->Lock Version.

 

 This command may have the unintended side effect of preventing upgrades to packages that depend on updated versions of the pinned package. apt-get dist-upgrade will override this, but will warn you first. If you want to use this command with sudo, you need to use echo "<package_name> hold" | sudo dpkg --set-selections not sudo echo "<package_name> hold" | dpkg --set-selections.

 

echo "<package_name> install" | dpkg --set-selections

This command removes the "hold" or "locked package" state set by the above command. The note above about sudo usage applies to this command.

Removal commands

 

apt-get remove <package_name>

This command removes an installed package, leaving configuration files intact.

apt-get purge <package_name>

This command completely removes a package and the associated configuration files. Configuration files residing in ~ are not usually affected by this command.

+ operator

 If you want to remove package1 and install package2 in one step:

 

apt-get purge remove <package1> <package2>+

.

apt-get autoremove

This command removes packages that were installed by other packages and are no longer needed.

apt-get autoremove <package_name>

This command removes an installed package and dependencies.

While there is no built in way to remove all of your configuration information from your removed packages you can remove all configuration data from every removed package with the following command.

 

dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge

Search commands

 

apt-cache search <search_term>

This command will find packages that include <search_term>.

 

dpkg -l *<search_term>*

This will find packages whose names contain <search_term>. Similar to apt-cache search, but also shows whether a package is installed on your system by marking it with ii (installed) and un (not installed).

 

apt-cache show <package_name>

This command shows the description of package <package_name> and other relevant information including version, size, dependencies and conflicts.

 

dpkg --print-avail <package_name>

This command is similar to "apt-cache show".

dpkg -L <package_name>

This command will list files in package <package_name>.

 

dpkg -c foo.deb

This command lists files in the package "foo.deb". Note that foo.deb is a pathname. Use this command on .deb packages that you have manually downloaded.

 

dlocate <package_name>

This command determines which installed package owns <package_name>. It shows files from installed packages that match <package_name>, with the name of the package they came from. Consider this to be a "reverse lookup" utility.

 

 In order to use this command, the package dlocate must be installed on your system.

 

dpkg -S <package_name>

This command does the same as dlocate, but does not require the installation of any additional packages. It is slower than dlocate but has the advantage of being installed by default on all Debian and Ubuntu systems.

 

apt-file search <package_name>

This command acts like dlocate and dpkg -S, but searches all available packages. It answers the question, "what package provides this file?".

apt-file needs to be updated regularly like apt-get. Use the command:

 

apt-file update

 In order to use this command, the package apt-file must be installed on your system.

 

apt-cache pkgnames

This command provides a listing of every package in the system

A general note on searching: If searching for a generates a list that is too long, you can filter your results by piping them through the command grep. Examples:

 

apt-cache search filename | grep -w filename

will show only the files that contain filename as a whole word

dpkg -L package | grep /usr/bin 

will list files located in the directory /usr/bin, useful if you're looking for a particular executable.

For more information on apt-get, apt-cache and dpkg consult their manual pages by using the man command. These manuals will provide a wider scope of information in addition to all of the options that you can use with each program.

 

 Example:

 

man apt-get

.

Typical usage example

I want to feel the wind in my hair, I want the adrenaline of speed. So lets install a racing game. But what racing games are available?

 

apt-cache search racing game

It gives me a lot of answers. I see a game named "torcs". Lets get some more information on this game.

 

apt-cache show torcs

Hmmm... it seems interesting. But is this game not already installed on my computer? And what is the available version? Is it from Universe or main?

 

apt-cache policy torcs

Ok, so now, let's install it!

 

apt-get install torcs

What is the command I must type in the console to launch this game? In this example, it's straightforward ("torcs"), but that's not always the case. One way of finding the name of the binary is to look at what files the package has installed in "/usr/bin". For games, the binary will be in "/usr/games". For administrative programs, it's in "/usr/sbin".

 

dpkg -L torcs | grep /usr/games/

The first part of the command display all files installed by the package "torcs" (try it). With the second part, we ask to only display lines containing "/usr/games/".

 

Hmmm, that game is cool. Maybe there are some extra tracks?

 

apt-cache search torcs

But I'm running out of space. I will delete the apt cache!

 

apt-get clean

Oh no, my mother asked me to remove all games from this computer. But I want to keep the configuration files so I can simply re-install it later.

 

apt-get remove torcs

If I want to also remove config files :

 

apt-get purge torcs

Setting up apt-get to use a http-proxy

These are three methods of using apt-get with a http-proxy.

 

Temporary proxy session

 

This is a temporary method that you can manually use each time you want to use apt-get through a http-proxy. This method is useful if you only want to temporarily use a http-proxy.

 

Enter this line in the terminal prior to using apt-get (substitute your details for yourproxyaddress and proxyport).

  

export http_proxy=http://yourproxyaddress:proxyport

If you normally use sudo to run apt-get you will need to login as root first for this to work unless you also add some explicit environment settings to /etc/sudoers, e.g.

  

Defaults env_keep = "http_proxy https_proxy ftp_proxy"

APT configuration file method

 

This method uses the apt.conf file which is found in your /etc/apt/ directory. This method is useful if you only want apt-get (and not other applications) to use a http-proxy permanently.

 

 On some installations there will be no apt-conf file set up. This procedure will either edit an existing apt-conf file or create a new apt-conf file.

  

gksudo gedit /etc/apt/apt.conf

Add this line to your /etc/apt/apt.conf file (substitute your details for yourproxyaddress and proxyport).

  

Acquire::http::Proxy "http://yourproxyaddress:proxyport";

Save the apt.conf file.

 

BASH rc method

 

This method adds a two lines to your .bashrc file in your $HOME directory. This method is useful if you would like apt-get and other applications for instance wget, to use a http-proxy.

  

gedit ~/.bashrc

Add these lines to the bottom of your ~/.bashrc file (substitute your details for yourproxyaddress and proxyport)

  

http_proxy=http://yourproxyaddress:proxyport

export http_proxy

Save the file. Close your terminal window and then open another terminal window or source the ~/.bashrc file:

 

source ~/.bashrc

Test your proxy with sudo apt-get update and whatever networking tool you desire. You can use firestarter or conky to see active connections.

 

If you make a mistake and go back to edit the file again, you can close the terminal and reopen it or you can source ~/.bashrc as shown above.

 

source ~/.bashrc

How to login a proxy user

 

If you need to login to the Proxy server this can be achieved in most cases by using the following layout in specifying the proxy address in http-proxy. (substitute your details for username, password, yourproxyaddress and proxyport)

  

http_proxy=http://username:password@yourproxyaddress:proxyport

分享到:
评论

相关推荐

    How-to-install-mysql-on-ubuntu.rar_Ubuntu!

    wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb ``` 然后,更新软件源并安装MySQL Server: ```shell sudo apt update sudo apt install ...

    Ubuntu下Apt-get命令使用指南

    - **Debian APT HOWTO**:[Debian APT HOWTO](https://www.debian.org/doc/manuals/debian-reference/ch03.en.html)是一份非常详尽的手册,涵盖了APT工具集的所有方面,包括`apt-get`。 通过上述介绍可以看出,`apt...

    Ubuntu14下安装TP-LINK 无线网卡驱动-shell安装包版本

    遇到问题时,可以查阅"How-to-install.txt"文件,该文件应包含了详细的安装指南和常见问题解答。如果问题依然存在,可以尝试在安装_folder中寻找可能的解决方案,或者搜索在线论坛和社区以获取更多帮助。 在Ubuntu ...

    基于python+django+mysql的超市管理系统源码+项目说明(计算机毕设).zip

    &gt; sudo apt-get install default-libmysqlclient-dev python3.7 python3.7-dev ``` 2. pip 升级 &gt; 参考 https://stackoverflow.com/a/64095095 ```bash &gt; pip3 install -U pip &gt; pip3 install -U setuptools `...

    linux-ubuntu安装opencv3.2.0

    - [如何在Ubuntu 16.04上安装OpenCV](http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/) - [SegmentFault 上关于OpenCV的安装经验分享](https://segmentfault.com/a/1190000007715243)...

    How_to_install_JDK1.5_on_Ubuntu

    sudo apt-get install sun-java5-jdk ``` 这个命令将使用之前添加的软件源,自动下载和安装JDK 5。安装过程中可能会询问确认一些依赖项,根据提示操作即可。 #### 步骤五:恢复软件源设置 一旦JDK 5成功安装,...

    ubuntu 10.04安装 fortran 90

    sudo apt-get install build-essential sudo apt-get install libstdc++5 sudo apt-get install alien sudo apt-get install g++-multilib ``` 在执行`sudo apt-get install libstdc++5`时,可能会遇到找不到软件包...

    Ubuntu12.04完全配置指南

    如何通过 PPA 安装 Ubuntu TV**: &lt;http://www.omgubuntu.co.uk/2012/01/how-to-install-ubuntu-tv-right-now-via-ppa&gt; - **IMCN 的详细介绍**: #### 四、Lens 关于 Lens 的详细介绍,请参考: - **Ubuntu Unity ...

    Ubuntu 8.0.4 NFS How to

    在Ubuntu 8.0.4上,可以使用`apt-get`命令安装`nfs-kernel-server`软件包,它会自动安装依赖的Portmap服务: ```bash sudo apt-get install nfs-kernel-server ``` 4. **启动Portmap/NFS服务**: 安装完成后,...

    Ubuntu Pocket Guide and Reference: A concise companion for day-to-day Ubuntu use

    ### Ubuntu Pocket Guide and Reference: A Concise Companion for Day-to-Day Ubuntu Use #### Introduction "Ubuntu Pocket Guide and Reference: A Concise Companion for Day-to-Day Ubuntu Use," authored by ...

    How to set ibus on Ubuntu 12.10

    sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 ``` 这里提到的ibus-clutter、ibus-gtk、ibus-gtk3和ibus-qt4分别是ibus对Clutter、GTK2、GTK3和Qt4图形界面库的支持模块。这些模块确保了ibus...

    how-to-qemu-arm-gdb-gtest:如何在X86 ubuntu上运行,调试和单元测试ARM代码

    1. **设置交叉编译环境**:安装对应的ARM交叉编译工具链,如`sudo apt-get install gcc-arm-linux-gnueabi`。 2. **构建ARM可执行文件**:使用交叉编译器编译源代码,确保链接器脚本和编译选项适合ARM架构。 3. **...

    How to install legup 1.0 and legup 2.0 in Ubuntu

    sudo apt-get install subversion ``` 2. **检出LLVM源码**: ```bash svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm ls -l ``` ##### Clang (前端工具) 1. **进入LLVM/tools目录**: ```bash ...

    Elasticsearch 一个开源的搜索和数据分析引擎

    "content": "Learn how to use Elasticsearch." } '``` - **查询文档**: ```bash curl -X GET "localhost:9200/my_index/_search?q=Elasticsearch" ``` - **更新文档**: ```bash curl -X POST ...

    MRV-Hosting.com:MRV-Hosting.com | Web和GamePanel [开源]

    Web server (apache2): https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-20-04 Install php-ssh2 extension: ``sudo apt-get update -y`` ``sudo apt-get ...

    kmd_ntx_stats_docker:使用Django PGSQL的Komodo Notary stats API的Docker容器

    ://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-18-04 码头工人: : Docker Compose: : Certbot: ://certbot.eff.org/lets-encrypt/ubuntubionic-nginx.html git: sudo apt ...

    linux uuid source and how to install in linux

    如果你需要在系统中安装这些工具,通常可以通过包管理器进行,例如在Debian或Ubuntu上使用`apt-get`: ```bash sudo apt-get update sudo apt-get install uuid-dev ``` 在Fedora或CentOS上,可以使用`yum`或`dnf`...

    linux howto系列教程

    在Linux环境中,软件安装通常通过包管理器进行,例如在Debian系的apt-get或Ubuntu的apt,Red Hat系的yum或CentOS的dnf。教程将教你如何使用这些工具来安装、更新和卸载软件。 Linux的安全性也是其一大优势。教程会...

    selenium+chromedriver在服务器运行的详细教程

    1.前言 想使用selenium从网站上抓数据,但有时候使用phantomjs...# https://askubuntu.com/questions/79280/how-to-install-chrome-browser-properly-via-command-line sudo apt-get install libxss1 libappindicator1

    how to get android resoure code

    在Ubuntu 8.04上,安装Git可以通过使用`apt-get`命令,这是一个用于自动从软件仓库安装、升级和卸载软件的命令。执行以下命令以安装Git和curl: ```bash sudo apt-get install git-core curl ``` curl是一个命令行...

Global site tag (gtag.js) - Google Analytics