YUM在线升级功能

文章目录

  • YUM在线升级功能
    • 利用YUM进行查询、安装、升级与删除功能
      • 查询功能
        • 使用案例
      • 安装/升级功能
      • 删除功能
    • YUM的配置文件
    • 修改软件源产生的问题与解决之道
      • 使用案例
    • YUM的软件群组功能
      • 使用案例
    • 全系统自动升级
  • 管理的抉择:RPM还是Tarball
  • 基础服务案例:以APache为例

YUM在线升级功能

YUM是一款软件安装管理工具,它的作用是帮助用户自动处理软件安装、升级和删除时可能遇到的依赖属性问题。YUM能够通过分析软件包的标头数据,了解软件之间的相关性,然后制作出属性依赖的解决方案,以确保软件的安装、升级和删除不会出现问题。这样,用户就可以方便地管理各种软件,而无需手动解决依赖属性问题。

YUM虽然一款方便的软件安装管理工具,但要使用它的功能,需要找到适合YUM的服务器,也就是软件源。每个YUM服务器可能都提供许多不同的软件功能。CentOS已经制作出多个镜像站,提供给全世界的软件更新使用。因此,只要能够连接上互联网,理论上就能够使用YUM,不需要处理任何设置值。

利用YUM进行查询、安装、升级与删除功能

查询功能

yum [ list | search | providers | whatprovides ] 参数

如果想要使用 yum 来查询原版 Linux 发行版所提供的软件或已知某些软件的名称,想知道该软件的功能,可以利用 yum 相关的参数:

yum [option] [查询工作选项] [相关参数]
选项:
 [option] 主要的选项包括有:
 -y      :当yum要等待使用者输入时,这个选项可以自动提供 yes 的回应。
 --installroot=/some/path:将该软件安装在 /some/path 而不使用默认路径
 [查询工作选项] [相关参数] 这方面的参数有:
 search  :查找某个软件名称或是描述的重要关键字
 list    :列出目前 yum 所管理的所有的软件与版本,有点类似 rpm -qa
 info    :同上,不过有点类似rpm -qai的执行结果
 provides:从文件去查找软件,类似 rpm -qf 的功能

使用案例

查找磁盘整列(raid)相关的软件有哪些

[root@localhost ~]# yum search raid
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile    # 找出速度最快的那一台yum服务器
 * base: mirrors.aliyun.com                   # 下面三个软件源,且来源为该服务器
 * epel: mirrors.bfsu.edu.cn
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.jlu.edu.cn
=================================== N/S matched: raid ===================================
dmraid.i686 : dmraid (Device-mapper RAID tool and library)
dmraid.x86_64 : dmraid (Device-mapper RAID tool and library)
dmraid-devel.x86_64 : Development libraries and headers for dmraid.
dmraid-events-logwatch.x86_64 : dmraid logwatch-based email reporting
......
......
# 在冒号(:)左边的是软件名称,右边则是在 RPM内的name设置(软件名)

找出mdadm这个软件的功能是什么

[root@localhost ~]# yum info mdadm
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.bfsu.edu.cn
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.jlu.edu.cn
Available Packages
Name        : mdadm    #这个软件的名称
Arch        : x86_64   #这个软件的硬件架构
Version     : 4.1      #此软件的版本
Release     : 9.el7_9  #发布的版本
Size        : 439 k    #此软件的文件总容量
Repo        : updates/7/x86_64  #软件源的安装状态
Summary     : The mdadm program controls Linux md devices (software RAID arrays)
URL         : http://www.kernel.org/pub/linux/utils/raid/mdadm/
License     : GPLv2+
Description : The mdadm program is used to create, manage, and monitor Linux MD (software
            : RAID) devices.  As such, it provides similar functionality to the raidtools
            : package.  However, mdadm is a single program, and it can perform
            : almost all functions without a configuration file, though a configuration
            : file can be used to help with some common tasks.

列出YUM服务器上面提供的所有软件名称

[root@localhost ~]# yum list
....
.....
......
zziplib-devel.x86_64            0.13.62-12.el7                      base     
zziplib-utils.x86_64            0.13.62-12.el7                      base     
# 【软件名称  版本  在那个软件源内】

列出passwd这个命令的软件有哪些

