Linux技能篇-yum源搭建(本地源和公网源)

news2025/4/18 5:26:47

文章目录

  • 前言
  • 一、yum源是什么?
  • 二、使用镜像搭建本地yum源
    • 1.搭建临时仓库
      • 第一步:挂载系统ios镜像到虚拟机
      • 第二步:在操作系统中挂载镜像
      • 第三步:修改yum源配置文件
    • 2.搭建本地仓库
      • 第一步:搭建临时yum源来安装httpd并做文件分享
      • 第二步:在需要yum的机器上修改yum源配置文件
  • 三、使用公网yum源仓库
    • 1.寻找需要的仓库url
    • 2. 修改配置文件


前言

本文章基于centos7,适用于centos6,7,8,9等版本搭建yum源,文章分为网络源和本地源两部分内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、yum源是什么?

YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。
在这里插入图片描述

我们也将yum叫做包管理器,顾名思义,就是为了解决Linux操作系统的软件下载,安装,卸载,以及解决包与包之间的依赖关系。

注:什么是依赖关系?
Linux 依赖项只是程序需要运行的东西。这是因为 Linux 开发人员倾向于以模块化的方式编写程序。这可以追溯到从较小的组件构建程序的“Unix 哲学”。依赖项通常是共享库。它们可能用于访问数据库、使用网络协议或在屏幕上绘制图形元素。虽然专有程序也使用共享库,但在 Linux 世界中这样做更容易,因为它们通常也是开源的。依赖项也可以是完整的程序。Linux 世界中的一种常见模式是为现有命令行程序构建 GUI 前端。使用共享库使开发更容易,因为开发人员不必在每次要创建新应用程序时都想出新的方法来做事。

二、使用镜像搭建本地yum源

前提:需要准备对应的操作系统镜像。

1.搭建临时仓库

搭建临时仓库,意思就是临时使用,可能使用完之后就不需要了,等下次需要的时候再搭建,不需要长期保持yum源在机器上的使用场景。
这里我用centos7.9的镜像和虚拟机来做示范。

第一步:挂载系统ios镜像到虚拟机

在这里插入图片描述
操作系统的安装镜像中含有很多我们常见的rpm包,足可以应付大部分的使用场景。
完成之后,这个图标亮了表示已经连接iso到系统中。
在这里插入图片描述

第二步:在操作系统中挂载镜像

在Linux系统中,一般情况下/mnt目录中不会存放文件,这个大多数时候都是当作挂载点来使用

[root@localhost ~]# ls -al /
total 16
dr-xr-xr-x.  17 root root  224 May 26 05:34 .
dr-xr-xr-x.  17 root root  224 May 26 05:34 ..
lrwxrwxrwx.   1 root root    7 May 26 05:30 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 May 26 05:34 boot
drwxr-xr-x.  20 root root 3220 Nov 12 08:51 dev
drwxr-xr-x.  75 root root 8192 Nov 12 08:54 etc
drwxr-xr-x.   2 root root    6 Apr 11  2018 home
lrwxrwxrwx.   1 root root    7 May 26 05:30 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 May 26 05:30 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Apr 11  2018 media
drwxr-xr-x.   2 root root    6 Apr 11  2018 mnt
drwxr-xr-x.   2 root root    6 Apr 11  2018 opt
dr-xr-xr-x. 113 root root    0 Nov 12 08:51 proc
dr-xr-x---.   2 root root  135 Nov  9 17:00 root
drwxr-xr-x.  24 root root  720 Nov 12 08:54 run
lrwxrwxrwx.   1 root root    8 May 26 05:30 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Apr 11  2018 srv
dr-xr-xr-x.  13 root root    0 Nov 12 08:51 sys
drwxrwxrwt.   8 root root  127 Nov 12 08:51 tmp
drwxr-xr-x.  13 root root  155 May 26 05:30 usr
drwxr-xr-x.  19 root root  267 May 26 05:35 var

我们执行命令将iso镜像挂载到/mnt目录下

