RHCE8 资料整理(六)

RHCE8 资料整理

  • 第 6 篇 软件管理
    • 第 23 章 用rpm管理软件
      • 23.1 rpm查询
      • 23.2 rpm卸载
      • 23.3 软件包升级
      • 23.4 rpm验证
    • 第 24 章 用yum/dnf管理软件包
      • 24.1 yum架构介绍
      • 24.2 用光盘搭建yum源
      • 24.3 创建私有仓库
      • 24.4 yum客户端配置
      • 24.5 yum基本使用
        • 24.5.1 查询
        • 24.5.2 安装与卸载
        • 24.5.3 下载
        • 24.5.4 查询缺失命令
      • 24.6 组的使用
      • 24.7 使用第三方yum源

第 6 篇 软件管理

第 23 章 用rpm管理软件

详细查看 https://blog.csdn.net/u010230019/article/details/130016072

rpm全称是redhat package manager,后来改成rpm package manager,这是根据源码包编译出来的包。以vsftpd-3.0.3-33.el8.x86_64.rpm为例,各字段的含义:

  1. vsftpd 包的名称
  2. 3.0.3 版本,即version
  3. 33.el8 小版本号,即release,el8指适用于RHEL8系统
  4. x86_64 指架构,是32位还是64位

rpm安装命令是rpm -ivh 安装包

rpm安装时已经指定了安装路径,如下:

[root@node-138 docker]# rpm2cpio docker-1.13.1-205.git7d71120.el7.centos.x86_64.rpm |cpio -id	#解压rpm包
130330 blocks
[root@node-138 docker]# tree
.
├── docker-1.13.1-205.git7d71120.el7.centos.x86_64.rpm
├── etc
│   ├── docker
│   │   ├── certs.d
│   │   │   ├── redhat.com
│   │   │   │   └── redhat-ca.crt -> /etc/rhsm/ca/redhat-uep.pem
│   │   │   ├── redhat.io
│   │   │   │   └── redhat-ca.crt -> /etc/rhsm/ca/redhat-uep.pem
│   │   │   └── registry.access.redhat.com
│   │   │       └── redhat-ca.crt -> /etc/rhsm/ca/redhat-uep.pem
│   │   ├── daemon.json
│   │   └── seccomp.json
│   └── sysconfig
│       ├── docker-network
│       └── docker-storage
├── usr
│   ├── bin
│   │   ├── docker-containerd-current
│   │   ├── docker-containerd-shim-current
│   │   ├── docker-ctr-current
│   │   ├── dockerd-current
│   │   └── docker-storage-setup -> /usr/bin/container-storage-setup
│   ├── lib
│   │   ├── systemd
│   │   │   └── system
│   │   │       ├── docker-cleanup.service
│   │   │       ├── docker-cleanup.timer
│   │   │       ├── docker.service
│   │   │       └── docker-storage-setup.service
│   │   └── udev
│   │       └── rules.d
│   │           └── 80-docker.rules
│   ├── libexec
│   │   └── docker
│   │       ├── docker-init-current
│   │       ├── docker-proxy-current
│   │       └── docker-runc-current
│   └── share
│       ├── bash-completion
│       │   └── completions
│       │       └── docker
│       ├── doc
│       │   └── docker-1.13.1
│       │       ├── AUTHORS
│       │       ├── CHANGELOG.md
│       │       ├── CONTRIBUTING.md
│       │       ├── MAINTAINERS
│       │       ├── NOTICE
│       │       ├── README.md
│       │       └── README-vim-syntax.md
│       ├── fish
│       │   └── vendor_completions.d
│       │       └── docker.fish
│       ├── licenses
│       │   └── docker-1.13.1
│       │       ├── LICENSE
│       │       └── LICENSE-vim-syntax
│       ├── man
│       │   ├── man1
...
│       │   │   └── docker-wait.1.gz
│       │   ├── man5
│       │   │   ├── docker-config-json.5.gz
│       │   │   └── Dockerfile.5.gz
│       │   └── man8
│       │       └── dockerd.8.gz
│       ├── vim
│       │   └── vimfiles
│       │       ├── doc
│       │       │   └── dockerfile.txt
│       │       ├── ftdetect
│       │       │   └── dockerfile.vim
│       │       └── syntax
│       │           └── dockerfile.vim
│       └── zsh
│           └── site-functions
│               └── _docker
└── var
    └── lib
        └── docker

