赞
踩
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
……
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
yum list available mdadm*
yum list installed
yum list installed mdadm*
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
yum [option] [安装与升级的工作项目] [相关参数]
选项相关参数:
install :后面接要安装的软件
update :后面接要安装的软件,若要整个系统都升级,就直接 update 即可
yum install 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
参考
Centos修改yum清华安装源、阿里安装源详细方法_yum清华源-CSDN博客
centos-vault | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
鸟哥私房菜 - 第二十二章、软件安装 RPM, SRPM 与 YUM (vbird.org)
/var/lib/dpkg/states 安装和卸载软件的信息来源
/var/lib/apt/lists 查询软件的信息来源
/var/lib/dpkg/states与/var/lib/apt/lists/进行比较,以判断是否更新
Apt会解决软件包依赖问题,也有APT因依赖关系不能安装软件包的情况。例如,某软件包和系统中的其他软件包冲突,或者该软件包依赖的软件包在任何软件源中均不存在或没有符合要求的版本。遇到这种情况,APT会返回错误信息并且终止,用户需要自行解决软件依赖问题。
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命令一般需要root权限执行,所以还要使用sudo命令。
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命令。
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
dpkg是Debian及其衍生系统如Ubuntu的底层包管理工具。它用于安装、构建、删除和管理Debian软件包,但它不解决包之间的依赖关系。
dpkg --print-architecture
我的是amd64架构
一般可以在Ubuntu软件包及其存储库信息的网站上查询需要的包,比如 Packages for Linux and Unix - pkgs.org
假设我要下载sysstat包,可以查询该包
我们选择Ubuntu Main amd64架构的
点进去之后搜索Download,Binary Package是二进制包,可以直接下载使用的
wget米格罗宁根下载指定包
wget --no-check-certificate package_file.rpm
可以使用alien
工具将rpm包转换为deb格式:
sudo alien -k package_file.rpm
sudo dpkg -i package_file.deb
sudo dpkg -r package_name
dpkg -l | grep package_name
如果dpkg报告依赖问题,可以使用以下命令安装缺失的依赖:
sudo apt-get -f install
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。