[root@localhost ~]# yum provides passwd
....
....
passwd-0.79-6.el7.x86_64 : An utility for setting or changing passwords using PAM
Repo        : base

passwd-0.79-6.el7.x86_64 : An utility for setting or changing passwords using PAM
Repo        : @anaconda
# 就上面的软件提供了passwd这个命令

利用yum的功能,找出以pam为开头的软件有哪些?而其中尚未安装的又有哪些

[root@localhost ~]# yum list pam*
pam.x86_64          1.1.8-23.el7                         @base  
Available Packages      # 下面则是【可升级】或【未安装】的
pam.i686            1.1.8-23.el7                         base   
pam-devel.i686      1.1.8-23.el7                         base   
pam-devel.x86_64    1.1.8-23.el7                         base   
pam-kwallet.x86_64  5.5.2-1.el7                          epel 
.....
....

安装/升级功能

yum [option] [安装与升级的工作选项] [相关参数]
选项:
 install :后面接要安装的软件
 update  :后面接要升级的软件,若要整个系统都要升级,就直接 update 即可

将前一个练习找到的未安装的pam-devel 安装一下

[root@localhost ~]# yum install -y pam-devel
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                              | 6.8 kB  00:00:00     
 * base: mirrors.aliyun.com
 * epel: mirrors.bfsu.edu.cn
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.jlu.edu.cn
Resolving Dependencies   # 接下来先处理【属性依赖】的软件问题
--> Running transaction check
---> Package pam-devel.x86_64 0:1.1.8-23.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved
# 由上面的检查发现到pam整个软件也需要同步升级,这样才能够安装新版 pam-devel
# 至于下面则是一个总结的表格显示
=========================================================================================
 Package              Arch              Version                    Repository       Size
=========================================================================================
Installing:
 pam-devel            x86_64            1.1.8-23.el7               base            185 k

Transaction Summary
=========================================================================================
Install  1 Package         

Total download size: 185 k   
Installed size: 528 k      
Downloading packages:
pam-devel-1.1.8-23.el7.x86_64.rpm                                 | 185 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : pam-devel-1.1.8-23.el7.x86_64                                         1/1 
  Verifying  : pam-devel-1.1.8-23.el7.x86_64                                         1/1 

Installed:
  pam-devel.x86_64 0:1.1.8-23.el7                                                        

Complete!

删除功能

yum [remove] 软件

[root@localhost ~]# yum remove pam-devel
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Resolving Dependencies     # 先解决依赖性问题
--> Running transaction check
---> Package pam-devel.x86_64 0:1.1.8-23.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================
 Package              Arch              Version                   Repository        Size
=========================================================================================
Removing:
 pam-devel            x86_64            1.1.8-23.el7              @base            528 k

Transaction Summary
=========================================================================================
Remove  1 Package   # 没用依赖性问题只删除了一个软件

Installed size: 528 k
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : pam-devel-1.1.8-23.el7.x86_64                                         1/1 
  Verifying  : pam-devel-1.1.8-23.el7.x86_64                                         1/1 

Removed:
  pam-devel.x86_64 0:1.1.8-23.el7                                                        

Complete!

YUM的配置文件

虽然yum是你的主机能够连接上互联网就可以直接使用的,但是,由于CentOS的镜像站可能会选择到距离我们较远的地方,例如我们在云南,但是CentOS的镜像站选择到了北京,这样连接到北京的速度就会非常慢。为了解决这个问题,我们可以手动修改yum的配置文件,将镜像站设置为距离我们较近的地方,这样就可以加快软件下载和更新的速度。

开源镜像站

阿里云开源镜像站:https://mirrors.aliyun.com/

网易开源镜像站:https://mirrors.163.com/

中科大开源镜像站:https://mirrors.ustc.edu.cn/

清华开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/

如果你连接到了上述的网址后,就会发现里面有一堆链接,那些链接就是这个yum服务器所提供的软件源了。所以高速网络中心也提供了 centosplus、cloud、extras、fasttrack、os、updates等软件源,最好认的软件源就是 os(系统默认的软件)与updates(软件升级版本)

image-20230531210556003