39 directories, 87 files

可以看到,我们安装rpm包时,它会把包中的内容安装这个结构拷贝到系统,所以安装的路径都是安排好的。

23.1 rpm查询

如果需要查询已经安装过的软件包的信息,rpm第一个选项需要使用-q,表示查询的意思,查询所有安装使用rpm -qa

查询已安装的某个软件版本,如下:

[root@node-138 docker]# rpm -qa  vsftpd
vsftpd-3.0.2-29.el7_9.x86_64
#或
[root@node-138 docker]# rpm -qa|grep vsftpd
vsftpd-3.0.2-29.el7_9.x86_64

查询安装某个软件之后所生成的文件rpm -ql 包名,如下

[root@node-138 docker]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/lib/systemd/system-generators/vsftpd-generator
/usr/lib/systemd/system/vsftpd.service
/usr/lib/systemd/system/vsftpd.target
/usr/lib/systemd/system/vsftpd@.service
/usr/sbin/vsftpd
...

这样就可以看到软件安装位置。

查询软件包生成的配置文件rpm -qc 包名,如下:

[root@node-138 docker]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

查询包的信息用rpm -qi 包名,如下:

[root@node-138 docker]# rpm -qi vsftpd
Name        : vsftpd
Version     : 3.0.2
Release     : 29.el7_9
Architecture: x86_64
Install Date: Thu 17 Aug 2023 09:10:25 AM CST
Group       : System Environment/Daemons
Size        : 361349
License     : GPLv2 with exceptions
Signature   : RSA/SHA256, Fri 11 Jun 2021 11:06:15 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : vsftpd-3.0.2-29.el7_9.src.rpm
Build Date  : Thu 10 Jun 2021 12:15:50 AM CST
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : https://security.appspot.com/vsftpd.html
Summary     : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.

查询某个文件由哪个软件包生成的用rpm -qf /path/file,如下

[root@node-138 docker]# rpm -qf /usr/sbin/vsftpd
vsftpd-3.0.2-29.el7_9.x86_64
[root@node-138 docker]# rpm -qf /etc/shadow
setup-2.8.71-11.el7.noarch

可以看到shadow使用setup这个包生成的

以上是对已安装的软件包进行查询,如果要查询未安装的软件包,则需要加上-p,如下:

[root@node-138 docker]# rpm -qcp docker-1.13.1-205.git7d71120.el7.centos.x86_64.rpm
/etc/docker/daemon.json
/etc/docker/seccomp.json
/etc/sysconfig/docker-network
/etc/sysconfig/docker-storage

23.2 rpm卸载

卸载软件包用rpm -e 软件名,如下

[root@node-138 docker]# rpm -e vsftpd
warning: /etc/pam.d/vsftpd saved as /etc/pam.d/vsftpd.rpmsave
[root@node-138 docker]# rpm -qa vsftpd

强制安装,场景:如果提示软件已经安装过了,无法再次安装,或者某个配置文件被误删,此时可以加上--force选项强制安装

rpm -ivh docker-1.13.1-205.git7d71120.el7.centos.x86_64.rpm --force

此时会重新生成被误删的文件,但其他文件即使做了修改也不会被覆盖替换

23.3 软件包升级

所谓升级或更新,即卸载旧版本软件,然后安装新版本软件包。如果安装路径不同,则可以共存,如果相同则会冲突,此时可以使用rpm -Uvh 软件包进行更新,如:

rpm -Uvh docker-1.13.1-205.git7d71120.el7.centos.x86_64.rpm 

对于内核来说,不同的版本安装路径是不一样的,所以可同时安装多个版本而不会产生冲突。所以更新内核建议使用rpm -ivh而不是rpm -Uvh。因为rpm -Uvh会卸载旧版本内核,如果新版本内核有问题则无法进入系统。

23.4 rpm验证

当我们安装一个软件包之后会产生许多文件,想要判断这些文件是否被修改过,可以使用rpm -V命令,如

[root@node-138 docker]# rpm -V docker
S.5....T.  c /etc/sysconfig/docker-storage
[root@node-138 docker]# rpm -V openssh
[root@node-138 docker]# rpm -qc openssh
/etc/ssh/moduli

可以看到/etc/sysconfig/docker-storage被修改过

  • S 指size大小
  • 5 指MD5值
  • T 指时间
  • c 指此文件是docker的配置文件

可以看到/etc/sysconfig/docker-storage被修改过,我们再修改openssh的配置文件,例如

[root@node-138 docker]# touch /etc/ssh/moduli
[root@node-138 docker]# rpm -V openssh
.......T.  c /etc/ssh/moduli

可以看到/etc/ssh/moduli的时间发生了变化

红帽发行的每一个数据包都对他做了数字签名,以证明该包是红帽官方的,需要再本机用红帽密钥来验证。首先检查本机是否安装了红帽的密钥,命令如下:

[root@node-138 docker]# rpm -qa |grep pubkey
gpg-pubkey-dc6315a3-6091b7b3
gpg-pubkey-621e9f35-58adea78
gpg-pubkey-3e1ba8d5-558ab6a8
gpg-pubkey-352c64e5-52ae6884
gpg-pubkey-b6792c39-53c4fbdd
gpg-pubkey-f4a80eb5-53a7ff4b
gpg-pubkey-a621e701-63bdbc3d

如果没有安装,则需要手动导入,如:

[root@server opt]# rpm -qa |grep pubkey
[root@server opt]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@server opt]# rpm -qa |grep pubkey
gpg-pubkey-fd431d51-4ae0493b
gpg-pubkey-5a6340b3-6229229e

验证是否为红帽发布的包,即是否是红帽的数字签名,如下:

[root@server opt]# rpm -K dnf-4.14.0-2.fc38.noarch.rpm
dnf-4.14.0-2.fc38.noarch.rpm: digests SIGNATURES NOT OK

第 24 章 用yum/dnf管理软件包

使用rpm安装软件包时经常会遇到一个问题就是 包依赖,所谓的包依赖就是在安装A时必须把B和C安装上去,如果用rpm一个个安装是非常困难的,这里就可以使用yum或dnf来解决。yum其实是软连接到dnf命令上的,所以输入dnf或yum都可以。

[root@server opt]# ll /usr/bin/yum
lrwxrwxrwx. 1 root root 5 Jan 19  2023 /usr/bin/yum -> dnf-3

REHL8/Centos8以前版本,yum是单独的命令

[root@node-138 docker]# uname -r
3.10.0-1160.92.1.el7.x86_64
[root@node-138 docker]# ll /usr/bin/yum
-rwxr-xr-x. 1 root root 801 Oct  2  2020 /usr/bin/yum

24.1 yum架构介绍

在这里插入图片描述
在yum服务器上的某个目录中存储了大量的软件包,然后通过ftp或http把这些目录进行共享,使得客户端可以通过ftp或http能够访问到这些目录。

如果按照软A,而A依赖B、C、X,而指定的yum服务器只有B、C,则需要额外指定X的源,否则会按照失败

24.2 用光盘搭建yum源

假设光盘中已经包含了最常用的软件包,就需要把关盘的内容作为源,使用vsftpd将光盘内容共享。

修改vsftp的配置文件/etc/vsftpd/vsftpd.conf中的annoymous_enable选项,如下

annoymous_enable=YES
...
pasv_min_port=10010
pasv_max_port=10020

