yum用法

yum的查询

yum [option] [查询工作目录] [相关参数]

[option]:

       -y  当yum要等待使用者输入时,-y自动提供yes的回应

       --installroot=/some/path  将该软件安装在指定目录

[查询工作目录] [相关参数]

       search

       list 类似于rpm –qa

       info 同上,类似于rpm –qai

       provides 档案中寻找软件,类似rpm –qf

列出所有软件(包含已安装的和未安装的)

yum list

已加载插件:fastestmirror, langpacks        # yum 系統自己找出最近的 yum server

Loading mirror speeds from cached hostfile   # 找出速度最快的那一部 yum server

 * base: mirrors.aliyun.com                 # 底下三个软件库,且都来源于该服务器

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

已安装的软件包        # “已安装的软件包/Available Packages” 说明该安装包已安装

GConf2.x86_64             3.2.6-8.el7                  @anaconda

GeoIP.x86_64              1.5.0-14.el7                 @anaconda

apr.x86_64                1.4.8-7.el7                  @base

…….

可安装的软件包        #“可安装的软件包/Installed Packages”说明该软件未安装

…….

…….

上面三列分别是软件名、版本、在哪个软件库内

列出某个软件(包括已安装和未安装软件)

yum list mysql*

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

已安装的软件包                  # Available Packages

…….

可安装的软件包                  # Installed Packages

MySQL-python.x86_64                       1.2.5-1.el7                     base

mysql-connector-java.noarch                 1:5.1.25-3.el7                  base

mysql-connector-odbc.x86_64                5.2.5-8.el7                     base

…….

列出所有可以升级的软件

yum list updates

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

更新的软件包                          # Updated Packages

ModemManager.x86_64                       1.6.10-4.el7                   base

……

列出可以升级的mdam软件包

yum list updates  mdadm*

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

更新的软件包                          # Updated Packages

mdadm.x86_64                       4.1-9.el7_9                        updates

列出所有未安装的软件包

yum list available

列出未安装的mdadm软件包

yum list available  mdadm*

列出所有已安装的软件包

yum list installed

列出已安装的mdadm软件包

yum list installed mdadm*

输出与mysql相关的软件

yum search mysql

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

====================== N/S matched: mysql ======================

MySQL-python.x86_64 : An interface to MySQL

akonadi-mysql.x86_64 : Akonadi MySQL backend support

apr-util-mysql.x86_64 : APR utility library MySQL DBD driver

mysql-connector-java.noarch : Official JDBC driver for MySQL

mysql-connector-odbc.x86_64 : ODBC driver for MySQL

….

qt-mysql.i686 : MySQL driver for Qt's SQL classes

qt5-qtbase-mysql.x86_64 : MySQL driver for Qt5's SQL classes

…..

mariadb-libs.i686 : The shared libraries required for MariaDB/MySQL clients


名称和简介匹配 only,使用“search all”试试


冒号左边是软件名称,冒号右边是RPM内的name

查看指定软件的详细信息

这里注意,info后面必须是软件完整名称,例如查询mysql-connector-java.noarch,名称应该是mysql-connector-java,写mysql会报错。

或者写作mysql*,查询所有含有mysql名称的软件包

yum info  mysql-connector-java

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

可安装的软件包              #“可安装的软件包/Installed Packages”说明该软件未安

                                       #装,如果此处是“已安装的软件包/Available Packages”

                                       #说明该安装包已安装


名称    :mysql-connector-java

架构    :noarch

时期       :1

版本    :5.1.25

发布    :3.el7

大小    :1.3 M

源    :base/7/x86_64

简介    : Official JDBC driver for MySQL

网址    :http://dev.mysql.com/downloads/connector/j/

协议    : GPLv2 with exceptions

描述    : MySQL Connector/J is a native Java driver that converts JDBC (Java Database

         : Connectivity) calls into the network protocol used by the MySQL database.

         : It lets developers working with the Java programming language easily build

         : programs and applets that interact with MySQL and connect all corporate

         : data, even in a heterogeneous environment. MySQL Connector/J is a Type

         : IV JDBC driver and has a complete JDBC feature set that supports the

         : capabilities of MySQL.

