Linux 命令之 yum -- 基于 RPM 的软件包管理器

文章目录

  • 一、命令介绍
  • 二、选项参数
    • 选项
    • 参数
  • 三、配置文件
  • 四、参考示例
    • (一)安装、升级和删除包
      • 安装指定的软件包
      • 强制重新安装
      • 本地安装指定软件包
      • 本地更新指定软件包
      • 安装 yum 服务器中的所有可安装的软件
      • 安装程序组(软件组)
      • 安装 yum 图形窗口插件
      • 安装自动搜索最快镜像的插件
      • 更新系统中所有的软件
      • 大规模的升级
      • 更新所有名称以 “gr” 开头的包
      • 更新指定的软件包
      • 更新指定的软件包到指定的版本
      • 升级指定程序包
      • 升级程序组
      • 删除/卸载软件包
      • 删除程序组
    • (二)查询和检查包
      • 查看目前 yum 服务器上可用的软件组
      • 查看指定程序组的详细信息
      • 检查可更新的程序
      • 查看在 yum 服务器中的可以安装但本地系统尚未安装的包
      • 查看被废弃的包
      • 查看新添加进 yum 仓库的包
      • 查看当前能够使用的yum仓库
      • 显示所有仓库
      • 显示禁用的仓库
      • 显示启用的仓库
      • 检查 MySQL 是否已安装
      • 查看指定软件包的安装信息
      • 查看软件包的详细信息
      • 列出资源库中特定的软件包信息
      • 列出资源库中所有可以更新的软件包信息
      • 列出已经所有已安装的软件包信息
      • 列出已经安装的但是不包含在资源库中的软件包信息
      • 列出 yum 服务器上所有可安装的软件
      • 列出 yum 服务器上所有可以安装的软件包的信息
      • 查看所有已经安装的软件包
      • 列出已经安装的但是不包含在资源库中的rpm包
      • 列出目前 yum 服务器上可供本机进行升级的软件有哪些
      • 根据关键字查找软件包
      • 查看软件包的依赖关系
      • 列出所有名称以 foo 开头的可用的软件包
      • 查看指定的功能是由哪个软件包提供的
    • (三)执行其它功能
      • 清除缓存目录下的软件包
      • 清除缓存目录下的headers
      • 清除缓存目录下旧的headers
      • 删除所有缓存的包和头文件
      • 从存储库下载 RPM
      • 需要检查一个软件包的内容但不安装它
      • 寻找 RPM
      • 命令未找到
  • 五、其他工具

一、命令介绍

Yellowdog Updater Modified(YUM)Duke University 物理系最初为管理 Red Hat Linux 系统开发的包管理工具。YUM 现在是一款非常主流的基于 RPM 的 Shell 前端软件包管理器,源自于红帽系的 Linux 发行版,例如,FedoraRedHat 以及 SUSE 等都在使用 YUM 作为软件包管理工具,它可以使系统管理人员交互和自动化地更新与管理 rpm 软件包,能够从指定的服务器自动下载 rpm 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

YUMRPM 系统中增加了自动更新和包管理,包括依赖关系管理。与 Debian Advanced Packaging Tool (APT) 一样,除了了解系统上安装的包之外,YUM 还使用存储库。存储库是包的集合,通常可以通过网络连接访问它们。

YUM 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

二、选项参数

选项

选项说明
-y对所有的提问都回答 yes
-c指定配置文件
-q安静模式
-v显示命令执行过程中的详细信息
-h--hash软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好),显示程序执行进度
-t检查外部错误
-d设置调试等级(0-10)
-e设置错误等级(0-10)
-R设置 yum 处理一个命令的最大等待时间
-C完全从缓存中运行,而不去下载或者更新任何头文件
-? 或 -h 或 --help 或 --help-cmd显示命令帮助

参数

参数说明
install安装rpm软件包
update更新rpm软件包
check-update检查是否有可用的更新rpm软件包
remove删除指定的rpm软件包
list显示软件包的信息
search检查软件包的信息
info显示指定的rpm软件包的描述信息和概要信息
clean清理yum过期的缓存
shell进入yum的shell提示符
resolvedep显示rpm软件包的依赖关系
localinstall安装本地的rpm软件包
localupdate显示本地rpm软件包进行更新
deplist显示rpm软件包的所有依赖关系
provides查看哪个软件包提供了指定的文件