vsftp的被动模式端口区间

启动vsftpd,并设置防火墙

firewall-cmd --add-port=20-21/tcp --permanent
firewall-cmd --add-port=10010-10020/tcp --permanent
firewall-cmd --reload

设置SELinux相关的布尔值,命令如下

setsebool -P ftpd_full_access 1

创建挂载目录

mkdir /var/ftp/dvd
mount /dev/cdrom /var/ftp/dvd

可修改/etc/fstab进行持久化和自动挂载

此时客户端不能直接把此目录作为源使用,因为服务器需要配置每个包和其他包之间的依赖关系,系统会把某个目录中的rpm包的元数据信息放在repodata目录中。但是在/var/ftp/dvd中并没有repodata目录,一般dvd光盘中都会有AppStreamBaseOS目录,其内包含了repodata各自的rpm信息。

所以当前服务器的源,分别是/var/ftp/dvd/AppStream/var/ftp/dvd/BaseOS,客户端可以通过ftp://192.168.20.101/dvd/AppStreamftp://192.168.20.101/dvd/BaseOS进行访问

24.3 创建私有仓库

我们把光盘源挂载到/mnt目录上,并设置自动挂载,这样访问访问/mnt就是访问光盘了,创建/etc/yum.repos.d/aa.repo,内容如下:

cat /etc/yum.repos.d/aa.repo
[aa]
name=aa
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0

这里的file:///包含3个/,其中前两个类似于http://这样的通用写法,而第三个/表示绝对路径

可以通过createrepo工具生成repodata,例如

createrepo -v /var/ftp/myrepo/

就会在myrepo目录中生成repodata,里面包含了myrepo中所有的rpm包的信息,那么/var/ftp/myrepo也可作为一个源使用

24.4 yum客户端配置

客户端要安装软件包必须指定使用哪些源,指定源的方法是在目录/etc/yum.repos.d/创建后缀为repo的文件[必须为repo为后缀],本地配置格式如下:

[名称] --- 用于标注不同的源
name=  --- 注释信息
baseurl= ---指定源的URL地址
enabled= --用于指定是否启用这个源,值为0或1 enabled也可写为enable
					0---不使用此源
					1---使用
gpgcheck= --用于指定安装的软件是否进行数字签名验证,值为0或1
					0---不验证
					1---验证
gpgkey=/path/ 如果上面设置gpgcheck=1,则需要使用此选项的公钥

例如:

[centos-kernel]
name=CentOS LTS Kernels for $basearch
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=kernel&infra=$infra
#baseurl=http://mirror.centos.org/altarch/7/kernel/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

24.5 yum基本使用

查询当前使用的源,使用yum repolist

[root@server opt]# yum repolist
Updating Subscription Management repositories.
...
repo id                                          repo name
AppStream                                        CentOS-8.5.2111 - AppStream - mirrors.aliyun.com
BaseOS                                           BaseOS
aa                                               aa
base                                             CentOS-8.5.2111 - Base - mirrors.aliyun.com
extras                                           CentOS-8.5.2111 - Extras - mirrors.aliyun.com

当源内容发生变化,使用yum clean all清空缓存

yum clean all

重建缓存,使用yum makecache

yum makecache
24.5.1 查询

查询yum源是否存在某个包,可以使用yum search 或 yum list,例如

[root@node-138 docker]# yum search lrzsz
...
========================================================== N/S matched: lrzsz ==========================================================
lrzsz-debuginfo.x86_64 : Debug information for package lrzsz
lrzsz.x86_64 : The lrz and lsz modem communications programs

  Name and summary matches only, use "search all" for everything.
[root@node-138 docker]# yum list lrzsz
...
Available Packages
lrzsz.x86_64                                                     0.12.20-36.el7                                                     base

yum search是通过包名查找是否包含lrzsz,如果输入yum search lrzs也可以找到,也就是后面可以是不完整的包名,但yum list不可以,必须是完整的包名,否则查询不到