查询某个命令是哪个软件提供的

yum provides grep

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

grep-2.20-3.el7.x86_64 : Pattern matching utilities

源    :base


grep-2.20-3.el7.x86_64 : Pattern matching utilities

源    :@anaconda

Yun的安装/升级/移除

yum [option] [安装与升级的工作项目] [相关参数]

选项相关参数:

  install :后面接要安装的软件

  update  :后面接要安装的软件,若要整个系统都升级,就直接 update 即可

安装pam-devel

yum install pam-devel

升级pam-devel

yum update pam-devel

移除软件

yum remove pam-devel

更换镜像

使用的镜像源为清华大学开源软件镜像站,修改镜像源参考链接为:https://mirror.tuna.tsinghua.edu.cn/help/centos/

该文件只提供 CentOS 7 与 8,架构仅为 x86_64 ,如果需要较早版本的 CentOS,请参考 centos-vault 的帮助,若需要其他架构,请参考 centos-altarch 的帮助。
建议先备份 /etc/yum.repos.d/ 内的文件(CentOS 7 及之前为 CentOS-Base.repo,CentOS 8 为CentOS-Linux-*.repo)

然后编辑 /etc/yum.repos.d/ 中的相应文件,在 mirrorlist= 开头行前面加 # 注释掉;并将 baseurl= 开头行取消注释(如果被注释的话),把该行内的域名(例如mirror.centos.org)替换为mirrors.tuna.tsinghua.edu.cn。
注意,如果需要启用其中一些 repo,需要将其中的 enabled=0 改为 enabled=1。
最后,更新软件包缓存
sudo yum makecache

首先备份原文件

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

接着修改源为清华源

