笔记-Linux包管理命令
一、apt, apt-get, dpkg命令
apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。使用apt-get的主流Linux系统包括Debian和Ubuntu变异版本。
ackagename指代为软件包的名称
| 命令 | 说明 |
|---|---|
| apt-get update | 在修改/etc/apt/sources.list或/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。 |
| apt-get install packagename | 安装一个新软件包(参见下文的aptitude) |
| apt-get remove packagename | 卸载一个已安装的软件包(保留配置文档) |
| apt-get remove --purge packagename | 卸载一个已安装的软件包(删除配置文档) |
| apt-get autoremove packagename | 删除包及其依赖的软件包 |
| apt-get autoremove --purge packagname | 删除包及其依赖的软件包+配置文件,比上面的要删除的彻底一点 |
| apt-get autoclean | apt会把已装或已卸的软件都备份在硬盘上,所以假如需要空间的话,能够让这个命令来删除您已卸载掉的软件的备份。 |
| apt-get clean | 这个命令会把安装的软件的备份也删除,但是这样不会影响软件的使用。 |
| apt-get upgrade | 可以使用这条命令更新软件包,apt-get upgrade不仅可以从相同版本号的发布版中更新软件包,也可以从新版本号的发布版中更新软件包 |
| apt-get dist-upgrade | 在运行apt-get upgrade命令时加上-u选项很有用(即:apt-get -u upgrade)。这个选项让APT显示完整的可更新软件包列表。不加这个选项,你就只能盲目地更新。APT会下载每个软件包的最新更新版本,然后以合理的次序安装它们。注意在运行该命令前应先运行 apt-get update更新数据库,更新任何已安装的软件包 |
| apt-get dist-upgrade | 将系统升级到新版本 |
| apt-cache search string | 在软件包列表中搜索字符串 |
| apt-cache showpkg pkgs | 显示软件包信息。 |
| apt-cache dumpavail | 打印可用软件包列表。 |
| apt-cache show pkgs | 显示软件包记录,类似于dpkg –print-avail。 |
| apt-cache pkgnames | 打印软件包列表中任何软件包的名称。 |
| apt-file search filename | 查找包含特定文档的软件包(不一定是已安装的),这些文档的文档名中含有指定的字符串。apt-file是个单独的软件包。您必须先使用apt-get install来安装他,然后运行apt-file update。假如apt-file search filename输出的内容太多,您能够尝试使用apt-file search filename |
| apt-get autoclean | 定期运行这个命令来清除那些已卸载的软件包的.deb文档。通过这种方式,您能够释放大量的磁盘空间。假如您的需求十分迫切,能够使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文档一并删除。大多数情况下您不会再用到这些.debs文档,因此假如您为磁盘空间不足而感到焦头烂额,这个办法也许值得一试。 |
apt-get与apt-config、apt-cache(后两者可能对于新入坑的用户来说较为陌生)一样都是较为底层同时又包含众多功能的命令。对于一些常用的包管理命令(除了安装以外,还有查询、搜索等等),都被分散在这三个命令里面(例如,用apt-get install来安装软件包,用apt-cache search来查询/搜索软件包)
而apt命令的引入就是解决常用功能分散的功能,简单来说,apt命令是apt-get,apt-cache,apt-config三个命令中一些常用功能的集合。
| apt 命令 | 取代的命令 | 命令的功能 |
|---|---|---|
| apt install | apt-get install | 安装软件包 |
| apt remove | apt-get remove | 移除软件包 |
| apt purge | apt-get purge | 移除软件包及配置文件 |
| apt update | apt-get update | 刷新存储库索引 |
| apt upgrade | apt-get upgrade | 升级所有可升级的软件包 |
| apt autoremove | apt-get autoremove | 自动删除不需要的包 |
| apt full-upgrade | apt-get dist-upgrade | 在升级软件包时自动处理依赖关系 |
| apt search | apt-cache search | 搜索应用程序 |
| apt show | apt-cache show | 显示装细节 |
| apt list | 列出包含条件的包(已安装,可升级等) | |
| apt edit-sources | 编辑源列表 |
dpkg
dpkg是基于Debian的系统的软件包管理器。它可以安装,删除和构建软件包,但是与其他软件包管理系统不同,它无法自动下载和安装软件包或其依赖项。本节介绍如何使用 dpkg管理本地安装的软件包:
| 命令 | 说明 |
|---|---|
| dpkg -l | 要列出系统上安装的所有软件包 |
| dpkg -l | grep apache2 | 根据系统上软件包的数量,这可能会产生大量输出。通过grep传递输出, 以查看是否安装了特定的软件包: |
| dpkg -L ufw | 要列出软件包安装的文件(在本例中为ufw软件包),请输入 |
| dpkg -S /etc/host.conf | 如果不确定哪个软件包安装了文件,则dpkg -S可能会告诉您 |
| sudo dpkg -i zip_3.0-4_i386.deb | 安装本地.deb文件 |
| sudo dpkg -r zip | 卸载软件包 |
笔记-Linux包管理命令的更多相关文章
- Linux各主要发行版的包管理命令对照
Linux各主要发行版的包管理命令对照 Debian使用的是apt和dpkg,Gentoo则用的是emerge,Redhat的yum.Suse的zypper.Arch的pacman.Slackware ...
- Linux 包管理
1 文集 <Linux 包管理基础:apt.yum.dnf 和 pkg>,由Snapcrafter翻译,英文原创(作者Brennen)地址在这里. 这是一篇不错的概括性的文章,系统介绍了D ...
- 12个Linux进程管理命令介绍(转)
12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国 作者:Linux [字体:大 中 小] 执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...
- [转帖]十二 个经典 Linux 进程管理命令介绍
https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看. 随笔- 109 ...
- visual studio NuGet 常用包管理命令
visual studio NuGet 常用包管理命令 查找包 Find-Package [包名] Find-Package [包名] -AllVersions 安装包 Install-Package ...
- linux笔记:用户管理命令和用户组管理命令
用户管理命令 命令名称:useradd功能:添加用户(添加完后不能立即使用,必须用passwd修改用户密码后才能使用)用法:useradd [选项] 用户名选项参数:-u 手工指定用户的UID-d 手 ...
- linux下包管理命令yum与apt-get以及开发环境配置
一般来说市面上常见的Linux系统分为两大类: RH类:Redhat.centOS和Fedora等 Debian类:ubuntu.Debian等. 上述两类系统对应的包管理工具命令分别是yum和apt ...
- RPM包管理命令rpm
RPM包管理器是Linux系统中最早的软件包管理软件之一,也是目前最流行的软件包管理器,许多发行版都使用RPM作为默认的软件包管理软件. RPM软件包名称格式: samba-client-3.0.33 ...
- Ubuntu包管理命令 dpkg、apt和aptitude
起初GNU/Linux系统中仅仅有.tar.gz.用户 必须自己编译他们想使用的每个程序.在Debian出现之後,人们觉得有必要在系统 中加入一种机 制用来管理 安装在计算机上的软件包.人们将这套系统 ...
随机推荐
- Pyhon 格式化输出的几种方式
废话不多说,直接上代码 第一种格式化的输出方式,拼接我就不上了,不建议使用,数据多的时候自己都蒙圈 # -*- coding:utf-8 -*- # Author:覃振鸿 #格式化输出 name=in ...
- python获取网页源代码
最简单的网页取源(不用模拟浏览器的情况) import requests def getHTML(url): try: r = requests.get(url,timeout=30) r.raise ...
- Linux服务器上创建日志服务器和FTP服务器
参考地址: http://www.111cn.net/sys/CentOS/81133.htm https://www.cnblogs.com/laoxiajiadeyun/p/9943742.htm ...
- MySql进行批量插入时的几种sql写法
insert into:插入数据,如果主键重复,则报错 insert repalce:插入替换数据,如果存在主键或unique数据则替换数据 insert ignore:如果存在数据,则忽略. INS ...
- Raid,分区表与LVM逻辑卷
1.组Raid 磁盘前512K组合 前446K:MBR引导程序 中64K:分区表 后2K:校检码 Raid0:极致的读写速度,一个数据分散到多个盘去读写.但是极不安全,一旦坏了一块盘那么所有盘都将无法 ...
- redis-布隆过滤器使用
占用空间测试地址 https://krisives.github.io/bloom-calculator/
- PHP-删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1 ...
- Redis中存储对象区别
1.最常用的是String结构,key和value都是字符串类型: 2.哈希:比较是用于对对象的操作: 3.List:按照插入数据顺序保存,value是可以重复的,底层是双向链表: 4.集合:是Str ...
- 分布式项目spring 配置文件的约束
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- 批量更新数据(BatchUpdate)
批量更新数据(BatchUpdate) /// <summary> /// 批量更新数据,注意:如果有timestamp列,要移除 /// </summary> /// < ...