[root@node-138 docker]# yum list lrzs
...
Error: No matching Packages to list

yum search无法判断包是否已安装,但是通过yum list则可以,如下:

[root@node-138 docker]# yum list lrzsz
Loaded plugins: auto-update-debuginfo, fastestmirror, product-id, search-disabled-repos
Loading mirror speeds from cached hostfile
 * base: mirrors.jlu.edu.cn
 * epel: mirrors.bfsu.edu.cn
 * epel-debuginfo: mirrors.bfsu.edu.cn
 * extras: mirrors.jlu.edu.cn
 * updates: mirrors.bfsu.edu.cn
Installed Packages
lrzsz.x86_64                                                    0.12.20-36.el7                                                     @base

当我们安装完该软件后,再使用yum list查询的时候,提示信息从Available Packages变成了Installed Packages

24.5.2 安装与卸载

安装软件使用yum install [-y] 包名-y表示在安装过程中确定信息yes

卸载软件包用yum remove [-y] 包名

更新软件包,使用yum update [-y] 包名

yum install -y lrzsz
yum update -y lrzsz
yum remove -y lrzsz
24.5.3 下载

使用yum安装软件时,可以只下载包到本地缓存而不安装,格式

[root@node-138 docker]# yum install -y httpd --downloadonly --downloaddir ./
...
Total                                                                                                   5.7 MB/s | 2.7 MB  00:00:00
exiting because "Download Only" specified
[root@node-138 docker]# ll
...
-rw-r--r-- 1 root root  2849200 May 30 23:15 httpd-2.4.6-99.el7.centos.1.x86_64.rpm

该命令会把httpd及其依赖包全部下载

24.5.4 查询缺失命令

命令不同于包名,当我们执行某个命令却发现没有时,可以通过yum whatprovides */conmand进行查询,如

yum whatprovides */smbclient
samba-client-4.14.5-2.el8.x86_64 : Samba client programs
Repo        : base
Matched from:
Filename    : /usr/bin/smbclient

这里*/是路径通配符,即不管smbclient在哪个目录

24.6 组的使用

前面安装软件都是一个个安装的,假设现在想在服务器上实现某个“功能”,这个功能需要很多个包,但不清楚需要安装哪些包,该怎么办?
可以利用yum中的group功能,例如:

[root@node-138 docker]# 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

这里显示的可用组是系统没有安装或者组中的包没有安装完全,已安装组说明这个组已经安装完整了。

如果要查询某个组的信息,可以使用yum groupinfo 组名,例如:

[root@node-138 docker]# yum groupinfo "Minimal Install"
Loaded plugins: auto-update-debuginfo, fastestmirror, product-id, search-disabled-repos
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.jlu.edu.cn
 * epel: mirrors.tuna.tsinghua.edu.cn
 * epel-debuginfo: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.huaweicloud.com

Environment Group: Minimal Install
 Environment-Id: minimal
 Description: Basic functionality.
 Mandatory Groups:
   +core
 Optional Groups:
   +debugging

可以使用yum groupinstall 组名安装某个组,例如:

yum groupinstall "Minimal Install" -y

通过yum groupremove 组名卸载某个组

yum groupremove "Minimal Install"

24.7 使用第三方yum源

添加第三方的yum源,对于CentOS或者REHL来说,最常用的源就是epel了,如下

[root@node-138 yum.repos.d]# yum list ansible
Loaded plugins: auto-update-debuginfo, fastestmirror, product-id, search-disabled-repos
Loading mirror speeds from cached hostfile
 * base: mirrors.jlu.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.huaweicloud.com
Error: No matching Packages to list
[root@node-138 yum.repos.d]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
[root@node-138 yum.repos.d]# sed -i 's|^#baseurl=http://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel.repo
[root@node-138 yum.repos.d]# yum list ansible
Loaded plugins: auto-update-debuginfo, fastestmirror, product-id, search-disabled-repos
...
Available Packages
ansible.noarch                                                     2.9.27-1.el7                                                     epel

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

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

