FTP文件传输协议 、多种方式安装yum仓库

一、网络文件共享服务

1.存储类型分三种

直连式存储:Direct-Attached Storage,简称DAS
存储区域网络:Storage Area Network,简称SAN(可以使用空间,管理也是你来管理)
网络附加存储:Network-Attached Storage,简称NAS(存储和管理空间都在远程)

2.三种存储架构的应用场景

DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂

SAN

SAN通常将存储设备连接到一个独立的高速网络,而NAS则通过普通的网络协议提供文件级别的数据访问服务。对于SAN,你只需要记住几个关键词:块级别存储、高速网络、数据完整性和可靠性、集中式管理、可扩展性

SAN(存储区域网络)在各种企业和数据中心环境中都有广泛的用例,特别是用于支持性能敏感的应用程序。

NAS

Network Attached Storage则是通过网络连接的文件级存储设备。通常,NAS系统由存储设备(通常是硬盘驱动器)、文件系统和网络连接组成。NAS设备使用网络协议如NFS(Network File System)或SMB(Server Message Block)来提供文件服务,使得用户可以通过普通网络协议访问存储设备上的文件。对于NAS,你也只需要记住几个关键词:集中式存储管理、共享文件夹、易用性、跨平台兼容性、灵活的存储扩展、远程访问、数据备份和保护、多媒体服务器功能。网络附加存储(NAS)在各种场景中都有广泛的用例,为用户提供了方便的文件共享和存储解决方案。

常见协议端口号

ftp   20(数据)  21(命令)     软件    要利用协议    协议是通过应用程序实现

ssh   22

http  80

https   443

telnet  23

mysql   3306

redis    6379

二、 FTP文件传输协议

FTP(File Transfer Protocol)即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式,通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作,虽然现在通过HTTP协议下载的站点有很多,但是由于FTP协议可以很好地控制用户数量和宽带的分配,快速方便地上传、下载文件,因此FTP已成为网络中文件上传和下载的首选服务器,同时,它也是一个应用程序,用户可以通过它把自己的计算机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。

FTP即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作。

使用端口TCP的20、21端口:

20端口:用于建立数据连接,传输文件数据。

21端口:用于建立控制连接。

缺点:不能主动同步数据需要手动同步

1.FTP 工作原理

文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构

数据传输格式:二进制(默认)和文本

双通道协议:命令和数据连接     21 命令端口(权限,认证、一些基本的信息传递)

                                                    20数据端口(真实传数据)

配置文件路径:

服务配置文件:/etc/vsftpd/vsftpd.conf

黑名单配置文件:/etc/vsftpd/user_list

匿名用户FTP服务的默认根目录:/var/ftp

本地用户FTP服务的默认根目录:/home/账户同名文件

错误日志路径:/var/log/messages
 

2.两种模式:从服务器角度来看

主动模式:服务器主动连接客户端

  命令(控制):客户端:随机port ---> 服务器:21/tcp

  数据:客户端:随机port <---服务器:20/tcp

被动模式:服务器被动等待客户端连接

  命令(控制):客户端:随机port ---> 服务器:21/tcp

  数据:客户端:随机port ---> 服务器:随机port /tcp

3.用户认证:

匿名用户:ftp,anonymous,对应Linux用户 ftp         root

系统用户:Linux用户,  用户/etc/passwd,   密码/etc/shadow

虚拟用户:特定服务的专用用户,独立的用户/密码文件  

4.常见FTP相关软件

FTP服务器端软件

 Wu-ftpd,Proftpd,Pureftpd,Filezilla Server,Serv-U,Wing FTP Server,IIS

 vsftpd:Very Secure FTP Daemon,CentOS 默认FTP服务器

 高速,稳定,下载速度是WU-FTP的两倍

 ftp.redhat.com数据:单机最多可支持15000个并发

vsftpd官网: https://security.appspot.com/vsftpd.html

FTP服务器系统由服务器软件、客户端软件和FTP通信协议组成。FTP服务器常见的软件:vsftpd、wu-ftpd、Proftpd、微软 IIS FTP、Serv-U等。

三、vsftpd 软件介绍

vsftpd (Very Secure FTP Daemon) 是一个非常流行且安全的开源FTP服务器软件,专为类Unix系统设计,如Linux、FreeBSD等。

ftp服务端192.168.246.7    ftp客户端192.168.246.8