[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 is write-protected, mounting read-only

注:这里两个命令使用其中一个就可以,/dev/cdrom和/dev/sr0在这里都表示这个镜像,这里有个细节,cdrom是sr0的软链接。

[root@localhost ~]# ll /dev
total 0
crw-rw----. 1 root video    10, 175 Nov 12 08:51 agpgart
crw-------. 1 root root     10, 235 Nov 12 08:51 autofs
drwxr-xr-x. 2 root root         160 Nov 12 08:51 block
drwxr-xr-x. 2 root root          80 Nov 12 08:51 bsg
crw-------. 1 root root     10, 234 Nov 12 08:51 btrfs-control
drwxr-xr-x. 3 root root          60 Nov 12 08:51 bus
lrwxrwxrwx. 1 root root           3 Nov 12 09:08 cdrom -> sr0
drwxr-xr-x. 2 root root          80 Nov 12 08:51 centos

第三步:修改yum源配置文件

在centos系统中,yum源的配置文件位于/etc/yum.repos.d目录下

[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  CentOS-x86_64-kernel.repo

在默认情况下,centos系统会在这个文件下存放公网的yum源配置,这些我们都用不到,建个目录都放进去就好了

[root@localhost yum.repos.d]# mkdir repobak
[root@localhost yum.repos.d]# mv ./* repobak/
mv: cannot move ‘./repobak’ to a subdirectory of itself, ‘repobak/repobak’
[root@localhost yum.repos.d]# ls
repobak

为什么会报错呢,因为repobak就是mv命令的目标目录,目标目录不会把自己放进自己里面,这是做不到的
然后我们新建一个本地的yum源配置文件,这个文件名可以随便起,但是,必须以 .repo 结尾

[root@localhost yum.repos.d]# touch local.repo
[root@localhost yum.repos.d]# vi local.repo
[localrepo]
name=local
baseurl=file:///mnt/
enable=1
gpgcheck=0

一共有五行内容,详解:
[localrepo] :标识yum源,在一个配置文件中可以配置多个yum源,用方括号来标识它们,方括号里面内容可以自定义
name=local :yum源名称,也可自定义
baseurl=file:///mnt/ :这个是yum源的地址,在本地挂载镜像的情况下,这个路径就是你镜像挂载点的位置
enable=1 :这个标识yum源的状态,1为启用,0为禁用
gpgcheck=0 :yum源校验,1为启用,0为禁用
(如果启用yum源校验,还需要输入一行gpgkey的内容,一般情况下不需要校验,如果有需要,自己添加一行)
第四步:同步yum源
先执行以下命令清空本地yum源缓存

[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: localrepo
Cleaning up list of fastest mirrors

然后查看yum源列表,新建yum源缓存

[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                                                                               repo name                                                                                         status
localrepo                                                                                             local                                                                                             4,070
repolist: 4,070
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
localrepo                                                                                                                                                                              | 3.6 kB  00:00:00
(1/2): localrepo/filelists_db                                                                                                                                                          | 3.3 MB  00:00:00
(2/2): localrepo/other_db                                                                                                                                                              | 1.3 MB  00:00:00
Metadata Cache Created

到这里,临时的yum源也就搭建好了,这里我们使用的是mount命令来做挂载,这个不具有持久性,如果机器重启,那开机还需要重新挂载,但是配置文件是不会丢的
安装bash-completion和vim工具:

[root@localhost yum.repos.d]# yum install -y vim bash-completion
······
Complete!
[root@localhost yum.repos.d]#

安装完成!

2.搭建本地仓库

使用iso挂载镜像做yum源虽然可以满足我们的需求,但是一旦有很多台机器都需要搭建yum源,一台一台挂载镜像这种方式显然非常麻烦,这时候有一个yum仓库,所有机器都使用这个仓库就会很省事。一些公司或者企业都会有专门的yum源服务器,所以掌握搭建yum仓库是非常有必要的。
我在这里使用http来搭建,(当然,你也可以使用ftp)我在这用http来做,如果有兴趣,你可以使用ftp来做,我就不教你了

第一步:搭建临时yum源来安装httpd并做文件分享

这里直接从安装httpd开始,搭建临时的yum源看前面的部分

[root@localhost yum.repos.d]# yum install httpd
······
Complete!

默认安装就好,不需要花里胡哨
将iso镜像挂载到/var/www/html目录下,为了保持目录的简洁,新建一个目录(如果有多个镜像,这样可以使这个目录更加整洁,可读性也更高)
(一般情况下,镜像放在一个目录,然后将镜像挂载过来就行,如果你的机器空间足够大,你也可以直接把iso镜像复制过来,这个你自己决定就好了,我这里空间不太大,就挂载过来了,为了稳定,建议将iso镜像放到机器中)

[root@localhost yum.repos.d]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# mkdir centos79
[root@localhost html]# ls
centos79
[root@localhost html]# mount /dev/cdrom /var/www/html/centos79/
mount: /dev/sr0 is write-protected, mounting read-only

挂载成功之后,启动httpd服务,在本机的浏览器中输入ip和目录来访问,看看是否挂载成功

[root@localhost html]# systemctl start httpd
[root@localhost html]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2023-11-12 09:55:37 CST; 10s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 1569 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─1569 /usr/sbin/httpd -DFOREGROUND
           ├─1570 /usr/sbin/httpd -DFOREGROUND
           ├─1571 /usr/sbin/httpd -DFOREGROUND
           ├─1572 /usr/sbin/httpd -DFOREGROUND
           ├─1573 /usr/sbin/httpd -DFOREGROUND
           └─1574 /usr/sbin/httpd -DFOREGROUND

Nov 12 09:55:37 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
Nov 12 09:55:37 localhost.localdomain httpd[1569]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' di... this message
Nov 12 09:55:37 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

[root@localhost html]# ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.137.132/24 brd 192.168.137.255 scope global noprefixroute dynamic ens33
       valid_lft 1682sec preferred_lft 1682sec

我这台机器的ip是192.168.137.132,所以,地址为http://192.168.137.132/centos79
如果不能访问,查看防火墙(firewalld)和selinux服务状态,关闭firewalld和selinux
在这里插入图片描述
如果是在没有浏览器的情况下,使用curl访问你的http服务的地址也是可以的,如果没有回显,那可能服务状态有异常

[root@localhost ~]# curl  http://192.168.137.132/cenos79
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /cenos79 was not found on this server.</p>
</body></html>

第二步:在需要yum的机器上修改yum源配置文件

[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  CentOS-x86_64-kernel.repo
[root@localhost yum.repos.d]# mkdir repobak
[root@localhost yum.repos.d]# mv ./* repobak/
mv: cannot move ‘./repobak’ to a subdirectory of itself, ‘repobak/repobak’
[root@localhost yum.repos.d]# ls
repobak
[root@localhost yum.repos.d]# touch centos79.repo
[root@localhost yum.repos.d]# vi centos79.repo
[centos79]
name=centos79
baseurl=http://192.168.137.132/centos79
enable=1
gpgcheck=0

Loaded plugins: fastestmirror
Cleaning repos: centos79
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
centos79                                                                                                                                                                               | 3.6 kB  00:00:00
(1/2): centos79/group_gz                                                                                                                                                               | 153 kB  00:00:00
(2/2): centos79/primary_db                                                                                                                                                             | 3.3 MB  00:00:00
repo id                                                                                             repo name                                                                                           status
centos79                                                                                            centos79                                                                                            4,070
repolist: 4,070
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
centos79                                                                                                                                                                               | 3.6 kB  00:00:00
(1/2): centos79/other_db                                                                                                                                                               | 1.3 MB  00:00:00
(2/2): centos79/filelists_db                                                                                                                                                           | 3.3 MB  00:00:00
Metadata Cache Created

到这里你的yum源仓库就搭建好了。

三、使用公网yum源仓库

前提:Linux操作系统可以访问到公网。

1.寻找需要的仓库url

在公网中,我们一般会使用国内镜像站的源,在最开始,这些源都是在国外的,下载速度很慢,而且,访问外网也是咱们国家不允许的。
经常使用的镜像站有很多,我在这列举我最常用的三个:排名不分先后,都很好用,看你个人喜好!!!

清华源:https://mirrors.tuna.tsinghua.edu.cn/help/centos/
中科大源:https://mirrors.ustc.edu.cn/help/centos.html
阿里源:https://developer.aliyun.com/mirror

这些镜像站都有很多系统,具体的使用,到镜像站就会有使用教程,比如:
清华源:
在这里插入图片描述
中科大源:
在这里插入图片描述
阿里源:
在这里插入图片描述

2. 修改配置文件

我们这里以清华源为例,来给大家演示:
确认机器可以连接到公网,按提示操作,对于centos7系统,复制命令到操作系统直接执行就好
不要动原来的配置文件!!!
不要动原来的配置文件!!!
不要动原来的配置文件!!!
使用ping 命令来检测网络连通性:

[root@localhost ~]# ping baidu.com
PING baidu.com (110.242.68.66) 56(84) bytes of data.
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=29.6 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=32.6 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=31.5 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=4 ttl=128 time=31.3 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=5 ttl=128 time=32.2 ms
^C
--- baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4017ms
rtt min/avg/max/mdev = 29.694/31.496/32.682/1.046 ms
[root@localhost ~]#

如上则为连通外网

[root@localhost ~]# sed -e 's|^mirrorlist=|#mirrorlist=|g' \
>     -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
>     -i.bak \
>     /etc/yum.repos.d/CentOS-*.repo
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base extras updates
Cleaning up list of fastest mirrors
[root@localhost ~]# yum makecache
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
base                                                                                                                                                                                   | 3.6 kB  00:00:00
extras                                                                                                                                                                                 | 2.9 kB  00:00:00
updates                                                                                                                                                                                | 2.9 kB  00:00:00
(1/10): base/7/x86_64/group_gz                                                                                                                                                         | 153 kB  00:00:00
(2/10): base/7/x86_64/primary_db                                                                                                                                                       | 6.1 MB  00:00:01
(3/10): base/7/x86_64/filelists_db                                                                                                                                                     | 7.2 MB  00:00:02
(4/10): base/7/x86_64/other_db                                                                                                                                                         | 2.6 MB  00:00:00
(5/10): extras/7/x86_64/primary_db                                                                                                                                                     | 250 kB  00:00:00
(6/10): extras/7/x86_64/other_db                                                                                                                                                       | 150 kB  00:00:00
(7/10): extras/7/x86_64/filelists_db                                                                                                                                                   | 303 kB  00:00:00
(8/10): updates/7/x86_64/primary_db                                                                                                                                                    |  24 MB  00:00:03
(9/10): updates/7/x86_64/other_db                                                                                                                                                      | 1.4 MB  00:00:00
(10/10): updates/7/x86_64/filelists_db                                                                                                                                                 |  13 MB  00:00:03
Metadata Cache Created

配置公网的yum源,就是将原先centos官网的地址更改为国内镜像站的地址,校验啥的都不用变,所以不需要动原来的配置文件,因为很多时候公司或者企业服务器并不能连接到外网,所以这种配置方法很多时候都是个人搭配虚拟机来使用或者电脑为Linux系统的个人使用

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

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

相关文章

什么是Amazon Simple Email Service(SES 群发邮件)

Amazon Simple Email Service&#xff08;Amazon SES&#xff09;让您可以使用 Amazon SES API 或 SMTP 接口放心地联络到客户&#xff0c;而无需使用本地简单邮件传输协议&#xff08;Simple Mail Transfer Protocol&#xff0c;SMTP&#xff09;电子邮件服务器。 目录 什么是…

[头歌]第1关:动态学生信息管理

题目&#xff1a; C 面向对象 _ STL 的应用 (educoder.net) 考点&#xff1a; 1.自定义排序 bool cmp 2.如何使用find和erase来找到学生类里面的指定姓名的人并将其从动态数组中删除。 3.find要找的是学生类里面的成员变量而非单纯的直接找值&#xff0c;应如何实现 &…

计算机毕业设计 基于SpringBoot的驾校管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

【GIT】git分支命令,使用分支场景介绍git标签介绍,git标签命令,git标签使用的场景git查看提交历史

目录 一&#xff0c;git分支命令&#xff0c;使用分支场景介绍 二&#xff0c;git标签介绍&#xff0c;git标签命令&#xff0c;git标签使用的场景 三&#xff0c;git查看提交历史 前言&#xff1a; 今天我们来聊聊关于Git 分支管理。几乎每一种版本控制系统都以某种形式支持…

两数之和问题

题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺…

Leetcode—9.回文数【简单】

2023每日刷题&#xff08;二十六&#xff09; Leetcode—9.回文数 直接法实现代码 bool isPalindrome(int x) {int len 0;int arr[10] {0};int i 0;if(x < 0) {return false;}while(x) {arr[i] x % 10;x / 10;len; }for(i 0; i < len / 2; i) {if(arr[i] ! arr[le…

如何正确使用GPT工具

引言 在快速发展的数字时代&#xff0c;人工智能&#xff08;AI&#xff09;已成为科研领域的一个不可或缺的工具。特别是像ChatGPT这样的AI聊天机器人&#xff0c;它通过高效的语言模型和深度学习算法&#xff0c;为科研工作者提供了前所未有的辅助。从文献搜索到数据分析&…

一文了解游戏行业(数据分析)

一.概况 1.基本术语 游戏行业基础术语——持续更新ing... 2.产业链 包括游戏开发&#xff0c;发行和销售等环节 游戏开发&#xff1a;上游环节&#xff1b;是游戏产业链的核心环节&#xff0c;包括游戏策划&#xff0c;美术设计&#xff0c;程序开发等&#xff0c;是决定游…

Day27力扣打卡

打卡记录 情侣牵手&#xff08;并查集&#xff09; 链接 class Solution:def minSwapsCouples(self, row: List[int]) -> int:def find(x: int) -> int:if p[x] ! x:p[x] find(p[x])return p[x]n len(row) >> 1p list(range(n))for i in range(0, len(row), 2…

【多线程 - 01、概述】

进程 几乎所有的操作系统都支持进程概念&#xff0c;进程是处于运行过程中的程序&#xff0c;进程是操作系统中进行资源分配的基本单位。 三个基本特征 独立性&#xff1a;指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。而对于未建立任何进程的程序&…

[PHP]Kodexplorer可道云 v4.47

KodExplorer可道云&#xff0c;原名芒果云&#xff0c;是基于Web技术的私有云和在线文件管理系统&#xff0c;由上海岱牧网络有限公司开发&#xff0c;发布于2012年6月。致力于为用户提供安全可控、可靠易用、高扩展性的私有云解决方案。 用户只需通过简单环境搭建&#xff0c;…

玩了个锤子游戏小程序搭建流程:探索深度与逻辑的结合

随着移动互联网的普及&#xff0c;小程序已经成为了越来越多用户的选择。在这个背景下&#xff0c;玩了个锤子游戏小程序应运而生&#xff0c;它为用户提供了一个全新的游戏体验。那么&#xff0c;如何搭建这样一个小程序呢&#xff1f;本文将为大家详细介绍玩了个锤子游戏小程…

数据库 关系数据理论

问题 数据冗余更新异常插入异常删除异常 一个好的模式应当不会发生插入异常、删除异常和更新异常&#xff0c;数据冗余应尽可能少 数据依赖 定义&#xff1a;一个关系内部属性与属性之间的一种约束关系&#xff08;该约束关系是通过属性间值的相等与否体现出来数据间相关联…

Goland报错:Cannot resolve symbol ‘XXX‘。一键解决该问题。

Goland报错&#xff1a;Cannot resolve symbol XXX。一键解决该问题。 问题是&#xff1a;Cannot resolve symbol XXX解决方法是&#xff1a; 问题是&#xff1a;Cannot resolve symbol ‘XXX’ 问题的背景&#xff1a; 我写了两个包&#xff0c;分别是main 、utils包。main包…

Python----元组的定义与使用

1、为什么需要元组 思考&#xff1a;如果想要存储多个数据&#xff0c;但是这些数据是不能修改的数据&#xff0c;怎么做&#xff1f; 首先&#xff0c;列表可以一次性存储多个数据&#xff0c;但是列表中的数据允许更改。 相关链接&#xff1a;Python--列表及其应用场景-CS…

封装

文章目录 概念优点访问限定符封装的必要性代码块普通代码块构造块静态块 概念 在面向对象中&#xff0c;封装是指对于某个对象&#xff0c;Java隐藏对象的属性和方法的实现细节&#xff0c;仅对外公开接口&#xff0c;控制在程序中属性的读取和修改的访问级别。适当的封装可以…

KVM虚拟机迁移原理与实践

虚拟机迁移 迁移(migration)包括系统整体的迁移和某个工作负载的迁移&#xff0c;系统整体迁移是将系统上的所有软件&#xff0c;包括操作系统&#xff0c;完全复制到另一台物理硬件机器上&#xff0c;而工作负载迁移仅仅迁移特定的工作负载。 虚拟化技术的出现&#xff0c;丰…

CSS的初步学习

CSS 层叠样式表 (Cascading Style Sheets). CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结 构分离. CSS 就是 “东方四大邪术” 之化妆术 CSS 基本语法规范: 选择器 若干属性声明 选择器决定针对谁修改 (找谁) 声明决定修…

考研分享第1期 | 末9生物跨专业考研北京大学电子信息404分经验分享

全文概览 一、个人信息 二、关于考研的经验分享 三、最后的小Tips 一、个人信息 姓名&#xff1a;Jackson 本科院校&#xff1a;某末流985生物专业 报考院校&#xff1a;北京大学电子信息专业 择校意向&#xff1a;北航计算机、人大高瓴、复旦软院、清华大学深研院、北…