相关文章

Navicat Premium 16,无限重置试用14天

打开注册表编辑器 红箭头所指方向每个系统判别不一样 如何判别呢&#xff1f;一个个点开看底下是不是info&#xff0c;如果是那么把info文件夹删掉就可以了。

SecureCRT 9.4.2 for Mac

SecureCRT是一款由VanDyke Software公司开发的终端仿真软件&#xff0c;它提供了类似于Telnet和SSH等协议的远程访问功能。SecureCRT专门为网络管理员、系统管理员和其他需要保密访问网络设备的用户设计。 SecureCRT具有以下特点&#xff1a; 安全性&#xff1a;SecureCRT支持…

OpenHarmony应用开发入门教程(一、开篇)

前言 华为正式宣布2024年发布的华为鸿蒙OS Next版将不再兼容安卓系统。这一重大改变&#xff0c;预示着华为鸿蒙OS即将进入一个全新的阶段。 都说科技无国界&#xff0c;这是骗人的鬼话。谷歌的安卓12.0系统早已发布&#xff0c;但是自从受到美影响&#xff0c;谷歌就拒绝再向…

FPGA模块——IIC协议(FPGA做主机操作24C64)

FPGA模块——IIC协议&#xff08;FPGA做主机操作24C64&#xff09; EEPROM&#xff08;24C64&#xff09;向器件写数据时序向器件读数据时序 IIC协议FPGA主机代码IIC驱动 EEPROM&#xff08;24C64&#xff09; 掉电不丢失&#xff0c;采用固定的读写协议。数据的稳定性和可重复…

vite动态配置svg图标及其他方式集合

文章目录 前言使用vite-plugin-svg-icons动态配置安装插件引入图标下载新建组件svg-icon.vue使用 使用vue组件动态配置总结如有启发&#xff0c;可点赞收藏哟~ 前言 在配置化的情况下&#xff0c;图标配置也显得极为重要的 使用vite-plugin-svg-icons动态配置 参考vite-plugin…

入职算法工程师后敲的非常有趣使用的小工具

NOTE&#xff1a;代码仅用来参考&#xff0c;没时间解释啦&#xff01; &#x1f349;一、自动从数据库从抽取数据。 在某台服务器中&#xff0c;从存放数据集的数据库自动抽取标注好的数据标签&#xff0c;这一步操作有什么用呢&#xff1f;当我们发现我们数据不均衡的时候&a…

【Linux】vscode远程连接ubuntu失败

VSCode远程连接ubuntu服务器 这部分网上有很多&#xff0c;都烂大街了&#xff0c;自己搜吧。给个参考连接&#xff1a;VSCode远程连接ubuntu服务器 注意&#xff0c;这里我提前设置了免密登录。至于怎么设置远程免密登录&#xff0c;可以看其它帖子&#xff0c;比如这个。 …

FastAdmin表格顶部增加toolbar按钮

效果入下图&#xff0c;在表格顶部增加一个自定义按钮&#xff0c;点击确认后请求服务器接口 表格对应的index.html中 <div class"panel-body"><div id"myTabContent" class"tab-content"><div class"tab-pane fade active …

JVM GC 调优命令看这一篇就够了

JVM GC 调优命令看这一篇就够了 2023-11-11 23:27IT果果日记 jstat 可用于统计内存分配速率、GC次数&#xff0c;GC耗时 jstat常用命令格式 jstat -gc <pid> <统计间隔时间> <统计次数> 例如&#xff1a;jstat -gc 6 1000 10 &#xff0c;统计pid6的进…

【设计一个缓存--针对各种类型的缓存】

设计一个缓存--针对各种类型的缓存 1. 设计顶层接口2. 设计抽象类 -- AbstractCacheManager3. 具体子类3.1 -- AlertRuleItemExpCacheManager3.2 -- AlertRuleItemSrcCacheManager 4. 类图关系 1. 设计顶层接口 // 定义为一个泛型接口,提供给抽象类使用 public interface Cach…