[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7
yum clean all
yum makecache

 

apt-get用法

软件包目录说明

/var/lib/dpkg/states      安装和卸载软件的信息来源

/var/lib/apt/lists          查询软件的信息来源

/var/lib/dpkg/states与/var/lib/apt/lists/进行比较,以判断是否更新

apt的作用:管理软件包依赖

Apt会解决软件包依赖问题,也有APT因依赖关系不能安装软件包的情况。例如,某软件包和系统中的其他软件包冲突,或者该软件包依赖的软件包在任何软件源中均不存在或没有符合要求的版本。遇到这种情况,APT会返回错误信息并且终止,用户需要自行解决软件依赖问题。

软件包的查询apt-cache

查询所有软件包

apt-cache pkgnames //没错,这里就写作pkgnames,不用替换成其他东西

经过验证,这里查询的应该是update后缓存的pkgnames,而不是已经安装的pkgnames。如果需要查看是否安装,请看 ‘查询某个安装包安装状态和版本信息’

查看某个安装包的详细信息

apt-cache show mysql-server-5.7

Package: mysql-server-5.7

Architecture: amd64

Version: 5.7.33-0ubuntu0.16.04.1

Priority: optional

Section: database

Source: mysql-5.7

Origin: Ubuntu

……

Description-en: MySQL database server binaries and system database setup #描述信息

 MySQL is a fast, stable and true multi-user, multi-threaded SQL database

 server. SQL (Structured Query Language) is the most popular database query

 language in the world. The main goals of MySQL are speed, robustness and

 ease of use.

 .

 This package contains all the infrastructure needed to setup system

 databases.

查询某个安装包安装状态和版本信息

apt-cache policy mysql-server-5.7

mysql-server-5.7:

Installed: (none)

  Candidate: 5.7.33-0ubuntu0.16.04.1

  Version table:

     5.7.33-0ubuntu0.16.04.1 500

        500 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages

        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages

     5.7.11-0ubuntu6 500

        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

这里查询的名称必须是全名

查询软件包名或描述中包含字符串的所有包

apt-cache search  mysql

其中描述指的是‘查看某个安装包的详细信息’所指的描述信息,如果这里面包含该字符串(忽略大小写),也将展示在输出屏幕上

因此,如果需要查询名称中包含某个字符串的包名,需要加上—name-only参数

查询软件包中包名包含字符串的所有包

apt-cache search --names-only  mysql

查询软件包中前缀是某个字符串的所有包

apt-cache pkgnames  mysql

mysqltcl

mysql-mmm-agent

mysql-workbench

mysql-client-5.7

mysql-mmm-tools

mysql-server-5.7

mysql-utilities

mysql-testsuite

…..

其实上一个命令search也能查询出这些包,前提是需要规定字符串的必须以mysql开头

apt-cache search --names-only  mysql | grep ^mysql

软件包的安装apt-get

apt-get命令一般需要root权限执行,所以还要使用sudo命令。

Apt-get用法

sudo apt-get [选项] 子命令

更新软件包列表(不更新软件)

sudo apt-get update

更新软件包并更新依赖

sudo apt-get upgrade

升级的最新版本来源于/etc/apt/sources.list列表中给出的安装源

如果软件包的新版本的依赖关系发生变化,引入了新的依赖软件包,则当前系统不能满足新版本的依赖关系,该软件包就会保留下来,而不会被升级

更新某个软件包并更新依赖

sudo apt-get --reinstall install 软件包名

下载并安装软件包,解决依赖

sudo apt-get install

 使用 install 命令时,apt 包管理器将搜索缓存以获取包和版本信息,然后通过网络从其存储库下载它。如果软件包不在此缓存中,您的系统将无法安装它。

当您有一个新安装的 Ubuntu 系统时,缓存是空的。这就是为什么你应该在安装Ubuntu或任何其他基于Ubuntu的发行版(如Linux Mint)后立即运行apt update命令。

[已解决]“E:无法找到包”Ubuntu 上的错误 (itsfoss.com)

自动卸载所有未使用的软件包

sudo apt-get autoremove

卸载软件包

sudo apt-get remove

卸载软件包的配置文件

上面只是卸载了软件包,如果要同时删除配置文件,则要执行apt-get purge命令

sudo apt-get purge 软件包

或者

sudo apt-get remove –purge 软件包

彻底卸载软件包及其依赖的软件包

如果需要更彻底的删除,可执行以下命令,这将删除该软件包及其所依赖的、不再使用的软件包。

sudo apt-get autoremove 软件包名

清理已下载的软件包

sudo apt-get clean

实际上清理/var/cache/apt/archives目录中的软件包,不会影响软件正常使用

删除已卸载的软件的软件包备份

sudo apt-get autoclean

查看软件安装记录

zgrep -h 'status installed' /var/log/dpkg.log* | sort | tail -n 100

dpgk

dpkg是Debian及其衍生系统如Ubuntu的底层包管理工具。它用于安装、构建、删除和管理Debian软件包,但它不解决包之间的依赖关系。

查询服务器架构

dpkg --print-architecture

我的是amd64架构 

下载deb包

一般可以在Ubuntu软件包及其存储库信息的网站上查询需要的包,比如 Packages for Linux and Unix - pkgs.org

假设我要下载sysstat包,可以查询该包

yum如何安装nginx_yum如何安装nginx

我们选择Ubuntu Main amd64架构的

yum如何安装nginx_linux_02

 点进去之后搜索Download,Binary Package是二进制包,可以直接下载使用的

yum如何安装nginx_centos_03

wget米格罗宁根下载指定包 

wget --no-check-certificate  package_file.rpm

如何将rpm包转换为deb格式

可以使用alien工具将rpm包转换为deb格式:

sudo alien -k package_file.rpm

dpkg常用命令

安装软件包

sudo dpkg -i package_file.deb

卸载软件包

sudo dpkg -r package_name

查询软件包信息

dpkg -l | grep package_name

管理软件包依赖

使用dpkg和apt-get解决依赖问题

如果dpkg报告依赖问题,可以使用以下命令安装缺失的依赖:

sudo apt-get -f install