Kali 软件管理

kali 更新

1. 查看发行版本

┌──(root㉿kali)-[~]
└─# lsb_release -a
No LSB modules are available.
Distributor ID: Kali
Description:    Kali GNU/Linux Rolling
Release:        2023.2
Codename:       kali-rolling

2. 查看内核版本

┌──(root㉿kali)-[~]
└─# uname -r 
6.3.0-kali1-amd64

3. 软件仓库配置文件(.list结尾)

软件存储库存储在 /etc/apt/sources.list 文件中

还可以把一些自定义或单独的应用配置文件放在 /etc/apt/sources.list.d/*.list 中

配置文件

4. 更新工具(apt-get 命令)

──(root㉿kali)-[~]
└─# apt-get -h         
apt 2.6.1 (amd64)
用法: apt-get [选项] 命令apt-get [选项] install|remove 软件包1 [软件包2 ...]apt-get [选项] source 软件包1 [软件包2 ...]apt-get 可以从认证软件源下载软件包及相关信息,以便安装和升级软件包,
或者用于移除软件包。在这些过程中,软件包依赖会被妥善处理。常用命令:update - 取回更新的软件包列表信息upgrade - 进行一次升级install - 安装新的软件包(注:软件包名称应当类似 libc6 而非 libc6.deb)reinstall - 重新安装软件包(注:软件包名称应当类似 libc6 而非 libc6.deb)remove - 卸载软件包purge - 卸载并清除软件包的配置autoremove - 卸载所有自动安装且不再使用的软件包dist-upgrade - 发行版升级,见 apt-get(8)dselect-upgrade - 根据 dselect 的选择来进行升级build-dep - 为源码包配置所需的编译依赖关系satisfy - 使系统满足依赖关系字符串clean - 删除所有已下载的包文件autoclean - 删除已下载的旧包文件check - 核对以确认系统的依赖关系的完整性source - 下载源码包文件download - 下载指定的二进制包到当前目录changelog - 下载指定软件包,并显示其变更日志(changelog)

Kali 的更新步骤:

1. apt-get update 更新软件包的列表 (索引)

解决更新软件包列表失败: apt-get update --fix-missing

┌──(root㉿kali)-[~]
└─# apt-get update
获取:1 http://mirrors.ustc.edu.cn/kali kali-rolling InRelease [41.2 kB]
获取:2 http://mirrors.ustc.edu.cn/kali kali-rolling/main Sources [15.8 MB]
获取:3 http://mirrors.ustc.edu.cn/kali kali-rolling/contrib Sources [78.0 kB]                 
获取:4 http://mirrors.ustc.edu.cn/kali kali-rolling/non-free Sources [129 kB]                 
获取:5 http://mirrors.ustc.edu.cn/kali kali-rolling/main amd64 Packages [19.4 MB]             
获取:6 http://mirrors.ustc.edu.cn/kali kali-rolling/main amd64 Contents (deb) [45.7 MB]       
获取:7 http://mirrors.ustc.edu.cn/kali kali-rolling/non-free amd64 Packages [218 kB]          
获取:8 http://mirrors.ustc.edu.cn/kali kali-rolling/non-free amd64 Contents (deb) [907 kB]    
获取:9 http://mirrors.ustc.edu.cn/kali kali-rolling/contrib amd64 Packages [115 kB]           
获取:10 http://mirrors.ustc.edu.cn/kali kali-rolling/contrib amd64 Contents (deb) [220 kB]    
已下载 82.6 MB,耗时 414(325 kB/s)                                                      
正在读取软件包列表... 完成

2. apt-get upgrade更新软件包(进行一次升级)

┌──(root㉿kali)-[~]
└─# apt-get upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
正在计算更新... 完成
下列软件包是自动安装的并且现在不需要了:

3. apt-get dist-upgrade将系统升级到最新版本

┌──(root㉿kali)-[~]
└─# apt-get dist-upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
正在计算更新... 完成

4. apt-get clean #清除更新痕迹//可选

搜索 - 安装 - 删除软件

Advanced Packaging Tool, or apt 主要的命令就是apt-get,通过软件仓库实现对软件包的管理,可以很好地解决软件包之间的相互依赖关系

1. 搜索

apt-cache 可以查询和显示已安装和可安装软件包的可用信息它专门工作在本地的数据缓存上,而这些缓存可以通过比如apt-get 的“update’命令来更新

┌──(root㉿kali)-[~]
└─# apt-cache -h               
apt 2.7.3 (amd64)
用法: apt-cache [选项] 命令apt-cache [选项] show 软件包1 [软件包2 ...]apt-cache 可以查询和显示已安装和可安装软件包的可用信息。
它专门工作在本地的数据缓存上,而这些缓存可以通过比如
apt-get'update' 命令来更新。如果距离上一次更新的时间太久,
那么它显示的信息可能就会过时。不过作为交换,apt-cache 不依赖
当前软件源的可用性(比如:离线状态)。常用命令:showsrc - 显示源文件的各项记录search - 根据正则表达式搜索软件包列表depends - 显示该软件包的依赖关系信息rdepends - 显示所有依赖于该软件包的软件包名字show - 以便于阅读的格式介绍该软件包pkgnames - 列出所有软件包的名字policy - 显示软件包的安装设置状态

常用的命令选项

  • search- 根据正则表达式搜索软件包列表
  • show-以便于阅读的格式介绍该软件包
┌──(root㉿kali)-[~]
└─# apt-cache search vsftpd    
ccze - robust, modular log coloriser
resource-agents - Cluster Resource Agents
vsftpd - lightweight, efficient FTP server written for security
vsftpd-dbg - lightweight, efficient FTP server written for security (debug)
yasat - simple stupid audit tool## 正则表达式
┌──(root㉿kali)-[~] ## ^ 开始
└─# apt-cache search ^vsftpd
vsftpd - lightweight, efficient FTP server written for security
vsftpd-dbg - lightweight, efficient FTP server written for security (debug)┌──(root㉿kali)-[~] ## 查看
└─# apt-cache show vsftpd   
Package: vsftpd
Source: vsftpd (3.0.3-13)
Version: 3.0.3-13+b2
Installed-Size: 343
Maintainer: Keng-Yu Lin <kengyu@debian.org>
Architecture: amd64
Replaces: ftp-server
Provides: ftp-server
Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), libcap2 (>= 1:2.10), libpam0g (>= 0.99.7.1), libssl3 (>= 3.0.0), libwrap0 (>= 7.6-4~), adduser, libpam-modules, lsb-base (>= 3.0-6), netbase, procps, sysvinit-utils (>= 2.96)

管理工具 dpkg

Debian的软件包格式 *.deb (管理工具是dpkg) dpkg - package manager for

┌──(root㉿kali)-[~]
└─# dpkg --help
用法:dpkg [<选项>...] <命令>命令:-i|--install       <.deb 文件名> ... | -R|--recursive <目录> ...--unpack           <.deb 文件名> ... | -R|--recursive <目录> ...-A|--record-avail  <.deb 文件名> ... | -R|--recursive <目录> ...--configure        <软件包名>    ... | -a|--pending--triggers-only    <软件包名>    ... | -a|--pending-r|--remove        <软件包名>    ... | -a|--pending-P|--purge         <软件包名>    ... | -a|--pending-V|--verify <软件包名> ...       检查包的完整性。--get-selections [<表达式> ...]  把已选中的软件包列表打印到标准输出。--set-selections                 从标准输入里读出要选择的软件。--clear-selections               取消选中所有非必需的软件包。--update-avail <软件包文件>      替换现有可安装的软件包信息。--merge-avail  <软件包文件>      把文件中的信息合并到系统中。--clear-avail                    清除现有的软件包信息。--forget-old-unavail             忘却已被卸载的不可安装的软件包。-s|--status      <软件包名> ...  显示指定软件包的详细状态。-p|--print-avail <软件包名> ...  显示可供安装的软件版本。-L|--listfiles   <软件包名> ...  列出属于指定软件包的文件。-l|--list  [<表达式> ...]        简明地列出软件包的状态。-S|--search <表达式> ...         搜索含有指定文件的软件包。-C|--audit [<表达式> ...]        检查是否有软件包残损。--yet-to-unpack                  列出标记为待解压的软件包。--predep-package                 列出待解压的预依赖。--add-architecture    <体系结构> 添加 <体系结构> 到体系结构列表。--remove-architecture <体系结构> 从体系结构列表中移除 <体系结构>。--print-architecture             显示 dpkg 体系结构。--print-foreign-architectures    显示已启用的异质体系结构。--assert-<特性>                  对指定特性启用断言支持。--validate-<属性> <字符串>       验证一个 <属性><字符串>。--compare-versions <a> <关系> <b> 比较版本号 - 见下。--force-help                     显示本强制选项的帮助信息。-Dh|--debug=help                 显示有关出错调试的帮助信息。-?, --help                       显示本帮助信息。--version                    显示版本信息。可验证的属性:pkgname, archname, trigname, version.调用 dpkg 并带参数 -b, --build, -c, --contents, -e, --control, -I, --info,-f, --field, -x, --extract, -X, --vextract, --ctrl-tarfile, --fsys-tarfile
是针对归档文件的。 (输入 dpkg-deb --help 获取帮助)选项:--admindir=<目录>          使用指定 <目录> 而非 /var/lib/dpkg。--root=<目录>              安装到另一个根目录下。--instdir=<目录>           改变安装目录的同时保持管理目录不变。--pre-invoke=<命令>        设置调用前钩子。--post-invoke=<命令>       设置调用后钩子。--path-exclude=<表达式>    不要安装匹配Shell表达式的路径。--path-include=<表达式>    在排除模式后再包含一个模式。-O|--selected-only         跳过没有被选中安装或升级的软件包。-E|--skip-same-version     跳过版本与已安装软件版本相同的软件包。-G|--refuse-downgrade      跳过版本早于已安装软件版本的的软件包。-B|--auto-deconfigure      就算会损坏其他软件包,也要安装。--[no-]triggers            跳过或强制随之发生的触发器处理。--verify-format=<格式>     检查输出格式(支持的值:'rpm')--no-pager                 禁用任何分页器。--no-debsig                不去尝试验证软件包的签名。--no-act|--dry-run|--simulate仅报告要执行的操作 - 但是不执行。-D|--debug=<八进制数>      开启调试(参见 -Dhelp 或者 --debug=help)。--status-fd <n>            发送状态更新到文件描述符<n>。--status-logger=<命令>     发送状态更新到 <命令> 的标准输入。--log=<文件名>             将状态更新和操作信息到 <文件名>。--ignore-depends=<软件包>[,...]忽略关于 <软件包> 的所有依赖关系。--force-<项目>...          忽视遇到的问题(参见 --force-help)。--no-force-<项目>[,...]    遇到指定问题时停止。--refuse-<项目>[,...]      同上。--abort-after <n>          累计遇到 <n> 个错误后中止。--robot                    对某些命令使用机器可读的输出。可供--compare-versions 使用的比较运算符有:lt le eq ne ge gt        (如果版本号为空,那么就认为它先于任意版本号);lt-nl le-nl ge-nl gt-nl  (如果版本号为空,那么就认为它后于任意版本号)< << <= = >= >> >        (仅仅是为了与主控文件的语法兼容)'apt''aptitude' 提供了更为便利的软件包管理。

DebianCentos、RedHat的软件包格式*.rpm (管理工具是rpm)

┌──(root㉿kali)-[~]
└─# dpkg -l      
期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触 >
|/ 错误?=()/须重装(R) (状态,错误:大写=故障)
||/ 名称                                           版本                                 体系结>
+++-==============================================-====================================-======>
ii  acl                                            2.3.1-3                              amd64 >
ii  adduser                                        3.137                                all   >
ii  adwaita-icon-theme                             43-1                                 all   >
ii  aircrack-ng                                    1:1.7-5                              amd64 >
ii  alsa-topology-conf                             1.2.5.1-2                            all   >
ii  alsa-ucm-conf                                  1.2.9-1                              all   >
ii  amass                                          4.1.0-0kali1                         amd64 >
ii  amass-common                                   4.1.0-0kali1                         all   >
ii  amd64-microcode                                3.20230808.1.1                       amd64 >
ii  apache2                                        2.4.57-2                             amd64 >
ii  apache2-bin                                    2.4.57-2                             amd64 >
ii  apache2-data                                   2.4.57-2                             all   >
ii  apache2-utils                                  2.4.57-2                             amd64 >
ii  apparmor                                       3.0.8-3                              amd64 >
ii  apt                                            2.7.3                                amd64 >## 查询 dpkg -l | grep less┌──(root㉿kali)-[~]
└─# dpkg -l | grep less
ii  aircrack-ng                                    1:1.7-5                              amd64        wireless WEP/WPA cracking utilities
ii  default-jre-headless                           2:1.17-74                            amd64        Standard Java or Java compatible Runtime (headless)
ii  firmware-ath9k-htc                             1.4.0-108-gd856466+dfsg1-2+kali2     all          firmware for AR7010 and AR9271 USB wireless adapters
ii  firmware-atheros                               20230515-3+kali1                     all          Binary firmware for Qualcomm Atheros wireless cards
ii  firmware-brcm80211                             20230515-3+kali1                     all          Binary firmware for Broadcom/Cypress 802.11 wireless cards
ii  firmware-iwlwifi                               20230515-3+kali1                     all          Binary firmware for Intel Wireless cards
ii  firmware-libertas                              20230515-3+kali1                     all          Binary firmware for Marvell wireless cards

2. 安装软件

## 查询 dpkg -l | grep vsftpd
┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd## 安装 apt-get install vsftpd                                                                                               
┌──(root㉿kali)-[~]
└─# apt-get install vsftpd
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成   ┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd 
ii  vsftpd                                         3.0.3-13+b2                          amd64        lightweight, efficient FTP server written for security

3. 删除软件包

ot㉿kali)-[~]
└─# apt-get remove vsftpd## 以上命令删除 软件后还会存在配置文件
┌──(root㉿kali)-[~]
└─# dpkg -L vsftpd       
/etc
/etc/ftpusers
/etc/init.d
/etc/init.d/vsftpd
/etc/logrotate.d
/etc/logrotate.d/vsftpd
/etc/pam.d
/etc/pam.d/vsftpd
/etc/vsftpd.conf┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd
rc  vsftpd                                         3.0.3-13+b2                          amd64        lightweight, efficient FTP server written for security## 删除2 apt-get purge vsftpd
┌──(root㉿kali)-[~]
└─# apt-get purge vsftpd  
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列软件包是自动安装的并且现在不需要了 ┌──(root㉿kali)-[~]
└─# dpkg -L vsftpd        
dpkg-query: 软件包 vsftpd 没有被安装
通过 dpkg --contents (= dpkg-deb --contents) 来列出档案文件清单。┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd 

4. 搜索 apt-file

apt-file 可以根据命令搜索软件包

┌──(root㉿kali)-[~]
└─# apt-file -h    apt-file [options] action [pattern]
apt-file [options] -f action <file>
apt-file [options] -D action <debfile>Pattern options:
================--fixed-string     -F               Do not expand pattern--from-deb         -D               Use file list of .deb package(s) aspatterns; implies -F--from-file        -f               Read patterns from file(s), one per line(use '-' for stdin)--ignore-case      -i               Ignore case distinctions--regexp           -x               pattern is a regular expression--substring-match                   pattern is a substring (no glob/regex)Search filter options:
======================--architecture     -a  <arch>       Use specific architecture [L]--index-names      -I  <names>      Only search indices listed in <names> [L]--filter-suites        <suites>     Only search indices for the listed <suites> [L](E.g. "unstable")--filter-origins       <origins>    Only search indices from <origins> [L](E.g. "Debian")Other options:
==============--config           -c <file>        Parse the given APT config file [R]--option           -o <A::B>=<V>    Set the APT config option A::B to "V" [R]--package-only     -l               Only display packages name--stream-results                    Emit results immediately (without deduplication)--verbose          -v               run in verbose mode [R]--help             -h               Show this help.--               End of options (necessary if patternstarts with a '-')[L]: Takes a comma-separated list of values.
[R]: The option can be used repeatedlyAction:list|show          <pattern>        List files in packageslist-indices                        List indices configured in APT.search|find        <pattern>        Search files in packagesupdate                              Fetch Contents files from apt-sources.
  • Step0: apt-get install apt-file .

  • Step1: 更新缓存:apt-file update

┌──(root㉿kali)-[~]
└─# apt-file update
命中:1 http://mirrors.ustc.edu.cn/kali kali-rolling InRelease
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
所有软件包均为最新。
  • Step2: 举例 :apt-file search arpspoof.//搜索 arpspoof 命令由哪个软件包提供
┌──(root㉿kali)-[~]
└─# apt-file search arpspoof
bash-completion: /usr/share/bash-completion/completions/arpspoof
dsniff: /usr/sbin/arpspoof
dsniff: /usr/share/man/man8/arpspoof.8.gz

Ps: arpspoof ,arp 欺骗的工具

正则表达式

正则表达式(regular expression),可简写为 regex或re,是一种指定字符串模式的简洁方式即一种用来描述文本模式的特殊语法。由普通字符(例如字符 a 到2)以及特殊字符(称为元字符,如/、*、?等) 组成,常用于字符串的搜索与替换操作。.例如,下面的一组字符串

  • 例如:

    • 作为正则表达式,可以使用 xiao[123]表示:
      xiao1 、xiao2 、xiao3 .
  • 很多UNIX工具都使用正则表达式来强化其自身的功能,例如:

    • (1)查找匹配文本的grep 家族(grep/egrep/agrep)
    • (2)大名鼎鼎的流编辑器 sed
    • (3)字符串程序处理语言 awk、perl 等
    • (4)文本查看程序,例如 more、less 等
    • (5)文本编辑器,例如 vi、emacs、jed 等
  • 特殊的元字符

    • . :除新行(如换行)字符外,匹配任意的单个字符,即一定有一个任意字符
    • ^ :锚:匹配行的开头
    • $ :锚:匹配行的末尾
    • \< :锚:匹配单词的开头 (\b)
    • \> :锚:匹配单词的末尾 (\b)
    • [list] :字符类:匹配 list 列表中的任一字符字符类
    • [^list] :字符类:匹配不在 list 列表中的任何字符
    • ( ) :分组:视为一个单独的单元
    • | :交替:匹配选择之一,为 ERE 运算符里优先级最低
    • \ :引用:从字面上解释元字符,通常用以关闭后续字符的特殊含义。
    • * :匹配在它之前的任何数目《或没有)的单个字符,重复前一个0到无穷多注

注 1:锚(anchor), 用来匹配在字符串的开头或末尾的位置。

注 2:分组,由于()–圆括号提供分组功能,让运算符可以被应用到“前置的正则表达式”

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

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

相关文章

正则常见问题及解决方案

使用正则处理问题的基本思路。有一些方法比较固定&#xff0c;比如将问题分解成多个小问题&#xff0c;每个小问题见招拆招&#xff1a;某个位置上可能有多个字符的话&#xff0c;就⽤字符组。某个位置上有多个字符串的话&#xff0c;就⽤多选结构。出现的次数不确定的话&#…

突破连接壁垒,火山引擎边缘云网络的先行之路

在万物互联时代&#xff0c;信息不局限于人与人之间的交流&#xff0c;大量的机器设备也需要进行信息交流。就在去年&#xff0c;我国率先迎来了“物超人”的历史性时刻&#xff0c;即物联网连接数超越了人联网连接数。边缘云的发展进入到“黄金十年”。 “要致富&#xff0c;…

JavaFX 加载 fxml 文件

JavaFX 加载 fxml 文件主要有两种方式&#xff0c;第一种方式通过 FXMLLoader 类直接加载 fxml 文件&#xff0c;简单直接&#xff0c;但是有些控件目前还不知道该如何获取&#xff0c;所以只能显示&#xff0c;目前无法处理。第二种方式较为复杂&#xff0c;但是可以使用与 fx…

Docker容器与虚拟化技术:Docker compose部署LNMP

目录 一、理论 1.LNMP架构 2.背景 3.Dockerfile部署LNMP 3.准备Nginx镜像 4.准备MySQL容器 5.准备PHP镜像 6.上传wordpress软件包 7.编写docker-compose.yml 8.构建与运行docker-compose 9.启动 wordpress 服务 10.浏览器访问 11.将运行中的 docker容器保存为 doc…

智能设计师的崛起:探寻智元兔AI设计师的神奇之旅

AI绘图是指利用人工智能技术来生成或改善绘图作品的方法和工具。通过使用深度学习和生成对抗网络等算法&#xff0c;人工智能可以学习和模仿艺术家的创作风格&#xff0c;生成逼真的艺术作品。 智元兔-AI设计师是一款基于人工智能设计工具&#xff0c;利用机器学习和深度学习技…

什么是ChatGPT水印,ChatGPT生成的内容如何不被检测出来,原理什么?

太长不看版 1. 什么是ChatGPT水印&#xff1f; ChatGPT水印是AI以伪随机方式生成的独特tokens序列。该序列用来作为水印&#xff0c;以区分AI生成内容和人类原创内容。 2. 如何规避ChatGPT水印&#xff1f; 一种规避方法是使用其他AI模型改写ChatGPT生成的文本。这会破坏水…

大数据(二)大数据行业相关统计数据

大数据&#xff08;二&#xff09;大数据行业相关统计数据 目录 一、大数据相关的各种资讯 二、转载自网络的大数据统计数据 2.1、国家大数据政策 2.2、产业结构分析 2.3、应用结构分析 2.4、数据中心 2.5、云计算 一、大数据相关的各种资讯 1. 据IDC预测&#xff0…

JOJO的奇妙冒险

JOJO,我不想再做人了。 推荐一部动漫 JOJO的奇妙冒险 荒木飞吕彦创作的漫画 《JOJO的奇妙冒险》是由日本漫画家荒木飞吕彦所著漫画。漫画于1987年至2004年在集英社的少年漫画杂志少年JUMP上连载&#xff08;1987年12号刊-2004年47号刊&#xff09;&#xff0c;2005年后在集英…

全国首台!浙江机器人产业集团发布垂起固定翼无人机-机器人自动换电机巢

展示突破性创新技术&#xff0c;共话行业发展趋势。8月25日&#xff0c;全国首台垂起固定翼无人机-机器人自动换电机巢新品发布会暨“科创中国宁波”无人机产业趋势分享会在余姚市机器人小镇成功举行。 本次活动在宁波市科学技术协会、余姚市科学技术协会指导下&#xff0c;由浙…

DBO优化SVM的电力负荷预测,附MATLAB代码

今天为大家带来一期基于DBO-SVM的电力负荷预测。 原理详解 文章对支持向量机(SVM)的两个参数进行优化&#xff0c;分别是&#xff1a;惩罚系数c和 gamma。 其中&#xff0c;惩罚系数c表示对误差的宽容度。c越高&#xff0c;说明越不能容忍出现误差,容易过拟合。c越小&#xff0…

Pytorch-以数字识别更好地入门深度学习

目录 一、数据介绍 二、下载数据 三、可视化数据 四、模型构建 五、模型训练 六、模型预测 一、数据介绍 MNIST数据集是深度学习入门的经典案例&#xff0c;因为它具有以下优点&#xff1a; 1. 数据量小&#xff0c;计算速度快。MNIST数据集包含60000个训练样本和1000…

网络编程 http 相关基础概念

文章目录 表单是什么http请求是什么http请求的结构和说明关于http方法 GET和POST区别http常见状态码http响应http 请求是无状态的含义html是什么 &#xff08;前端内容&#xff0c;了解即可&#xff09;html 常见标签 &#xff08;前端内容&#xff0c;了解即可&#xff09;关于…

App卡帧与BlockCanary

作者&#xff1a;图个喜庆 一&#xff0c;前言 app卡帧一直是性能优化的一个重要方面&#xff0c;虽然现在手机硬件性能越来越高&#xff0c;明显的卡帧现象越来越少&#xff0c;但是了解卡帧相关的知识还是非常有必要的。 本文分两部分从app卡帧的原理出发&#xff0c;讨论屏…

Mainline Linux 和 U-Boot编译

By Toradex胡珊逢 Toradex 自从 Linux BSP v6 开始在使用 32位处理器的 Arm 模块如 iMX6、iMX6ULL、iMX7 上提供 mainline/upstream kernel &#xff0c;部分 64位处理器模块如 Verdin iMX8M Mini/Plus 也提供实验性支持。文章将以季度发布版本 Linux BSP V6.3.0 为例介绍如何下…

detour编译问题及导入visual studio

Detours是经过微软认证的一个开源Hook库&#xff0c;Detours在GitHub上&#xff0c;网址为 https://github.com/Microsoft/Detours 注意版本不一样的话也是会出问题的&#xff0c;因为我之前是vs2022的所以之前的detours.lib不能使用&#xff0c;必须用对应版本的x64 Native To…

python的安装(推荐)

torch安装与卸载推荐链接1推荐链接2 推荐链接3 安装pytorch步骤推荐链接 python关键字&#xff1a;

4 hadoop集群配置案例

3&#xff09;配置集群 &#xff08;1&#xff09;核心配置文件&#xff0c;core-site.xml cd $HADOOP_HOME/etc/hadoopvim core-site.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <?xml-stylesheet type"text…

数据库概述

目录 数据库 数据库的基本概念 数据 表 数据库 数据库管理系统 数据库系统 DBMS的主要功能 DBMS的工作模式 ​编辑 数据库的发展 数据库类型 关系数据库 关系数据库的构成 非关系数据库 非关系型数据库的优点 关系型数据库与非关系型数据库的区别 数据库 数据库…

Flink流批一体计算(16):PyFlink DataStream API

目录 概述 Pipeline Dataflow 代码示例WorldCount.py 执行脚本WorldCount.py 概述 Apache Flink 提供了 DataStream API&#xff0c;用于构建健壮的、有状态的流式应用程序。它提供了对状态和时间细粒度控制&#xff0c;从而允许实现高级事件驱动系统。 用户实现的Flink程…

Ubuntu安装RabbitMQ

一、安装 更新系统软件包列表&#xff1a; sudo apt update安装RabbitMQ的依赖组件和GPG密钥&#xff1a; sudo apt install -y curl gnupg curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo gpg --dearmo…