在使用YUM安装软件时,最重要的是要找到软件源的地址,这样才能够下载需要的软件。而软件源中最重要的是repodata目录,这个目录中存放着分析RPM软件后所产生的软件属性依赖数据。也就是说,当你找到一个软件源地址时,一定要确保该地址下面有一个名为【repodata的目录】,这样才能够正确地使用YUM安装软件。

image-20230531210618277

现在让我来修改配置文件

[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Base.repo 
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

CentOS-Base.repo内容很多,仅列出base这个软件源内容而已,其他的软件源内容自行查看

  • [base]:代表软件源的名字,中括号一定要存在,里面的名称则可以随意取。但是不能有俩不能更改相同的软件源名称,否则yum会不知道该到哪里取找软件源相关的软件列表
  • name:只是说明一下这个软件源的意义而已,重要性不高
  • mirrorlist=:列出这个软件源可以使用的镜像站,如果不想使用,可以注释掉这行
  • baseurl:这个最重要,因为后面接的就是软件源的实际地址,mirrorlist是由YUM程序自行取识别镜像站,baseurl则是指定固定的一个软件源地址,我们刚刚找到的网址放到这里来(注意路径)
  • enable=1:就是让这个软件源被启用,如果不想启动可以使用enable=0
  • gpgcheck=1:还记得RPM数字签名吗?这就是指定是否需要查看RPM文件内的数字签名
  • gpgkey=:就是数字签名的公钥文件所在位置,使用默认值就可以。

了解完配置让我们修改整个文件内容吧,使用中科大镜像站的资源。修改方式仅列出base这个软件源而已,其他项目按照这个处理就行了

[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.ustc.edu.cn/centos/7.9.2009/os/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.ustc.edu.cn/centos/7.9.2009/updates/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.ustc.edu.cn/centos/7.9.2009/extras/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
# 默认情况下,软件源仅有这三个启用,所以这里仅修改这三个软件源的baseurl而已。

那么你肯定会说,配置的好麻烦什么的,有没有更简单的方法呢?有的,直接使用官方制作好的repo文件

使用 wget 下载,wget是一个网络下载工具

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#-O参数指定要将下载的文件输出至指定路径
#/etc/yum.repos.d/CentOS-Base.repo是指定输出路径
# https://mirrors.aliyun.com/repo/Centos-7.repo是要下载的文件的URL地址。
# 执行该命令后,系统将会使用阿里云提供的软件仓库来更新和安装软件包

接下来就是测试一下这些软件源是否正常运行

[root@localhost ~]# yum repolist all

image-20230531213010593

上面最右边写enabled才是有启用的,由于/etc/yum.repos.d/ 有多个配置文件,所以你会发现还有其他的软件源存在

修改软件源产生的问题与解决之道

如果我们想要修改YUM的配置文件,让它使用特定的镜像站而不是其他软件开发商提供的软件源,我们需要在/etc/yum.repos.d/目录下创建一个.repo的文件,这是一个特定的配置文件格式。但是需要注意的是,不同的软件源可能会有新旧版本之分,YUM会在本地/var/cache/yum目录中下载软件源的列表。如果我们修改了镜像站的网址却没有修改软件源名称(中括号内的文件),就可能导致本地的列表与YUM服务器的列表不同步,从而无法更新软件。解决方法很简单,只需要清除本地的旧数据即可。

yum clean [ packages | headers |all ]
选项:
packages:将已下载的安装文件删除
headers :将下载的安装文件头删除
all     :将所有软件源数据都删除

使用案例

删除已下载过的所有软件源的相关数据(含软件本身与清单)

[root@localhost ~]# yum clean all

YUM的软件群组功能

通过yum来在线安装一个软件是非常简单的,但是,如果要安装的是一个大型软件?举例来说,我使用默认安装的方式安装了测试机,这台主机只有GNOME这个窗口管理器。那么我如果想要安装KDE?难道要重新安装?当然不需要,通过yum的软件群组功能即可

yum [群组功能] [软件群组]
选项:
 grouplist   :列出所有可使用的【软件群组组】,例如 Development Tools之类
 groupinfo   :后面接group name,则可了解该group内含的所有软件名
 groupinstall:这个很好用,可以按照一整组的软件群组,相当的不错

使用案例

查看目前软件源与本机上面的可用与安装过的软件群组有哪些

[root@localhost ~]# yum grouplist
Available Environment Groups:   #还可以安装的系统环境软件群组
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Cinnamon Desktop
   MATE Desktop
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:               # 还能额外安装的软件群组
   Cinnamon
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Educational Software
   Electronic Lab
   Fedora Packager
   General Purpose Desktop
   Graphical Administration Tools
   Haskell
   LXQt Desktop
   Legacy UNIX Compatibility
   MATE
   Milkymist
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
   TurboGears application framework
   Xfce
Done

系统上的软件大多是以群组的方式来提供安装的,就像一个套餐一样,包含了很多相关的软件,这些软件一起工作可以完成一些特定的功能。比如,GNOME、KDE、X Windows等,这些名称其实就是软件群组的名称,包含了一系列相关的软件,安装了这些软件群组后,就可以使用这些软件来完成一些特定的功能。在安装CentOS时,我们可以选择需要安装的软件群组,也可以选择单个软件进行安装。如果你执行上述的命令之后,在【Available Groups】下面应该会看到一个【Scientific Support】的软件群组,可以使用如下命令查看详细内容

[root@localhost ~]# yum groupinfo "Scientific Support"
Group: Scientific Support
 Group-Id: scientific
 Description: Tools for mathematical and scientific computations, and parallel computing.  # 这句话的意思是用于数学和科学计算以及并行计算的工具。
 Optional Packages:
   Macaulay2
   atlas
   fftw
   fftw-devel
   fftw-static
   gnuplot
   gromacs
   gromacs-mpi
   gsl-devel
   hdf
   hdf5
   jmol
   lapack
   maxima
   .....
   .....
   .....

我们来安装看看

[root@localhost ~]# yum groupinstall "Scientific Support"

Scientific Support 里面的软件都是【可选择的】,而不是【主要的(mandatory)】,因此默认情况下,上面这些软件通通不会帮你安装。如果你想要安装上述软件,可以使用 【yum install fftw】 一个一个安装,如果你想要让groupinstall 默认安装好所有的optional软件?那么就得要修改配置文件,更改groupinstall 选择的软件选项即可,如下所示

distroverpkg=centos-release     # 找到这一行添加如下内容
group_package_types=default,mandatory,optional
# default:表示安装软件包群组时,同时安装默认类型的软件包;
# mandatory:表示安装软件包群组时,同时安装必须的软件包,如果不安装这些软件包,软件包群组将无法正常工作;
# optional:表示安装软件包群组时,同时安装可选的软件包,这些软件包并不是必须的,但是可以提供额外的功能。

通过设置group_package_types=default,mandatory,optional,yum在安装软件包群组时将同时安装默认类型、必须类型和可选类型的软件包,这样可以确保软件包群组能够正常工作,并且提供额外的功能。

然后再次执行安装命令/

[root@localhost ~]# yum groupinstall "Scientific Support"
# 你就会发现有一大堆软件的安装。

全系统自动升级

我们可以手动选择是否需要升级,那能不能让系统自动升级,让我们的系统随时保持在最新的状态呢?可以,通过【yum update -y】来自动升级,然后再通过 crontab 的功能来处理即可。

假设我每天在 3:00am 网络带宽比较好的适合进行升级

# 使用命令crontab -e打开定时任务编辑器。在编辑器中添加如下行
0 3 * * * /usr/bin/yum update -y
# 表示在每天的凌晨3:00执行yum update -y命令进行自动升级操作。 

通过以上设置,系统会在每天凌晨3:00自动执行yum update -y命令进行自动升级操作

管理的抉择:RPM还是Tarball

如果我要升级或是全新安装一个新的软件,那么该选择RPM还是Tarball来安装?

优先选择原厂的RPM功能

在Linux系统中,软件的管理通常使用RPM(Red Hat Package Manager)来进行。RPM是一种软件包管理器,可以方便地安装、升级和卸载软件。此外,RPM还具有安全性较高的特点,因为它提供数字签名和验证功能,可以保证软件的安全性。

通过使用RPM,可以实现自动升级和维护软件,而且原厂会持续维护软件更新,因此系统可以保持在最新的状态,提高了系统的安全性。此外,使用RPM还可以方便地查询和验证软件包,使软件管理变得更加轻松和自在。

例如,RHEL和Centos每个版本都至少提供五年以上的维护期,这意味着这些系统的软件会持续得到更新和维护,能够保证系统的稳定性和安全性。同时,yum作为RPM的一个工具,也可以自动升级软件包,提高了系统的安全性和稳定性。

因此,在Linux系统中,使用RPM来管理软件是首选的方式,因为它具有安全性高、易于管理和维护等优点,能够保证系统的稳定性和安全性。

选择软件官网发布的RPM或是提供的软件源地址

虽然原厂提供了很多软件和更新,但是并不可能包含所有的软件和功能。举例来说,CentOS并没有提供NTFS相关的驱动模块。如果需要安装这些特殊的软件,就需要自行寻找软件源并进行安装。

可以通过到官网上查找是否有提供相关的RPM文件来安装特殊软件。如果软件源网址已经提供,可以通过下载该软件源的YUM配置文件,将其加入到系统中,就能够方便地自动安装和升级该软件。

因此,在使用RPM来管理软件时,也需要注意到原厂提供的软件并不是万能的,可能会有一些特殊的软件需要自行寻找软件源来进行安装。

使用Tarball安装特殊软件

某些特殊用途的软件,可能并没有提供RPM文件来进行安装。虽然可以制作SRPM来转成RPM进行安装,但是对于只有一台主机的情况,这样做并没有什么实际意义。

如果要管理相同的多台主机,制作RPM文件就会变得很有价值,因为可以方便地在多台主机上进行安装和升级。但是如果只是单机版的特殊软件,例如学术网络常用的MPICH、PVM等并行计算函数库,建议使用Tarball进行安装即可,不需要特别去查找RPM进行安装。

因此,在使用RPM来管理软件时,也需要注意到对于某些特殊用途的软件,可能并没有提供RPM文件来进行安装。在这种情况下,可以使用Tarball等方式进行安装,而不必特别去制作RPM文件。

使用Tarball测试新版软件

有时候我们需要使用新版的某些软件,但是原厂仅提供旧版软件。在这种情况下,可以使用Tarball安装新软件到 /usr/local/ 目录下面,这样就能够同时安装两个版本的软件在系统上了。大多数软件安装多个版本时不会相互干扰,可以用来测试新软件。

不过,在使用多个版本的软件时,需要注意使用的命令是新版软件还是旧版软件。可以通过在命令前加上完整的路径来指定使用哪个版本的软件,例如 /usr/local/bin/xxx。也可以通过修改环境变量来设置默认使用哪个版本的软件。

需要注意的是,使用新版软件可能会产生问题,因此在安装新版软件之前应该备份原有的软件,以便需要回到原有软件时可以恢复。

总结

RPM和Tarball各有各的优缺点,需要根据具体情况选择合适的方式进行安装。

对于已经提供RPM文件的软件,使用RPM进行安装可以方便地管理和升级软件。而且RPM可以解决依赖性问题,可以自动安装相关的依赖软件包。因此,如果有RPM文件的话,优先考虑使用RPM进行安装。

但是对于某些软件,可能没有提供RPM文件,或者软件的架构差异性太大,或者无法解决依赖属性问题,使用Tarball进行安装可能更为方便。通过使用Tarball安装,可以避免依赖性问题,同时也可以方便地安装新版本的软件。

因此,在选择使用RPM还是Tarball进行软件安装时,需要根据具体情况进行选择,权衡各自的优缺点,选择最合适的方式进行安装。

基础服务案例:以APache为例

在默认的情况下,你无需修改服务的配置文件,都通过系统默认值来处理你的服务即可。有个江湖默认口诀你可以将他背下来,这样你在处理服务的时候就不会窘迫了

  1. 安装:yum install (你的软件)
  2. 启动:systemctl start (你的软件)
  3. 开机启动:systemctl enable (你的软件)
  4. 防火墙:firewall-cmd --add-service="(你的服务)";firewall-cmd --permanent --add-service="(你得服务)"
  5. 测试:用软件查看你得服务正常与否

下面让我们来做一下实验

  1. 安装所需的软件
[root@localhost ~]# yum install -y httpd php mariadb-server php-mysql
  1. 启动与开机启动,这两个步骤记得一定要进行
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2023-06-01 14:40:15 CST; 10s ago
     Docs: man:httpd(8)
  1. 防火墙
[root@localhost ~]# firewall-cmd --add-service="http"
success
[root@localhost ~]# firewall-cmd --permanent --add-service="http"
success
[root@localhost ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens34
  sources: 
  services: dhcpv6-client http ssh      #这个启动才是重点
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
  1. 测试

在最后的测试中,进入浏览器中,在网址输入自己的IP地址就会出现如下界面,那就代表成功了。你的Linux已经是Web服务器了

image-20230601144455399

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学生成绩管理系统

基于springboot vue实现的学生成绩管理系统 主要模块: 1)学生模块:我的成绩、成绩统计、申述管理、修改密码 2)教师模块:任务管理、对学生班级任务安排、班级学生的成绩查看、申述管理 3)管理员模块&…