三、配置文件

YUM 的配置方式是基于分段配置的。

  • 主配置文件:/etc/yum.conf

  • YUM 的片段配置:/etc/yum.repos.d/*.repo

主配置文件配置了一个特殊的仓库,名称为 mainmain 是为其他仓库提供默认的全局配置的。

了解配置文件的解读请猛戳这里:https://www.cnblogs.com/zhoading/p/9388604.html

四、参考示例

(一)安装、升级和删除包

安装指定的软件包

[root@linuxcool ~]# yum install package  

强制重新安装

[root@echidna ~]# yum reinstall vim-common

注:一般用在软件包被破坏的情况

本地安装指定软件包

安装指定的 rpm 软件包时使用本地的软件仓库。

[root@linuxcool ~]# yum localinstall 包的完整路径

yum 安装 rpm 默认会查询软件包来源合法性,但有时没提供密钥,无法安装。使用 --nogpgcheck 选项,可以避免yum作校验。

[root@linuxcool ~]# yum localinstall --nogpgcheck 包的完整路径

本地更新指定软件包

[root@linuxcool ~]# yum localupdate 包的完整路径

安装 yum 服务器中的所有可安装的软件

[root@linuxcool ~]# yum install          

安装程序组(软件组)

[root@linuxcool ~]# yum groupinsall group  

注:GNOMEKDEX Window 等就是软件组,例如,GNOME 是一个非常直观且用户友好的桌面环境。所以软件组通常在我们全新安装 Linux 系统时会用到

例如,安装桌面环境 GNOME:

[root@linuxcool ~]# yum groupstall GNOME

安装 yum 图形窗口插件

[root@linuxcool ~]# yum install yumex

安装自动搜索最快镜像的插件

[root@linuxcool ~]# yum install yum-fastestmirror

更新系统中所有的软件

[root@linuxcool ~]# yum update  

大规模的升级

[root@linuxcool ~]# yum upgrade  

更新所有名称以 “gr” 开头的包

[root@echidna ~]# yum update 'gr*'
Loaded plugins: presto, refresh-packagekit
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package grep.x86_64 0:2.6.3-1.fc12 set to be updated
---> Package groff.x86_64 0:1.18.1.4-20.fc12 set to be updated
--> Finished Dependency ResolutionDependencies Resolved=====================================================================================Package         Arch             Version                    Repository         Size
=====================================================================================
Updating:grep            x86_64           2.6.3-1.fc12               updates           228 kgroff           x86_64           1.18.1.4-20.fc12           updates           1.5 MTransaction Summary
=====================================================================================
Install       0 Package(s)
Upgrade       2 Package(s)Total download size: 1.7 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Download delta size: 854 k
http://fedora.fastsoft.net/pub/linux/fedora/linux/updates/12/x86_64/drpms/grep-2.5.3-
6.fc12_2.6.3-1.fc12.x86_64.drpm: [Errno 14] HTTP Error 404 : http://fedora.fastsoft.n
et/pub/linux/fedora/linux/updates/12/x86_64/drpms/grep-2.5.3-6.fc12_2.6.3-1.fc12.x86_
64.drpm 
Trying other mirror.
(1/2): grep-2.5.3-6.fc12_2.6.3-1.fc12.x86_64.drpm             | 214 kB     00:00     
(2/2): groff-1.18.1.4-18.fc12_1.18.1.4-20.fc12.x86_64.drpm    | 640 kB     00:00     
Finishing rebuild of rpms, from deltarpms
<delta rebuild>                                               | 1.7 MB     00:02     
Presto reduced the update size by 52% (from 1.7 M to 854 k).
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running TransactionUpdating       : grep-2.6.3-1.fc12.x86_64                                      1/4 Updating       : groff-1.18.1.4-20.fc12.x86_64                                 2/4 Cleanup        : grep-2.5.3-6.fc12.x86_64                                      3/4 Cleanup        : groff-1.18.1.4-18.fc12.x86_64                                 4/4 Updated:grep.x86_64 0:2.6.3-1.fc12             groff.x86_64 0:1.18.1.4-20.fc12            Complete!

注意:这里使用撇号防止 shell 展开 *

更新指定的软件包

[root@linuxcool ~]# yum update package

更新指定的软件包到指定的版本

yum update-to

升级指定程序包

[root@linuxcool ~]# yum upgrade package

升级程序组

[root@linuxcool ~]# yum groupupdate group

删除/卸载软件包

[root@linuxcool ~]# yum remove package_name

如果试图删除的包是其他已安装包的依赖包,YUM 会提议删除这些包和依赖包,见以下清单:

[root@echidna ~]# yum remove gcl-selinux
Loaded plugins: presto, refresh-packagekit
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package gcl-selinux.x86_64 0:2.6.8-0.7.20100201cvs.fc12 set to be erased
--> Processing Dependency: gcl-selinux for package: gcl-2.6.8-0.7.20100201cvs.fc12.x86_64
--> Running transaction check
---> Package gcl.x86_64 0:2.6.8-0.7.20100201cvs.fc12 set to be erased
--> Finished Dependency ResolutionDependencies Resolved=====================================================================================Package          Arch        Version                            Repository     Size
=====================================================================================
Removing:gcl-selinux      x86_64      2.6.8-0.7.20100201cvs.fc12         @updates       90 k
Removing for dependencies:gcl              x86_64      2.6.8-0.7.20100201cvs.fc12         @updates       40 MTransaction Summary
=====================================================================================
Remove        2 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)Is this ok [y/N]: n
Exiting on user Command
Complete!

删除程序组

[root@linuxcool ~]# yum groupremove group_name

(二)查询和检查包

查看目前 yum 服务器上可用的软件组

rpm 包可以组合成软件组,安装卸载可以共同进行。

[root@linuxcool ~]# yum grouplist

查看指定程序组的详细信息

查看程序组 Xfce 的信息:

[root@htlwk0001host ~]# yum groupinfo xfce
上次元数据过期检查:1:06:45 前,执行于 2021年07月20日 星期二 08时42分34秒。组:Xfce描述:一个能在低端机器上良好运行的轻便桌面环境。必要的软件包:Thunarxfce4-panelxfce4-sessionxfce4-settingsxfconfxfdesktopxfwm4默认的软件包:NetworkManager-gnomegdmmousepadopenssh-askpassthunar-archive-pluginthunar-volmantumblerxfce-polkitxfce4-appfinderxfce4-power-managerxfce4-pulseaudio-pluginxfce4-screensaverxfce4-terminal可能的软件包:pinentry-gtk

还支持使用中文名称查询:

[root@htlwk0001host ~]# yum groupinfo 科学记数法支持
上次元数据过期检查:1:10:16 前,执行于 2021年07月20日 星期二 08时42分34秒。组:科学记数法支持描述:用于数学和科学计算以及平行计算的工具。可选的软件包:atlasfftwfftw-develfftw-staticgnuplotgsl-devellapackmpich-developenmpiopenmpi-develpython3-numpypython3-scipyunits

检查可更新的程序

[root@linuxcool ~]# yum check-update
[root@linuxcool ~]# yum list updates        

查看在 yum 服务器中的可以安装但本地系统尚未安装的包

yum list available

查看被废弃的包

yum list obsoletes

查看新添加进 yum 仓库的包

yum list recent

查看当前能够使用的yum仓库

yun repo list

显示所有仓库

yum repo list all

显示禁用的仓库

yum repo list enabled

显示启用的仓库

yum repo list disabled

检查 MySQL 是否已安装

[root@linuxcool ~]# yum list installed | grep mysql
[root@linuxcool ~]# yum list installed mysql*

注:命令 list 的执行结果输出到管道作为命令 grep 的输入,grep 读取管道的数据,从中搜索 mysql 相关的内容。

查看指定软件包的安装信息

执行命令 yum list package_name,例如:

[root@htlwk0001host ~]# yum list mysql-community-client.x86_64
上次元数据过期检查:1:44:13 前,执行于 2021年07月19日 星期一 14时40分41秒。
已安装的软件包
mysql-community-client.x86_64                                                                             5.7.31-1.el7                                                                             @System

查看软件包的详细信息

执行命令 yum info package_name,例如:

[root@htlwk0001host ~]# yum info mysql-community-client.x86_64
上次元数据过期检查:1:45:23 前,执行于 2021年07月19日 星期一 14时40分41秒。
已安装的软件包
名称         : mysql-community-client
版本         : 5.7.31
发布         : 1.el7
架构         : x86_64
大小         : 101 M
源           : mysql-community-5.7.31-1.el7.src.rpm
仓库         : @System
概况         : MySQL database client applications and tools
URL          : http://www.mysql.com/
协议         : Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Under GPLv2 license as shown in the Description field.
描述         : This package contains the standard MySQL clients and administration: tools.

列出资源库中特定的软件包信息

yum info firefox* 

列出资源库中所有可以更新的软件包信息

yum info updates 

列出已经所有已安装的软件包信息

 yum info installed 

列出已经安装的但是不包含在资源库中的软件包信息

yum info extras 

注:如通过其它网站下载安装的 rpm 包

列出 yum 服务器上所有可安装的软件

[root@linuxcool ~]# yum list 

列出 yum 服务器上所有可以安装的软件包的信息

[root@linuxcool ~]# yum info 

查看所有已经安装的软件包

--installed
Limit the resulting set to installed packages only. The exclude option in the configuration file might influence the result, but if the command line option --disableexcludes is used, it ensures that all installed packages will be listed.

[root@linuxcool ~]# yum list installed
[root@linuxcool ~]# yum list --installed

列出已经安装的但是不包含在资源库中的rpm包

[root@linuxcool ~]# yum list extras

列出目前 yum 服务器上可供本机进行升级的软件有哪些

[root@linuxcool ~]# yum list updates

根据关键字查找软件包

[root@htlwk0001host ~]# yum search mysql
上次元数据过期检查:1:56:01 前,执行于 2021年07月19日 星期一 14时40分41秒。
======================================================================================== 名称 和 概况 匹配:mysql ========================================================================================
mysql.x86_64 : MySQL client programs and shared libraries
mysql-router.x86_64 : MySQL Router
MySQL-zrm.noarch : MySQL backup manager
libnss-mysql.x86_64 : NSS library for MySQL

查看软件包的依赖关系

使用命令 yum deplist package_name 来获得已安装的 gcl 版本的依赖列表:

[ian@echidna ~]$ yum deplist $(rpm -q gcl)
Loaded plugins: presto, refresh-packagekit
Finding dependencies: 
package: gcl.x86_64 2.6.8-0.7.20100201cvs.fc12dependency: libc.so.6(GLIBC_2.3.4)(64bit)provider: glibc.x86_64 2.11-2provider: glibc.x86_64 2.11.1-6dependency: /bin/shprovider: bash.x86_64 4.0.33-1.fc12provider: bash.x86_64 4.0.35-3.fc12dependency: gcl-selinuxprovider: gcl-selinux.x86_64 2.6.8-0.6.20090701cvs.fc12provider: gcl-selinux.x86_64 2.6.8-0.7.20100201cvs.fc12dependency: libgmp.so.3()(64bit)provider: gmp.x86_64 4.3.1-5.fc12dependency: libc.so.6(GLIBC_2.8)(64bit)provider: glibc.x86_64 2.11-2provider: glibc.x86_64 2.11.1-6dependency: libc.so.6(GLIBC_2.4)(64bit)provider: glibc.x86_64 2.11-2provider: glibc.x86_64 2.11.1-6dependency: libc.so.6()(64bit)provider: glibc.x86_64 2.11-2provider: glibc.x86_64 2.11.1-6dependency: /sbin/install-infoprovider: info.x86_64 4.13a-7.fc12

注:

  1. 如果只指定包名,没有版本号,rpm -q gcl 可能会得到其他已知版本的列表,使用 $() 可以获取括号内命令执行的结果
  2. 从上述列表可知,dependency 后面显示依赖的功能,provider 功能可能的提供者。例如,/bin/sh 可以来自 bash 的两个级别之一。

通过使用创造性的筛选,可以把输出缩减为下面所示的包名列表:

[ian@echidna ~]$ yum deplist $(rpm -q gcl) | grep "provider:" | \
> awk '{ print $2 }'|sort|uniq
bash.x86_64
gcl-selinux.x86_64
glibc.i686
glibc.x86_64
gmp.x86_64
info.x86_64
libX11.x86_64
readline.x86_64
tcl.x86_64
tk.x86_64
zlib.x86_64

如果只想知道需要安装哪些包,可以运行 yum install,查看在提示接受安装提议之前显示的列表。

注:

  1. awk 是一种编程语言,awk '{ print $2 }' 这段代码表示打印每行的第 2 个字段,然后把结果输出给后面的命令
  2. sort 会根据每行首个字符的 ASCII 码大小排序
  3. uniq 去除重复的行

列出所有名称以 foo 开头的可用的软件包

[root@linuxcool ~]# yum list available 'foo*' 

查看指定的功能是由哪个软件包提供的

[ian@echidna ~]$ yum whatprovides 'gcl-selinux(x86-64)' # provides 也行
Loaded plugins: presto, refresh-packagekit
gcl-selinux-2.6.8-0.6.20090701cvs.fc12.x86_64 : SELinux policy for GCL images
Repo        : fedora
Matched from:
Other       : gcl-selinux(x86-64)gcl-selinux-2.6.8-0.7.20100201cvs.fc12.x86_64 : SELinux policy for GCL images
Repo        : updates
Matched from:
Other       : gcl-selinux(x86-64)gcl-selinux-2.6.8-0.7.20100201cvs.fc12.x86_64 : SELinux policy for GCL images
Repo        : installed
Matched from:
Other       : Provides-match: gcl-selinux(x86-64)

从上述查询结果可以看到,除了显示提供此功能的已安装包的信息之外,YUM 还显示存储库中可用的包或版本。可以看到,原来的 2.6.8-0.6 版来自 fedora 存储库,而 updates 存储库中有更新的 2.6.8-0.7 版。

(三)执行其它功能

清除缓存目录下的软件包

yum clean packages 

清除缓存目录下的headers

yum clean headers       

清除缓存目录下旧的headers

yum clean oldheaders  

删除所有缓存的包和头文件

yum clean all 

从存储库下载 RPM

尽管 yum 会自动地从存储库获取包,但是您可能希望下载并保存 RPM,比如为了在不连网的系统上安装它们、为了检查它们的内容或有其他原因。可以使用下面例子中所示的 yumdownloader 命令。对于我们的示例,这个包已经安装了,所以没有要下载的包。如果有这样的包,可以使用 --resolve 选项再次下载它们。

[ian@echidna ~]$ yumdownloader --resolve gcl
Loaded plugins: presto, refresh-packagekit
adobe-linux-i386                                                               17/17
--> Running transaction check
---> Package gcl.x86_64 0:2.6.8-0.7.20100201cvs.fc12 set to be updated
--> Finished Dependency Resolution
gcl-2.6.8-0.7.20100201cvs.fc12.x86_64.rpm                     | 6.3 MB     00:01

需要检查一个软件包的内容但不安装它

如果下载一个 RPM,需要检查它的内容而不是安装它,可以使用 rpm2cpio 命令把内容转换为 cpio 存档,然后通过 cpio 命令提取出包中的某些或所有文件。下面例子中对 gcl-selinux 包执行转换,然后显示提取出的文件(和目录)。关于 rpm2cpiocpio 命令的更多信息参见它们的手册页。

[ian@echidna ~]$ yumdownloader gcl-selinux
Loaded plugins: presto, refresh-packagekit
gcl-selinux-2.6.8-0.7.20100201cvs.fc12.x86_64.rpm        |  17 kB     00:00     
[ian@echidna ~]$ mkdir gcl-selinux
[ian@echidna ~]$ cd gcl-selinux
[ian@echidna gcl-selinux]$ rpm2cpio ../gcl-selinux*.rpm | cpio -idv
./usr/share/selinux/packages/gcl
./usr/share/selinux/packages/gcl/gcl.pp
182 blocks
[ian@echidna gcl-selinux]$ find .
.
./usr
./usr/share
./usr/share/selinux
./usr/share/selinux/packages
./usr/share/selinux/packages/gcl
./usr/share/selinux/packages/gcl/gcl.pp

寻找 RPM

我们在前面看到 YUM 提供了搜索功能,可以搜索包描述和包名。如果需要查明哪个包包含某个还没有安装的程序,还有几种方法:

  • 可以猜测可能包含它的包,下载这个包,但是不安装。得到这个包之后,就可以查询它。
  • 可以搜索 Internet。
  • 可以试试下面介绍的 command-not-found 功能。
  • 如果通过系统工具无法找到某个 RPM,可以通过 Rpmfind.Net 服务器寻找 RPM

命令未找到

如果 Bash shell 搜索一个命令,但是没有找到,那么 shell 就搜索 shell 函数 command_not_found_handle。如果command_not_found_handle 函数存在,shell 以原来的命令和参数作为参数调用它,函数的退出状态成为 shell 的退出状态。如果没有定义此函数,shell 输出错误消息并返回退出状态 127。常常在系统 /etc/bash.bashrc 文件中设置此函数。下面例子说明如何搜索 command-not-found 功能并安装它。

寻找并安装 command-not-found 功能:

[root@echidna ~]# yum search command-not-found
Loaded plugins: presto, refresh-packagekit
========================== Matched: command-not-found ==========================
PackageKit-command-not-found.x86_64 : Ask the user to install command line: programs automatically
You have new mail in /var/spool/mail/root
[root@echidna ~]# yum install PackageKit-command-not-found.x86_64
Loaded plugins: presto, refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package PackageKit-command-not-found.x86_64 0:0.5.7-2.fc12 set to be updated
--> Finished Dependency ResolutionDependencies Resolved================================================================================Package                          Arch       Version          Repository   Size
================================================================================
Installing:PackageKit-command-not-found     x86_64     0.5.7-2.fc12     updates     102 kTransaction Summary
================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)Total download size: 102 k
Installed size: 262 k
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 102 k
PackageKit-command-not-found-0.5.7-2.fc12.x86_64.rpm     | 102 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running TransactionInstalling     : PackageKit-command-not-found-0.5.7-2.fc12.x86_64         1/1 Installed:PackageKit-command-not-found.x86_64 0:0.5.7-2.fc12                            Complete!

下面例子说明在安装 PackageKit-command-not-found 之后如何定义这个函数。如果函数无法执行搜索,那么它模拟标准的系统行为,返回 127。

[ian@echidna ~]$ type command_not_found_handle
command_not_found_handle is a function
command_not_found_handle () 
{ runcnf=1;retval=127;[ ! -S /var/run/dbus/system_bus_socket ] && runcnf=0;[ ! -x /usr/sbin/packagekitd ] && runcnf=0;if [ $runcnf -eq 1 ]; then/usr/libexec/pk-command-not-found $1;retval=$?;elseecho "bash: $1: command not found";fi;return $retval
}

如果 gcl 没有安装,安装 command_not_found_handle 之后尝试运行 gcl,会看到下面的输出内容:

[ian@echidna ~]$ gcl
Command not found. Install package 'gcl' to provide command 'gcl'? [N/y]

五、其他工具

除了 yum 和 rpm 之外,发行商可能提供了用于从存储库安装包或更新整个系统的其他工具。这些工具可能是图形化工具或命令行工具,或者同时提供这两种界面。例如:

  • YaST (SUSE)
  • up2date (Red Hat)
  • Mandrake Software Management (Mandriva)

通常,这些工具以自动或半自动方式处理多个包更新。它们还可能提供显示存储库内容或搜索包的功能。更多信息参见发行版的文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

adb 最大连接_手机触屏失效的抢救办法,以及如何利用adb实现PC与手机交互

手机进水或者摔坏屏幕导致触屏失效的时候&#xff0c;一般情况下&#xff0c;要么选择换屏&#xff0c;要么选择把手机扔掉。但其实如果有一根OTG线&#xff0c;手机中的资料还可以安全备份出来&#xff0c;或者还可以再利用起来&#xff0c;发挥一下余热做点别的事。像上图一样…

proxy跨域不生效_前端开发:深入使用proxy代理解决跨域问题

在前端领域里面&#xff0c;跨域指的是浏览器允许向服务器发送跨域请求&#xff0c;进而克服Ajax只能同源使用的局限性限制。同源策略是一种约定&#xff0c;而且是浏览器中最基本也是最核心的安全功能&#xff0c;若缺少了该策略&#xff0c;浏览器非常容易被***&#xff1b;同…

java 静态缓存示例_Java 9 JShell示例:集合静态工厂方法

java 静态缓存示例这篇文章继续从My My Java 9 Features博客文章中探索Java9功能。 在这里&#xff0c;我们在List&#xff0c;Set和Map接口中试验Java9 Collections静态工厂方法。 集合静态工厂方法 Java9使用其新的静态工厂方法使创建不可变列表变得更加容易 有12种Set.of和…

mysql在计算机管理中的路径怎么修改_称重软件中的数据修改怎么知晓?

称重软件称重软件应客户需求&#xff0c;数据允许修改&#xff0c;但不允许删除只能作废。如果数据已修改&#xff0c;该如何知晓该数据是修改过的呢&#xff0c;这就用到了标记。用户修改数据时为保证数据的可追溯性&#xff0c;同样在数据安全方面也有相应的要求&#xff0c;…

pip安装mysql模块_使用pip安装mysql模块for python

我正在尝试使用pip安装mysql模块for python&#xff0c;但遇到了一个错误&#xff1a;mysqlclient.lib(typelib.obj) : error LNK2001: unresolved external symbol __iob_funcmysqlclient.lib(viosslfactories.obj) : error LNK2001: unresolved external symbol __iob_funcmy…

Linux 命令之 apt-get -- APT 软件包管理工具

文章目录 一、命令介绍二、语法格式三、相关文件及目录四、常用命令(一)下载、安装、升级和删除软件包(二)查询和检验软件包(三)执行其它功能五、常用选项(一)安装、升级和删除软件包(二)查询和检验软件包(三)执行其它功能六、参考示例(一)下载、安装、升级和删除…

spring health_为什么Spring的Health会再次向下,向下,向上,向上,向上和向下?...

spring health为什么 我们新JavaScript客户端应用程序会定期调用Grails后端的/health端点&#xff0c;以确定离线状态。 事情开始变得“​​有趣”。 我们免费获得该端点&#xff0c;因为Grails基于Spring Boot&#xff0c;而Spring Boot带有一个名为Spring Boot Actuator的子…

使用JDBC连接数据库(MySQL)的源代码

文章目录JDBC 访问数据库的步骤使用 JDBC 访问数据库的演示代码使用 PreparedStatement 对象查询插入更新删除使用 Statement 对象查询删除JDBC 访问数据库的步骤 将 jdbc 驱劢程序相关的 jar 包 copy 到 WEB-INF/lib 下在 servlet 代码当中&#xff0c;使用 jdbc 访问数据库&…

popupwindow 不抢夺焦点_央视专访“上个厕所就要3000块”的亲历者, 被“坑”的不愉快经历...

资讯 聚焦 活动 宣传 推广 品牌 热文 找小编合作加个人微信2871001801百度百科&#xff1a;宁河于雍正九年(1731年)从宝坻县分出,据《河北省县名考原》称:“蓟运河纵贯县境,时多水患,故县以宁河名”!当然还有另外别的解释!民国三年(1914年)属直隶省津海道,民国十七年(1928年…

gitlab10.x迁移_1.x到2.x的迁移:可观察与可观察:RxJava FAQ

gitlab10.x迁移标题不是错误。 rx.Observable 1.x的io.reactivex.Observable与2.x的io.reactivex.Observable完全不同。 盲目升级rx依赖关系并重命名项目中的所有导入将进行编译&#xff08;稍作更改&#xff09;&#xff0c;但不能保证相同的行为。 在项目的早期&#xff0c; …

ubuntu安装与配置mysql_ubuntu下mysql的安装与配置

安装MySQL sudo apt-get install mysql-server 这个应该很简单了&#xff0c;而且我觉得大家在安装方面也没什么太大题目&#xff0c;所以也就未几说了&#xff0c;下面我们来讲讲配置。 配置MySQL 留意&#xff0c;在Ubuntu下MySQL缺省是只安装MySQLsudo apt-get install mysq…

Servlet 处理多种请求应用

一个 Servlet 如何处理多种请求? 1.使用后缀匹配模式 2.在 service 方法中获取请求资源路径&#xff0c;分析资源路径来决定作何处理 示例代码如下&#xff1a; package priv.lwx.javaex.web_demo_02.web.servlet;import javax.servlet.http.HttpServlet; import javax.serv…

小程序搜索框_微信小程序搜索及优化相关知识科普

生活中我们常常会用到微信小程序&#xff0c;但很多人不知道该如何搜索、找到小程序&#xff1b;而有些已经做了自己的小程序的商家&#xff0c;也不懂怎么提升自己的微信小程序搜索效果。所以下面就跟大家科普下这两个问题。1.怎么搜索微信小程序打开微信&#xff0c;点击右上…

java 函数式编程 示例_功能Java示例 第1部分–从命令式到声明式

java 函数式编程 示例功能编程&#xff08;FP&#xff09;的目的是避免重新分配变量&#xff0c;避免可变的数据结构&#xff0c;避免状态并全程支持函数。 如果将功能性技术应用于日常Java代码&#xff0c;我们可以从FP中学到什么&#xff1f; 在这个名为“ Functional Java …

su联合推拉插件_[实习小记一一SU建模]

鉴于本菜鸡在实习阶段一直在SU建模&#xff0c;那就讲讲我在SU建模的心路历程吧。本菜鸡之前还是SU小白时(俗称白斩鸡&#xff0c;并且现在也很白)&#xff0c;只会死命地用推拉。来到公司初探SU,第一个高层建筑便花费我半个月的时间(我突然想起有一篇日记特别好笑我是个SU人&a…

Linux 命令之 tar 命令-打包和备份的归档工具(附压缩/解压工具)

文章目录一、命令介绍二、命令语法三、常用选项四、命令示例&#xff08;一&#xff09;对指定的目录进行打包&#xff08;即备份归档&#xff09;&#xff0c;不压缩&#xff08;二&#xff09;对指定目录下的内容&#xff08;不含目录本身&#xff09;进行打包&#xff08;即…

纹理和基元_通过粘性仙人掌基元进行延迟加载和缓存

纹理和基元您显然知道什么是延迟加载 &#xff0c;对吗&#xff1f; 而且您无疑知道缓存 。 据我所知&#xff0c;Java中没有一种优雅的方法来实现它们中的任何一个。 这是我在Cactoos原语的帮助下为自己找到的。 Matteo Garrone的《 Reality》&#xff08;2012年&#xff09;…

oracle 造数据脚本_Oracle数据库shell脚本--统计所有数据库用户信息及明细

概述今天主要分享一下两个shell脚本&#xff0c;主要是为了查看所有数据库用户及其表空间&#xff0c;统计某个指定用户的明细&#xff0c;下面一起来看看吧~数据库连接脚本use script settdb.sh for DB login details registry#!/bin/bashtmp_username$SH_USERNAMEtmp_passwor…

学维修电脑要多久_学厨师要多久才出师

学厨师一般要学多久&#xff1f;以苏州新东方学厨师为例&#xff1a;厨师培训可以分为长期、短期。中餐、西餐、西点长期专业学习时间1-3年不等&#xff1b;短期专业从7天到8个月不等&#xff0c;主要是按学习内容来划分&#xff0c;比如学苏式汤面&#xff0c;只需要半个月左右…

Linux 命令之 rpm -- RPM 软件包的管理工具

文章目录一、命令介绍二、语法结构三、常用选项用于查询和检查包用于安装、升级和删除包用于执行其他功能四、命令示例&#xff08;一&#xff09;查询和检查包1. 查看一个已安装包的信息&#xff08;版本、用途等&#xff09;2. 查看与指定程序相关的所有安装文件3. 查看一个已…