服务端开启vsftpd服务:systemctl  start  vsftpd  

客户端下载ftp :yum  install  ftp  -y

      下回分析哦

四、yum仓库简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。

YUM(Yellow dog Updater,Modified):

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

(1)yum实现过程

要有安装包

安装包:  

1.光驱里自带       挂载提供软件包

2.网络下载到本地

3.直接通过网络

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

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

服务器:

  • RPM包 (Packages文件夹中)

  • 元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)

客户端:配置文件

客户端的配置文件中

baseurl=地址 一定要写到到 这两个文件夹 repodata packages 的上级目录

最终形成两个文件夹Packages (包文件夹一般取名packages)和 repodata(元数据文件夹)

仓库类型:

  • 光盘的仓库基本仓库 比较常用的

  • epel扩展仓库 比较新

(2)如何实现安装服务

(3)yum配置文件

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

[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0                                   //是否保存缓存  0代表不保存,1代表保存
debuglevel=2                                  //调试级别了解即可
logfile=/var/log/yum.log					 // 日志文件位置
exactarch=1								     //是否允许不同版本的rpm安装
obsoletes=1									//update 的一个参数是否可以允许旧版本的运行	
gpgcheck=1                                  //验证秘钥
plugins=1                                   //是否允许插件1代表可以
installonly_limit=5                         //保存几个内核 5代表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-releaseyum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量

2.仓库设置文件

位置:/etc/yum.repos.d/*.repo    yum仓库文件位置

3.日志文件  

(4)yum命令详解

 yum list  [软件名]    显示可用的安装包,如不加  软件名是显示所有的可用包

[root@localhost ~]# yum list *httpd*
包含httpd 的软件包

 yum info  [软件名]   显示安装包详细信息          (如不加软件名是显示所有包的详细信息)

yum search <关键词>    根据关键字查找软件安装包

相当于你只知道这个包里的某个关键字会全部给你匹配出来

yum   provides  <关键词>

 你知道某个命令 却不知道具体的包 可以用此命令查找

   不写路径查找不到

加上通配符

yum install [软件名]   安装软件包        例如:  yum install httpd  -y

软件卸载   yum remove <软件名>       卸载已安装的软件必须加软件名

yum history     查看历史的使用记录

如果后悔 卸载     yum history redo 4 (重新安装一遍)

(5)搭建仓库的方式

软件仓库的提供方式 FTP服务:ftp://ip地址/站点里路径

HTTP服务:http://域名或者ip地址/站点里的路径

本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)

1.本地yum仓库

适用范围:一台不能使用/etc/yum.repos.d/配置文件中的外网源进行下载软件,且有系统完整rpm包的光驱的情况下。

2.通过ftp服务,搭建内网yum仓库服务器

服务端
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# systemctl start vsftpd[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# ls
centos7  pub
[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   10G  3.6G  6.4G   36% /
devtmpfs                 897M     0  897M    0% /dev
tmpfs                    912M  6.6M  906M    1% /dev/shm
tmpfs                    912M  9.1M  903M    1% /run
tmpfs                    912M     0  912M    0% /sys/fs/cgroup
/dev/sda1               1014M  179M  836M   18% /boot
tmpfs                    183M   44K  183M    1% /run/user/0
/dev/sr0                 4.3G  4.3G     0  100% /var/ftp/centos7
[root@localhost ftp]# 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
服务端192.168.246.7进行配置:

客户端可以验证下:

客户端192.168.246.8进行配置:

[root@localhost ~]# cd /etc/yum.repos.d/    //进入etc目录下的yum.repos.d
[root@localhost yum.repos.d]# mkdir bak     //创建bak文件夹
[root@localhost yum.repos.d]# mv *.repo bak/ //将yum.repos.d下的所有以.repo结尾移动至bak目录下
[root@localhost yum.repos.d]# ls      //查看yum.repos.d的文件
bak
[root@localhost yum.repos.d]# vim ftp.repo//新建并编辑ftp.repo
​
[ftp]                                                                            
name=http                              //仓库名
baseurl=ftp://192.168.246.7/centos7  //指定设备服务器地址  指向服务端IP地址
gpgcheck=0                             //进入不需验证[root@localhost yum.repos.d]# yum clean all && yum makecache //清理缓存建立元数据

3.通过httpd协议,搭建内网yum仓库服务器

由于是内网环境,虚拟机全部设为仅主机模式,(如何设置仅主机模式可参考DHCP原理与配置)无法连接外部网络如果想要下载httpd服务则需要搭建一个本地yum仓库

适用范围:多台不能使用/etc/yum.repos.d/配置文件中的外网源进行下载软件,且有至少一个服务有系统完整rpm包的光驱的情况下。

systemctl  stop firewalld  #关闭防火墙
setenforce  0              #关闭selinux
服务端配置(192.168.246.7):

在有光驱的服务器上安装httpd服务并在/var/www/html目录下创建一个光驱挂载目录centos7,并将光驱挂载到centos7目录下。

在本机的浏览器中输入服务器的ip地址和挂载路径可以查看光驱内容

开启服务端的httpd服务且在客户端无内网和光驱的服务器上创建配置文件

进入客户端配置:

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

国外云仓库比较慢,可以使用阿里云仓库代替

CentOS系统的yum源
#阿里云
https://mirrors.aliyun.com/centos/$releasever/ 
#腾讯云
https://mirrors.cloud.tencent.com/centos/$releasever/ 
#华为云
https://repo.huaweicloud.com/centos/$releasever/ 
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/EPEL的yum源
#阿里云
https://mirrors.aliyun.com/epel/$releasever/x86_64
#腾讯云
https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
#华为云
https://mirrors.huaweicloud.com/epel/$releasever/x86_64
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/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/

.切换到 yum.repo.d 目录 将自带的仓库移走
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# ls
bak
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64https://mirrors.cloud.tencent.com/epel/$releasever/x86_64https://mirrors.huaweicloud.com/epel/$releasever/x86_64https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
新建aliyun仓库[ali]
name=aliyun
#baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/                  //开启哪个都可以正常使用,这边主要解释变量的作用
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/    //变量参见主配置文件2.1小节
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

(6)yum 工作环境

1.如果误将 rpm 软件删除,解决办法 

进入虚拟机,读条的时候按esc,进入救援模式3,2,1

2.自行打包后建立元数据

 实验目的:自研公司的小软件 想要用yum安装

原理,要到该软件所有的安装包和依赖关系(找开发要包)

假设tree是我们自己研发的软件,此时客户要求使用yum命令安装此软件

mount /dev/sr0 /mnt/
cp  /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
mkdir test
mv tree-1.6.0-10.el7.x86_64.rpm  test/
cd test
mkdir packages
mv tree-1.6.0-10.el7.x86_64.rpm packages/
createrepo -v test
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak/vim tree.repo
[tree]
name=tree
baseurl=file:///data/test
gpgcheck=0yum clean all
yum makecache
yum install tree -y

3. epel源 本地  

实验目的:防止以后没网,也要下载网络元的软件,服务机先把网络仓库下到本地 

没有外网  又想使用这个epel源      [root@localhost ~]#yum install epel-release
#安装epel源    生成epel仓库文件
[root@localhost ~]# reposync -r epel -p /root/
#下载同步epel源  根据epel仓库文件去找目录[root@localhost ~]# yum -y install createrepo
#安装建立元数据命令
[root@localhost ~]# createrepo -v /root/epel
#建立元数据    软件目录  依赖关系  
[root@localhost ~]# ls
anaconda-ks.cfg  epel
[root@localhost ~]# cd epel/
[root@localhost epel]# ls
#查看元数据

4 离线安装软件

1.在可以上网的主机上下载该软件的安装包,然后将安装包及其依赖关系下载到指定的文件夹下

2.然后将该文件夹打包,通过NFS、FTP等文件传输工具共享给离线的主机,该离线的主机就可以安装软件了

root@localhost yum.repos.d]#yum install nginx
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 nginx.x86_64.1.1.20.1-9.el7 将被 安装
--> 正在处理依赖关系 nginx-filesystem = 1:1.20.1-9.el7,它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 nginx-filesystem,它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1(OPENSSL_1_1_1)(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1(OPENSSL_1_1_0)(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libcrypto.so.1.1(OPENSSL_1_1_0)(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1()(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libcrypto.so.1.1()(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在检查事务
---> 软件包 nginx-filesystem.noarch.1.1.20.1-9.el7 将被 安装
---> 软件包 openssl11-libs.x86_64.1.1.1.1k-2.el7 将被 安装
--> 解决依赖关系完成依赖关系解决==========================================================================================================Package                       架构                版本                           源                 大小
==========================================================================================================
正在安装:nginx                         x86_64              1:1.20.1-9.el7                 epel              587 k
为依赖而安装:nginx-filesystem              noarch              1:1.20.1-9.el7                 epel               24 kopenssl11-libs                x86_64              1:1.1.1k-2.el7                 epel              1.5 M事务概要
==========================================================================================================
安装  1 软件包 (+2 依赖软件包)总下载量:2.1 M
安装大小:5.2 M
Is this ok [y/d/N]: [root@localhost yum.repos.d]# yum install nginx --downloadonly --downloaddir=/data/
[root@localhost http]#yum install nginx --downloadonly --downloaddir=/nginx/
--downloadonly  #只下载相关包默认至某一目录
--downloaddir=绝对目录路径  #下载到某一目录  

实验目的:客户机没有任何网 ,服务机只下载不安装,再把安装包一个一个拷给客户机

5.制作镜像

mkisofs -r -o  /root/xxx.iso  /data/centos7/epel 
将光盘制作成镜像

6.升级内核

升级内核,危险系数很高,一般不升级内核哦

分为编译安装内核       和yum安装内核

[root@localhost ~]#yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm      #安装内核源
[root@localhost ~]#cd /etc/yum.repos.d/
[root@localhost yum.repos.d]#vim elrepo.repo
[elrepo-kernel]
enabled=1           #打开内核库
[root@localhost yum.repos.d]#uname -r   #查看当前内核版本
[root@localhost yum.repos.d]#yum list *kernel*      #查看内核库里所有的版本的内核
[root@localhost yum.repos.d]#yum install -y kernel-lt.x86_64  
#复制你选定的内核版本下载更新即可
[root@localhost ~]#ls /boot    #查看是否生成新版本的内核文件

此次展示yum安装内核

轻松一刻:

yum install epel-release.noarch -y 额外源

yum install pssh -y

小火车

[root@centos7 ~]#yum -y install epel-release
[root@centos7 ~]#yum -y install sl
[root@centos7 ~]#sl -a


[root@localhost ~]#yum install -y install cowsay
[root@localhost ~]#cowsay hello

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

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

相关文章

maxwell同步全量历史数据

CentOS安装maxwell 在上篇的基础上&#xff0c;我们实现了实时同步mysql数据到kafka。maxwell不仅可以同步实时数据&#xff0c;也可以同步全量历史数据。在这里模拟一下历史数据的场景&#xff0c;创建表结构如下&#xff0c;并写入测试数据。 CREATE TABLE user_det…

手把手教你搭建一个数据可视化看板

前言 俗话说的好&#xff0c;“字不如表&#xff0c;表不如图”、“有图有真相&#xff0c;一图胜千言”。 数据可视化就是用图的形式把基础数据直观&#xff0c;简洁的&#xff0c;高效的展示出来&#xff0c;今天为大家介绍一下如何使用葡萄城公司的嵌入式BI工具——Wyn商业…

JavaScript的Class基本语法

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 JavaScript是一种基于原型的语言&#xff0c;但在ES6中引入了class关…

成功解决VScode进入到内置函数中调试

主要有两个关键步骤&#xff0c; 第一步 将launch.json中的"justMyCode"设为false 可通过使用ctrlshiftP搜索lauch.json找到次文件 如果找不到的话&#xff0c;可点击debug按钮&#xff0c;然后找到点击create a launch.json file创建 创建得到的launch.json如下&am…

32单片机RTC时间接续,掉电时间保存

1、实现思路 前提&#xff1a;首先要实现RTC掉电之后时间还能继续走&#xff0c;RTC电池是必要的 说明&#xff1a;设备第一次启动需要初始化配置RTC&#xff0c;但当二次启动再重新配置RTC会导致RTC计数器置零&#xff0c;所以传统的程序流程是不行的&#xff0c;我们需要知…

2024“华数杯”(A题)|放射性废水扩散|国际大学生数学建模竞赛建模解析,小鹿学长带队指引全代码文章与思路

我是小鹿学长&#xff0c;就读于上海交通大学&#xff0c;截至目前已经帮200人完成了建模与思路的构建的处理了&#xff5e; 完整内容可以在文章末尾领取&#xff01; 这回带大家体验一下2024“华数杯”国际大学生数学建模竞赛呀&#xff01; 此题涉及到放射性废水从日本排放…

齿轮齿条运动相关计算(博途S7-1200PLC脉冲轴组态)

有关S7-1200PLC脉冲轴相关应用介绍请参考下面的系列文章: S7-1200PLC脉冲轴位置控制功能块 https://rxxw-control.blog.csdn.net/article/details/135299302https://rxxw-control.blog.csdn.net/article/details/135299302S7-1200脉冲轴功能块 https://rxxw-control.blog.c…

如何在 Python3 中使用变量

介绍 变量是一个重要的编程概念&#xff0c;值得掌握。它们本质上是在程序中用于表示值的符号。 本教程将涵盖一些变量基础知识&#xff0c;以及如何在您创建的 Python 3 程序中最好地使用它们。 理解变量 从技术角度来说&#xff0c;变量是将存储位置分配给与符号名称或标…

【JVM调优系列】如何导出堆内存文件

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -投票帖子明细实现

锋哥原创的uniapp微信小程序投票系统实战&#xff1a; uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

图像处理------亮度

from PIL import Imagedef change_brightness(img: Image, level: float) -> Image:"""按照给定的亮度等级&#xff0c;改变图片的亮度"""def brightness(c: int) -> float:return 128 level (c - 128)if not -255.0 < level < 25…

leetcode234. 回文链表

题目 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;hea…

《手把手教你》系列技巧篇(十)-java+ selenium自动化测试-元素定位大法之By class name(详细教程)

1.简介 按宏哥计划&#xff0c;本文继续介绍WebDriver关于元素定位大法&#xff0c;这篇介绍By ClassName。看到ID&#xff0c;NAME这些方法的讲解&#xff0c;小伙伴们和童鞋们应该知道&#xff0c;要做好Web自动化测试&#xff0c;最好是需要了解一些前端的基本知识。有了前端…

养成密码管理习惯,保障个人数字安全

在当今数字时代&#xff0c;保障个人信息的安全已经变得至关重要。创建和维护安全、复杂的密码是防范潜在攻击者的首要步骤。密码不仅仅是数字世界的通行证&#xff0c;更是个人隐私的最后一道防线。在本文中&#xff0c;我们将深入探讨密码安全管理的重要性。 在当今数字时代…

超实用+全覆盖!17个大分类,近500款主流实用精品AI工具导航,太贴心了!总有一款适合你。

超实用全覆盖&#xff01;17个大分类&#xff0c;近500款主流实用精品AI工具导航&#xff0c;太贴心了&#xff01;总有一款适合你。 大家好&#xff01;我是老码农。 今天给大家分享的这个工具导航&#xff1a;非常棒。 那棒在哪里呢&#xff1f; 第1点&#xff1a;非常垂…

Leetcode23-数组能形成多少数对(2341)

1、题目 给你一个下标从 0 开始的整数数组 nums 。在一步操作中&#xff0c;你可以执行以下步骤&#xff1a; 从 nums 选出 两个 相等的 整数 从 nums 中移除这两个整数&#xff0c;形成一个 数对 请你在 nums 上多次执行此操作直到无法继续执行。 返回一个下标从 0 开始、长…

USB8814动态信号采集卡——声音振动类信号处理的理想之选!

背景介绍&#xff1a; 科技的发展在一定程度上依赖于对信号的处理&#xff0c;信号处理技术的先进性在很大程度上决定了科技发展的速度和方向。数字信号处理技术的崛起&#xff0c;彻底改变了传统的信息与信号处理方式&#xff0c;使得数据采集这一前期工作在数字系统中发挥着…

JavaScript 学习笔记(Day1)

「写在前面」 本文为 b 站黑马程序员 pink 老师 JavaScript 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。 目录 1 课程介绍 2 课程软件准备工作 3 JavaScript 介绍 4 变量 5 常量 6 数据类型 7 类型转换 8 实战案…

最新GPT科研应用与AI绘图及论文高效写作

详情点击链接&#xff1a;最新GPT科研应用与AI绘图及论文高效写作 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#xff0c;AI画图&#xff0c;图像识别&#xff0c;文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二定制…

huggingface学习 | 云服务器使用git-lfs下载huggingface上的模型文件

文章目录 一、找到需要下载的huggingface文件二、准备工作&#xff08;一&#xff09;安装git-lfs&#xff08;二&#xff09; 配置git ssh 三、检查ssh连接huggingface是否成功 一、找到需要下载的huggingface文件 huggingface官网链接&#xff1a;https://huggingface.co/ 以…