应用运维的三个项目

应用运维 目录概述需求: 设计思路实现思路分析1.开发和运维2.比重3.历史项目4.工作内容5.历程 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,…

南山城市更新--向南村(一期,二期)项目详情

向南村(一期)城市更新单元项目简介 项目于2010年被列入《深圳城市更新单元规划制定计划第一批计划》中,申报主体为向南实业股份有限公司,后与恒大合作开发。 项目位于南山区桂庙路南侧,毗邻前海、衔接后海&am…

javaWeb ssh小提琴管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh小提琴管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S 模式开发。开发环境为TOMCAT7.0,…

TypeScript实现贪吃蛇游戏

TS实现贪吃蛇游戏 文章目录 TS实现贪吃蛇游戏[toc]1.项目效果2.项目梳理3.项目准备4.主体页面结构5.CSS样式6.TS逻辑6.1 食物逻辑6.2 蛇逻辑6.3 记分板逻辑6.4 游戏控制器逻辑6.5 程序入口ts 1.项目效果 项目体验 2.项目梳理 这个小游戏主要包括积分面板,食物&…

【Spring】— 映射文件

目录 映射文件select元素insert元素update元素和delete元素sql元素resultMap元素 映射文件 映射文件是MyBatis框架中十分重要的文件。在映射文件中&#xff0c;<mapper>元素是映射文件的根元素&#xff0c;其他元素都是它的子元素。映射文件中的主要元素如下所示。 <…

