Linux網路服務之部署YUM倉庫

来源:https://www.cnblogs.com/helong-123/archive/2022/03/24/16048454.html
-Advertisement-
Play Games

鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 1 YUM簡介 1.1 YUM簡介 CentOS使用yum和dnf 解決rpm的包依賴關係。 YUM:rpm的前端程式,可解決軟體包相關依賴性,可在多個庫之間定位軟體包,up2date的替代工具,CentOS 8 使用dnf代替了yum,不過保留 ...


镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

1 YUM简介

1.1 YUM简介

CentOS使用yum和dnf 解决rpm的包依赖关系。

YUM:rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具,CentOS 8 使用dnf代替了yum,不过保留了和yum的兼容性,配置也是通用的。

YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

YUM(Yellow dog Updater,Modified):

  • 基于RPM包构建的软件更新机制
  • 可以自动解决依赖关系
  • 所有软件包由集中到YUM软件仓库提供

file

1.2 yum工作原理

yum依赖于环境,依赖于服务端和客户端,允许跨网络。

Yum基于C/S模式:

  • yum 服务器存放rpm包和相关包的元数据
  • yum客户端访问yum服务器进行安装或查询等

Yum实现过程:

先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

file

服务器(RPM包和元数据缺一不可):

  • RPM包 (存放在包文件夹Packages中)
  • 元数据(存放在元数据文件夹repodata中,其中包含:目录(软件的目录),软件的依赖关系,软件的分组)
 #查看光盘中自带的Yum仓库,可以看到Packages文件夹和repodata文件夹:
 ​
 [root@localhost ~]# mount /dev/sr0 /mnt   //将光盘挂载到/mnt/目录下
 mount: /dev/sr0 写保护,将以只读方式挂载
 [root@localhost ~]# ls /mnt      //查看光盘内的包文件夹和元数据文件夹
 CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
 EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
 EULA             isolinux  repodata  TRANS.TBL

file

本地仓库类型:

  • 光盘的仓库(基本仓库)
  • epel 扩展仓库

1.3 如何实现安装服务

file

2 yum客户端配置