技术管理责任制度《三》

为了加强新时期科技档案的保密工作&#xff0c;确保档案在保管、利用、复制、销毁过程中的保密工作&#xff0c;特规定如下&#xff1a; 彩虹图纸管理软件_图纸管理系统_图纸文档管理软件系统_彩虹EDM【官网】 1、档案员要认真学习和严格执行国家有关安全、保密制度规定&#…

【java学习—十四】反射获取类的父类、接口、构造方法、方法(3)

文章目录 1. 通过反射获取一个类的父类和接口2. 反射获取一个类的构造方法3. 反射获取全部构造器4. 通过反射创建一个对象5. 反射机制获取类的方法 1. 通过反射获取一个类的父类和接口 使用反射可以取得&#xff1a; 实现的全部接口 public Class<?>[] getInterfaces(…

【小黑嵌入式系统第二课】嵌入式系统的概述(二)——外围设备、处理器、ARM、操作系统

上一课&#xff1a; 【小黑嵌入式系统第一课】嵌入式系统的概述&#xff08;一&#xff09;——概念、特点、发展、应用 下一课&#xff1a; 【小黑嵌入式系统第三课】嵌入式系统硬件平台&#xff08;一&#xff09;——概述、总线、存储设备&#xff08;RAM&ROM&FLASH…

优思学院|新版ISO9001:2015质量体系的优势(一)高阶结构

在全球商业环境中&#xff0c;不断提高产品和服务的质量至关重要。因此&#xff0c;国际标准组织&#xff08;ISO&#xff09;于2015年发布了更新的ISO 9001标准&#xff0c;即ISO 9001:2015质量体系标准。这一更新旨在适应不断变化的商业需求和挑战&#xff0c;为组织提供更强…

母婴行业数字化发展趋势:内容多元化、服务定制化、人群全覆盖

母婴行业数字化发展趋势&#xff1a;内容多元化、服务定制化、人群全覆盖 引言&#xff1a;时代的高速发展&#xff0c;在经济压力、生活节奏、婚育观念等多重因素的影响下&#xff0c;我国人口出生率自2016年&#xff08;人口出生数量统计1883万&#xff09;到2022年&#xf…

nn.Embedding()的原理

nn.Embedding()的原理&#xff1a; 定义一个Embedding&#xff1a; embeddings nn.Embedding(num_embeddings10, embedding_dim3)vocab_size : 10 输出维度为&#xff1a; 3 假定输入inputs如下&#xff1a; inputs torch.tensor([[1,3,6, 8],[9,1,3,5] ],dtypetorch.lo…

zabbix基本介绍 安装部署 页面访问

这里写目录标题 一、zabbix 监控1、zabbix 监控架构2、zabbix 监控报警渠道3、Zabbix 优点4、Zabbix 缺点5、Zabbix 监控系统监控对象6、Zabbix监控方式7、zabbix 架构1、Server2、数据库存储3、Web界面4、Proxy 代理服务器5、Agent监控代理6、数据流 8、Zabbix常用术语的含义1…

『Linux升级路』基本指令

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;Linux &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、认识操作系统 &#x1f4d2;1.1什么是操作系统 &#x1f4d2;1.2操作系统…

基于ssm的高校共享单车管理系统(有报告)。Javaee项目,ssm项目。

演示视频&#xff1a; 基于ssm的高校共享单车管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm项目。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 项目介绍&…

torch_cluster、torch_scatter、torch_sparse三个包的安装

涉及到下面几个包安装的时候经常会出现问题&#xff0c;这里我使用先下载然后再安装的办法&#xff1a; pip install torch_cluster pip install torch_scatter pip install torch_sparse 1、选择你对应的torch版本&#xff1a;https://data.pyg.org/whl/ 2、点进去然后&…