【owt】WebrtcNode, subscribe-sdp offer 流程(1)

sdp offer 流程 1. AmqpClient - New message received sdp offer 的消息 2023-04-26T21:54:19.790 - DEBUG: AmqpClient - RpcServer New message received {method: onTransportSignaling,args: [b149e44bb10d4e91bd162a8c6806ae7b,{sdp: v0\r\n o- 7177131362423164715 …

生活-考驾照2

昨日已通过科目一&#xff0c;接下来&#xff0c;向着科目二出发&#xff01;&#xff01;&#xff01; 考试注意事项 就考前一周死命刷题&#xff0c;至少一天有三次93以上的记录&#xff0c;我也就最后一天达到90&#xff0c;之前一直马路杀手刷题&#xff0c;我就在网页版…

WRF模式应用:天气预报、模拟分析观测气温、降水、风场、水汽和湿度、土地利用变化、土壤及近地层能量水分通量、土壤、水体、植被等相关气象变量

查看原文>>>高精度气象模拟软件WRF(Weather Research Forecasting)技术及案例应用 气候是多个领域&#xff08;生态、水资源、风资源及碳中和等问题&#xff09;的主要驱动因素&#xff0c;合理认知气候变化有利于解释生态环境变化机理及过程&#xff0c;而了解现在、…

Alibaba Arthas学习与使用

Alibaba Arthas学习与使用 目录 下载安装卸载退出快捷键重点部分: 命令 dashboardthreadjvmsyspropsysenvvmoptiongetstaticognlscsmjadmcredefinedumpclassloadermonitorwatchtracestackttoptionsprofiler 下载安装 # 下载 curl -O https://alibaba.github.io/arthas/art…

如何在多个端口上运行 SSH 服务器?

SSH&#xff08;Secure Shell&#xff09;是一种用于安全远程访问和管理服务器的协议。默认情况下&#xff0c;SSH服务器在Linux系统上使用22号端口进行通信。但是&#xff0c;有时我们可能需要在多个端口上运行SSH服务器&#xff0c;以满足特定的需求或增强服务器的安全性。 本…

SQL审核工具Yearning搭建及使用

一、背景 实际的业务场景中&#xff0c;我们难免会直接对生产库的数据进行修改。很多朋友都是发sql给运维&#xff0c;然后运维执行。过程不可控&#xff0c;出错几率很大。 而且没有审核&#xff0c;不知道提交的具体是什么sql&#xff0c;极有可能是删库跑路的sql&#xff0…

实验二十一、积分运算电路的输出波形分析

一、题目 利用 Multisim 分析图1所示两个积分运算电路的输出波形&#xff0c;输入电压为 200 Hz、幅值为 1 V 的方波信号。 图 1 图1\,\, 图1 二、仿真电路 在 Multism 中搭建图1所示的两个电路&#xff0c;如图2所示。为了防止电路中的直流增益过大&#xff0c;故在电容上…

【Python FTP/SFTP】零基础也能轻松掌握的学习路线与参考资料

一、Python FTP/SFTP的学习路线 Python FTP/SFTP是Python语言的两种常用的文件传输协议。在学习Python网络编程过程中&#xff0c;学习FTP/SFTP是非常重要的一步。下面给出Python FTP/SFTP的学习路线&#xff1a; 了解FTP/SFTP协议 在开始学习Python FTP/SFTP之前&#xff0…

【六一】【海思SS528】GPIO寄存器操作 - 使能GPIO管脚输出高、低电平

目录 一、概述二、配置复用控制寄存器&#xff0c;使能GPIO功能三、配置GPIO_DIR寄存器&#xff0c;选择输出四、配置GPIO_DATA寄存器&#xff0c;输出高电平五、测试 一、概述 这篇文章根据海思SS528芯片提供的《22AP30 H.265编解码处理器用户指南.pdf》文档(文档路径&#xf…

TPO69 01|Why Snakes Have Forked Tongues P5P6|阅读真题精读|17:50~19:35

17:00&#xff5e;17:50 吃饭 目录 P56 生词 段落大意 P5段落大意 P6段落大意 题目 【5】事实信息题|定位准确非常重要✅ 【6】事实信息题|定位准确非常重要✅ 【7】推理题|文章是否提及|不要过度推理 【8】修辞目的题|举例一般为了说明✅ 【9】句子插入题|in other words|同义…

读数据压缩入门笔记01_数据压缩导读

1. 建立在数据压缩上的世界 1.1. 数据压缩技术最让人惊异之处在于&#xff0c;它与过去40年里个人计算的很多重大改变有关&#xff0c;但很少有人知道这一点 1.2. 我们当下生活在其中的这个计算世界&#xff0c;完全建立在数据压缩算法之上 1.3. 图像的压缩 1.3.1. 1978年 …

Matcher: Segment Anything with One Shot Using All-Purpose Feature Matching 论文精读

Matcher: Segment Anything with One Shot Using All-Purpose Feature Matching 论文链接&#xff1a;[2305.13310] Matcher: Segment Anything with One Shot Using All-Purpose Feature Matching (arxiv.org) 代码链接&#xff1a;aim-uofa/Matcher: Matcher: Segment Anyt…

图的邻接矩阵表示

设图有n个顶点&#xff0c;则邻接矩阵是一个n*n的方阵&#xff1b;若2个顶点之间有边&#xff0c;则方阵对应位置的值为1&#xff0c;否则为0&#xff1b; 看几个例子&#xff1b; 此图的邻接矩阵是 0 1 1 1 1 0 1 0 1 1 0 1 1 0…

计算机网络基础知识(七)—— 什么是HTTPS协议?你听我“瞎掰”

文章目录 01 | 工作原理02 | SSL/TLS协议2.1 | 握手协议2.2 | 更换密码协议&#xff08;Change Cipher Spec Protocol&#xff09;2.3 | 警告协议&#xff08;Alert Protocol&#xff09;2.4 | 应用数据协议&#xff08;Application Data Protocol&#xff09; 03 | 加密算法3.…