yum客户端配置文件

 /etc/yum.conf              #为所有仓库提供公共配置
 /etc/yum.repos.d/*.repo    #每个仓库的配置文件

2.1 yum主配置文件

位置:/etc/yum.conf

 [root@localhost ~]# vim /etc/yum.conf
 [main]
 cachedir=/var/cache/yum/$basearch/$releasever  //yum下载的RPM包的缓存目录, $basearch代表硬件架构,$releasever系统版本比如7
 keepcache=0                         //是否保存缓存  0代表不保存,1代表保存
 debuglevel=2                        //调试级别(0-10),默认为2
 logfile=/var/log/yum.log            //日志文件位置
 exactarch=1                         //是否允许不同版本的rpm安装
 obsoletes=1                         //这是一个update的参数,是否允许旧版本的运行  
 gpgcheck=1                          //是否验证GPG(GNU Private Guard)密钥,1表示验证
 plugins=1                           //是否允许插件,1代表允许
 installonly_limit=5                 //保存几个内核
 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
 distroverpkg=centos-release
 ​
 ​
 # yum的repo配置文件中可用的变量:
 $releasever: 当前OS的发行版的主版本号,如:8,7,6
 $arch: CPU架构,如:aarch64, i586, i686,x86_64等
 $basearch:系统基础平台;i386, x86_64
 $contentdir:表示目录,比如:centos-8,centos-7
 $YUM0-$YUM9:自定义变量

file

2.2 yum仓库配置文件

2.2.1 仓库配置文件说明

位置:/etc/yum.repos.d/*.repo

系统内默认的yum仓库,是centos官方的yum源(国外源),需要连通外网才可以使用。

 [root@localhost yum.repos.d]# ls /etc/yum.repos.d/
 CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
 CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
 ​
 [root@localhost yum.repos.d]# vim yuji.repo    //yum仓库配置文件格式
 [yuji]
 name=yuji                   #设置名称
 baseurl=file:///mnt        #设置链接地址,file://是本地源的固定格式
 enabled=1                   #开启此yum源
 gpgcheck=0                  #是否验证公钥,0表示无需验证            

yum仓库配置文件中baseurl的几种形式:

 # 本地源
 本地目录   file://        
 ​
 # 网络源
 FTP服务    ftp://          
 HTTP服务   http://
 外网环境    https://

2.2.2 baseurl 指向的路径

CentOS系统的yum源

 #阿里云
 https://mirrors.aliyun.com/centos/$releasever/

EPEL的yum源

 #阿里云
 https://mirrors.aliyun.com/epel/$releasever/x86_64

更新源

 http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/

2.3 日志文件

位置:/var/log/yum.log

 [root@localhost yum.repos.d]# head -5 /var/log/yum.log    //查看日志文件
 Jan 19 10:55:29 Installed: tree-1.6.0-10.el7.x86_64
 Feb 21 23:21:53 Installed: finger-0.17-52.el7.x86_64
 Mar 19 17:10:29 Updated: 32:bind-license-9.11.4-26.P2.el7_9.9.noarch
 Mar 19 17:10:30 Updated: 32:bind-libs-lite-9.11.4-26.P2.el7_9.9.x86_64
 Mar 19 17:10:30 Updated: 32:bind-libs-9.11.4-26.P2.el7_9.9.x86_64

3 yum命令详解

命令 不加关键字 加入关键词、软件包、软件包组
yum list 显示所有可用包 单个的可安装包
yum info 显示所有可用包的信息 单个具体的信息
yum search \ 模糊查找所有的相关信息
yum whatprovides \ 精确查找
yum install \ 安装具体软件包
yum update 所有软件升级,更新内核 具体软件升级
yum upgrade 只更新软件包,但不更新内核 具体软件更新
yum remove \ 卸载具体软件
yum history 查看当前yum操作历史 \
yum history info \ 加序号列出某次事务的详细信息
yum history undo \ 加序号卸载序号里安装的软件
yum history redo \ 加序号重新执行序号里的操作

包组:

命令 不加关键字 加入关键词、软件包、软件包组
yum grouplist 显示所有可用包组 显示具体的包组
yum groupinfo 显示所有的包组具体信息 显示具体的包组的具体信息
yum groupinstall \ 安装具体软件包组
yum group update 所有包组升级 具体包组升级
yum groupremove \ 卸载具体包组软件

小贴士:

当使用 “yum remove 软件名” 未将软件包卸载干净时,可以使用“yum history undo 序号”进行卸载,可以完整卸载整个软件包,没有残留。

4 yum仓库搭建方式

软件仓库的提供方式:

4.1 搭建本地yum仓库

搭建步骤:

步骤1、挂载光盘(/dev/sr0或/dev/cdrom都可以,/dev/cdrom是/dev/sr0的软链接)

 [root@localhost ~]# mount /dev/sr0 /mnt    //将光盘挂载到/mnt目录下
 mount: /dev/sr0 写保护,将以只读方式挂载
 [root@localhost ~]# df -Th                 //查看挂载是否成功
 文件系统                类型      容量  已用  可用 已用% 挂载点
 /dev/mapper/centos-root xfs        10G  4.0G  6.1G   40% /
 devtmpfs                devtmpfs  897M     0  897M    0% /dev
 tmpfs                   tmpfs     912M     0  912M    0% /dev/shm
 tmpfs                   tmpfs     912M  9.1M  903M    1% /run
 tmpfs                   tmpfs     912M     0  912M    0% /sys/fs/cgroup
 /dev/sdb5               xfs       2.0G   33M  2.0G    2% /data/bb
 /dev/sda1               xfs      1014M  179M  836M   18% /boot
 /dev/sdb1               xfs        10G   33M   10G    1% /data/aa
 /dev/mapper/vg01-lvmail xfs        13G   33M   13G    1% /data/mail
 tmpfs                   tmpfs     183M   12K  183M    1% /run/user/42
 tmpfs                   tmpfs     183M     0  183M    0% /run/user/0
 /dev/sr0                iso9660   4.3G  4.3G     0  100% /mnt

注意:mount命令是一次性挂载,退出当前终端或重启后就不存在了。永久挂载需要修改配置文件/etc/fstab。

file

步骤2、切换到 /etc/yum.repo.d/目录,将自带的仓库文件移走。

 [root@localhost ~]# cd /etc/yum.repos.d/      //切换至/etc/yum.repos.d/目录
 [root@localhost yum.repos.d]# ls
 CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
 CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
 [root@localhost yum.repos.d]# mkdir aaa      //创建一个名为aaa的新目录
 [root@localhost yum.repos.d]# mv *.repo aaa   //将yum仓库中以.repo结尾的文件移动到aaa中
 [root@localhost yum.repos.d]# ls
 aaa

file

步骤3、新建yum仓库文件。

 [root@localhost yum.repos.d]# vim yuji.repo    //新建yum仓库文件
 [yuji]
 name=yuji                   #设置名称
 baseurl=file:///mnt         #设置链接地址,file://是固定格式,指向/mnt
 enabled=1                   #开启此yum源
 gpgcheck=0                  #无需验证公钥  

file

步骤4、清理缓存并安装软件。

 [root@localhost yum.repos.d]# yum clean all    //清理yum缓存
 [root@localhost yum.repos.d]# yum makecache    //重新建立元数据
 [root@localhost yum.repos.d]# yum list         //查看可安装的软件列表
 [root@localhost yum.repos.d]# yum install dhcp -y    //yum安装dhcp测试是否成功

file

4.2 搭建阿里云仓库(http方式外网环境)

默认的仓库文件是国外云仓库,速度比较慢,可以使用阿里云仓库代替。

操作步骤:

步骤1、切换到 /etc/yum.repo.d/目录,将自带的仓库文件移走。

 [root@localhost ~]# cd /etc/yum.repos.d/      //切换至/etc/yum.repos.d/目录
 [root@localhost yum.repos.d]# mkdir aaa
 [root@localhost yum.repos.d]# mv *.repo aaa   //将yum仓库中以.repo结尾的文件移动到aaa中
 [root@localhost yum.repos.d]# ls
 aaa

步骤2、新建阿里云仓库。

 [root@localhost yum.repos.d]# vim ali.repo
 [ali]
 name=aliyun
 #baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/         //开启哪个版本都可以正常使用,这边主要解释变量的作用
 baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/    
 gpgcheck=0
 ​
 [epel]                                                         //epel源仓库
 name=epel
 baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
 gpgcheck=0
 ​
 [update]                                                        //更新包仓库
 name=update
 baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
 gpgcheck=0

步骤3、清理缓存并安装软件。

 [root@localhost yum.repos.d]# yum clean all    //清理yum缓存
 [root@localhost yum.repos.d]# yum makecache    //重新建立元数据
 [root@localhost yum.repos.d]# yum list         //查看可安装的软件列表
 [root@localhost yum.repos.d]# yum install tree -y    //yum安装tree测试是否成功

4.3 http方式搭建云仓库

http方式搭建云仓库,在外网和内网的环境下都可以使用,但多用于内网。

服务端:192.168.72.10

客户端:192.168.72.129

搭建步骤:

步骤1、服务端安装hhtpd服务程序。

 [root@localhost ~]# yum install httpd -y

file

步骤2、服务端切换到/var/www/html/ 目录,新建子目录centos7,并将光驱挂载到centos7目录下(也可以将光驱中的所有软件包拷贝到该目录下)。

 [root@localhost ~]# cd /var/www/html        //切换目录
 [root@localhost html]# ls
 [root@localhost html]# mkdir centos7         //新建目录centos7
 [root@localhost html]# mount /dev/sr0 ./centos7    //将光驱挂载到centos7目录下
 mount: /dev/sr0 写保护,将以只读方式挂载
 [root@localhost html]# ls ./centos7
 CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
 EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
 EULA             isolinux  repodata  TRANS.TBL

file

步骤3、服务端关闭防火墙和selinux,启动httpd服务。

 [root@localhost html]# systemctl stop firewalld
 [root@localhost html]# setenforce 0
 setenforce: SELinux is disabled
 [root@localhost html]# systemctl start httpd

file

步骤4、客户端切换到/etc/yum.repos.d/目录,新建文件夹,将默认的yum仓库文件移动到该目录下。编写新的仓库文件

 [root@192 ~]# cd /etc/yum.repos.d        //客户端切换目录
 [root@192 yum.repos.d]# ls
 CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
 CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
 [root@192 yum.repos.d]# mkdir bak        //新建文件夹
 [root@192 yum.repos.d]# mv *.repo bak    //将默认的仓库文件移动到该文件夹下
 [root@192 yum.repos.d]# ls
 bak
 [root@192 yum.repos.d]# vim http.repo     //编写新的仓库文件
 [http]
 name=http
 baseurl=http://192.168.72.10/centos7
 enabled=1
 gpgcheck=0

file

file

步骤5、清理yum缓存,重新建立元数据。并测试使用yum能否成功安装软件包。

 [root@192 yum.repos.d]# yum clean all && yum makecache
 已加载插件:fastestmirror, langpacks
 正在清理软件源: ftp
 Cleaning up everything
 Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
 Cleaning up list of fastest mirrors
 已加载插件:fastestmirror, langpacks
 ftp                                                        | 3.6 kB  00:00:00     
 (1/4): ftp/group_gz                                        | 156 kB  00:00:00     
 (2/4): ftp/primary_db                                      | 3.1 MB  00:00:00     
 (3/4): ftp/other_db                                        | 1.2 MB  00:00:00     
 (4/4): ftp/filelists_db                                    | 3.1 MB  00:00:00     
 Determining fastest mirrors
 元数据缓存已建立
 ​
 [root@192 yum.repos.d]# yum install ftp -y    //测试yum安装,可以成功安装。

file

file

4.4 ftp方式搭建云仓库

ftp方式搭建云仓库,在外网和内网的环境下都可以使用,但多用于内网。

服务端:192.168.72.10

客户端:192.168.72.129

搭建步骤:

步骤1、服务端安装vsftpd服务程序。

 [root@localhost html]# yum install vsftpd -y

file

步骤2、服务端切换到 /var/ftp/ 目录下新建一个子目录centos,并将光驱挂载到centos目录下(也可以将光驱内的所有文件包复制到centos目录下)。

 [root@localhost html]# cd /var/ftp      //切换到/ftp/var/目录
 [root@localhost ftp]# ls
 pub
 [root@localhost ftp]# mkdir centos      //创建centos目录
 [root@localhost ftp]# 
 [root@localhost ftp]# mount /dev/sr0 ./centos     //将光驱挂载到centos目录下
 mount: /dev/sr0 写保护,将以只读方式挂载
 [root@localhost ftp]# ls ./centos
 CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
 EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
 EULA             isolinux  repodata  TRANS.TBL

file

步骤3、服务端开启vsftpd服务,关闭防火墙和selinux。

 [root@localhost ~]# systemctl start vsftpd
 [root@localhost ~]# systemctl stop firewalld
 [root@localhost ~]# setenforce 0

file

步骤4、客户端安装ftp程序,测试ftp服务是否正常。

 [root@192 ~]# yum install ftp -y     //安装ftp程序
 ​
 [root@192 ~]# ftp 192.168.72.10      //测试ftp服务能否正常访问服务端
 Connected to 192.168.72.10 (192.168.72.10).
 220 (vsFTPd 3.0.2)
 Name (192.168.72.10:root): ftp
 331 Please specify the password.
 Password:
 230 Login successful.              //可以正常访问
 Remote system type is UNIX.
 Using binary mode to transfer files.
 ftp> ls
 227 Entering Passive Mode (192,168,72,10,85,22).
 150 Here comes the directory listing.
 drwxr-xr-x    8 0        0            2048 Sep 05  2017 centos
 drwxr-xr-x    2 0        0               6 Jun 09  2021 pub
 226 Directory send OK.
 ftp> bye
 221 Goodbye.

file

步骤5、客户端编写yum仓库文件。

 [root@192 ~]# cd /etc/yum.repos.d      //切换目录
 [root@192 yum.repos.d]# ls
 bak2              CentOS-Debuginfo.repo  CentOS-Sources.repo
 CentOS-Base.repo  CentOS-fasttrack.repo  CentOS-Vault.repo
 CentOS-CR.repo    CentOS-Media.repo
 [root@192 yum.repos.d]# mkdir bak1        //新建文件夹
 [root@192 yum.repos.d]# mv *.repo bak1    //将默认的仓库文件移动到该目录下
 [root@192 yum.repos.d]# ls
 bak1  bak2
 [root@192 yum.repos.d]# vim ftp.repo      //编写新的仓库文件
 [ftp]
 name=ftp
 baseurl=ftp://192.168.72.10/centos     //路径指向服务端的/var/ftp/centos/目录
 enabled=1
 gpgcheck=0

file

file

步骤6、清理yum缓存,重新建立元数据。并测试使用yum能否成功安装软件包。

 [root@192 yum.repos.d]# yum clean all && yum makecache
 已加载插件:fastestmirror, langpacks
 正在清理软件源: ftp
 Cleaning up everything
 Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
 Cleaning up list of fastest mirrors
 已加载插件:fastestmirror, langpacks
 ftp                                                        | 3.6 kB  00:00:00     
 (1/4): ftp/group_gz                                        | 156 kB  00:00:00     
 (2/4): ftp/primary_db                                      | 3.1 MB  00:00:00     
 (3/4): ftp/other_db                                        | 1.2 MB  00:00:00     
 (4/4): ftp/filelists_db                                    | 3.1 MB  00:00:00     
 Determining fastest mirrors
 元数据缓存已建立
 ​
 [root@192 yum.repos.d]# yum install httpd -y    //测试yum安装,可以成功安装。

file

file

4.5 搭建本地epel源仓库

本地epel源仓库的应用场景:

  • 在可以连外网的情况下,可以使用国外源或阿里云仓库等。
  • 但实际工作中,公司内网常常无法连接外网,这时可以提前搭建本地epel源仓库,即在一台可连通外网的服务器中提前下载好epel源的所有软件包,编写好仓库文件后,在离线的情况下也可以使用yum安装软件包。
  • 之后其他主机可以通过http方式或ftp方式使用服务端的epel源仓库。

操作步骤:

步骤1、安装epel源,并下载epel源的所有软件包。

 [root@localhost ~]# yum install epel-release          //安装epel源
 [root@localhost ~]# mkdir centos7                     //新建centos7目录  
 [root@localhost ~]# reposync -r epel -p /centos7/ &     //下载同步epel源软件包,下载到/centos7/目录下,&表示放到后台下载
 [root@localhost ~]# ls /centos7
 epel

步骤2、安装createrepo命令(建立元数据的命令),之后使用createrepo命令建立元数据。

 [root@localhost ~]# yum -y install createrepo      //安装createrepo命令
 [root@localhost ~]# createrepo -v /centos7/epel    //建立元数据(软件目录、依赖关系) 
 [root@localhost ~]# cd  /centos7/epel        //切换到centos7/epel 目录下
 [root@localhost epel]# ls              //查看软件包和元数据
 Packages  repodata

步骤3、切换到/etc/yum.repos.d目录,移走默认仓库文件,编写新的仓库文件。

 [root@localhost ~]# cd /etc/yum.repos.d/      //切换至/etc/yum.repos.d/目录
 [root@localhost yum.repos.d]# ls
 CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
 CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
 [root@localhost yum.repos.d]# mkdir aaa      //创建一个名为aaa的新目录
 [root@localhost yum.repos.d]# mv *.repo aaa   //将yum仓库中以.repo结尾的文件移动到aaa中
 [root@localhost yum.repos.d]# ls
 aaa
 [root@localhost yum.repos.d]# vim epellocal.repo    //新建yum仓库文件
 [epellocal]
 name=epellocal                       #设置名称
 baseurl=file:///centos7/epel     #设置链接地址,路径指向/centos7/epel目录
 enabled=1                        #开启此yum源
 gpgcheck=0                       #无需验证公钥  

其他主机如果想使用这台机器中的epel仓库,可以在本地使用http或ftp方式搭建:

 baseurl=http://192.168.72.10/centos7/epel      //http方式
 ​
 baseurl=ftp://192.168.72.10/centos7/epel        //ftp方式

5 小贴士

5.1 使用命令方式生成仓库文件

以上四种方式都是都是通过手动编写yum仓库文件来配置,也可以直接通过命令来搭建。

命令的方式配置原理和上面的文件配置原理一样,都是写入/etc/yum.repos.d中,只是命令行是自动生成仓库文件 。

1、外网环境搭建

命令格式:

 wget -O  /etc/yum.repos.d/name.repo(自定义以repo结尾的文件名)  源路径

wget 命令配置阿里云仓库:

 wget -O  /etc/yum.repos.d/Centos-7.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

2、内网环境搭建

命令格式:

 yum-config-manager --add-repo=file://
 yum-config-manager --add-repo=ftp://

示例:

 yum-config-manager --add-repo=file:///mnt           //使用本地源
 yum-config-manager --add-repo=ftp://192.168.72.10/centos7   //ftp方式搭建

5.2 下载依赖包到本地(但不安装)

当内网的一台主机安装某个软件包却缺少依赖包时,可以先由一台可连接外网的服务器下载依赖包,之后共享给这台主机。

这时可以使用“yum install --downloadonly”命令,该命令可以仅下载所需软件及其依赖包、而不安装软件,大大减少了无外网安装时找依赖包的问题。命令格式如下:

 yum install --downloadonly +软件名称 --downloaddir=指定rpm包存放路径

例如,下载nginx所需要的依赖包到/mnt/nginx目录内:

 yum install nginx --downloadonly --downloaddir=/mnt/nginx

本文转自:https://juejin.cn/post/7078172295302217735


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 方式一: 創建一個新的集合進行數據重覆元素的去除 //boolean contains(Object o):判斷集合中是否包含指定的元素 分析: * A:創建集合對象 * B:添加多個字元串元素(包含內容相同的) * C:創建新集合 * D:遍歷舊集合,獲取得到每一個元素 * E:拿這個元素到新集合 ...
  • 快下班了,今天給大家分享一下,平常我都是怎麼發送電子郵件,這個方法能夠幫助大家提高工作效率、,擺脫繁重的重覆性工作。一般我都會借用Python來實現自動化郵件發送,相信你用過這個方法之後就會愛上它。 Python有兩個內置庫:smtplib和email,能夠實現郵件功能,smtplib庫負責發送郵件 ...
  • 關係型的結構化存儲存在一定的弊端,因為它需要預先定義好所有的列以及列對應的類型。但是業務在發展過程中,或許需要擴展單個列的描述功能,這時,如果能用好 JSON 數據類型,那就能打通關係型和非關係型數據的存儲之間的界限,為業務提供更好的架構選擇。 當然,很多同學在用 JSON 數據類型時會遇到各種各樣 ...
  • 網關中間件-Nginx(一) 第一部分我們主要介紹如下幾點: 1.nginx的基本概念 2.nginx結合業務場景實現負載均衡 3.常見問題的舉例 這一部分主要介紹Nginx中限流,緩存,動靜分離,以及Nginx的集群搭建,如果涉及舉例的話,依然使用上一部分的業務 一、限流 1.為什麼要限流? 對於 ...
  • 對於語音識別,一般有實時語音識別和語音文件的識別處理等方式,如在會議、培訓等場景中,可以對錄製的文件進行文字的轉錄,對於轉錄文字的成功率來說,如果能夠轉換90%以上的正確語音內容,肯定能減輕很多相關語音文本編輯的繁瑣工作,而目前大多數語音轉錄的介面基本都能夠保證在這個成功率上,有些甚至超過98%以上... ...
  • .net core IdentityServer4 認證授權 token ...
  • 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是IAR內部C-SPY調試組件配套巨集文件(.mac)用法。 痞子衡之前寫過一篇 《JLink Script文件基礎及其在IAR下調用方法》,那篇文章介紹了 J-Link 硬體調試器配套的 .JLinkScript 文件功能及用法,今天我們 ...
  • 前言 眾所周知,現在程式員因為工作、個人興趣等對各種系統的需求越來越大,部分人電腦做的還是雙系統。其中,比較常見的有各種模擬器、虛擬機在windows上面跑Android、Linux,大家估計都習以為常,Android上面跑windows也是Android 13做的一個有趣的新功能:工作虛擬化支持( ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...