原文:http://blog.csdn.net/steveguoshao/article/details/45999645
配置文件目录
系统配置目录(不要随便改)
/usr/lib/firewalld/services
用户配置目录
/etc/firewalld/
添加端口
firwall-cmd --permanent --add-port=9527/tcp
firwall-cmd firewall的操作工具
--permanent 设置为持久
--add-port 添加端口
添加到zone
firewall-cmd --zone=public --permanent --add-port=8010/tcp
查看防火墙规则
firewall-cmd --list-all
iptables -L
重新载入防火墙规则
firewall-cmd --reload
获取支持的区域列表
firewall-cmd --get-zones
获取所有支持的服务
firewall-cmd --get-services
获取所有支持的ICMP类型
firewall-cmd --get-icmptypes
列出全部启用的区域的特性
firewall-cmd --list-all-zones
输出区域 全部启用的特性。如果生略区域,将显示默认区域的信息。
firewall-cmd [--zone=] --list-all
获取默认区域的网络设置
firewall-cmd --get-default-zone
设置默认区域
firewall-cmd --set-default-zone=
获取活动的区域
firewall-cmd --get-active-zones
这条命令将用以下格式输出每个区域所含接口:
: ..: ..
根据接口获取区域
firewall-cmd --get-zone-of-interface=
将接口增加到区域
firewall-cmd [--zone=] --add-interface=
修改接口所属区域
firewall-cmd [--zone=] --change-interface=
从区域中删除一个接口
firewall-cmd [--zone=] --remove-interface=
查询区域中是否包含某接口
firewall-cmd [--zone=] --query-interface=
列举区域中启用的服务
firewall-cmd [ --zone= ] --list-services
启用应急模式阻断所有网络连接,以防出现紧急状况
firewall-cmd --panic-on
禁用应急模式
firewall-cmd --panic-off
查询应急模式
firewall-cmd --query-panic
此命令返回应急模式的状态,没有输出。可以使用以下方式获得状态输出:
firewall-cmd --query-panic && echo "On" || echo "Off"
处理运行时区域
运行时模式下对区域进行的修改不是永久有效的。重新加载或者重启后修改将失效。
启用区域中的一种服务
firewall-cmd [--zone=] --add-service= [--timeout=]
此举启用区域中的一种服务。如果未指定区域,将使用默认区域。如果设定了超时时间,服务将只启用特定秒数。如果服务已经活跃,将不会有任何警告信息。
例: 使区域中的ipp-client服务生效60秒:
firewall-cmd --zone=home --add-service=ipp-client --timeout=60
例: 启用默认区域中的http服务:
firewall-cmd --add-service=http
禁用区域中的某种服务
firewall-cmd [--zone=] --remove-service=
此举禁用区域中的某种服务。如果未指定区域,将使用默认区域。
例: 禁止home区域中的http服务:
firewall-cmd --zone=home --remove-service=http
区域种的服务将被禁用。如果服务没有启用,将不会有任何警告信息。
查询区域中是否启用了特定服务
firewall-cmd [--zone=] --query-service=
如果服务启用,将返回1,否则返回0。没有输出信息。
启用区域端口和协议组合
firewall-cmd [--zone=] --add-port=[-]/ [--timeout=]
此举将启用端口和协议的组合。端口可以是一个单独的端口 或者是一个端口范围 - 。协议可以是 tcp 或 udp。
禁用端口和协议组合
firewall-cmd [--zone=] --remove-port=[-]/
查询区域中是否启用了端口和协议组合
firewall-cmd [--zone=] --query-port=[-]/
如果启用,此命令将有返回值。没有输出信息。
启用区域中的IP伪装功能
firewall-cmd [--zone=] --add-masquerade
此举启用区域的伪装功能。私有网络的地址将被隐藏并映射到一个公有IP。这是地址转换的一种形式,常用于路由。由于内核的限制,伪装功能仅可用于IPv4。
禁用区域中的IP伪装
firewall-cmd [--zone=] --remove-masquerade
查询区域的伪装状态
firewall-cmd [--zone=] --query-masquerade
如果启用,此命令将有返回值。没有输出信息。
启用区域的ICMP阻塞功能
firewall-cmd [--zone=] --add-icmp-block=
此举将启用选中的Internet控制报文协议(ICMP)报文进行阻塞。ICMP报文可以是请求信息或者创建的应答报文,以及错误应答。
禁止区域的ICMP阻塞功能
firewall-cmd [--zone=] --remove-icmp-block=
查询区域的ICMP阻塞功能
firewall-cmd [--zone=] --query-icmp-block=
如果启用,此命令将有返回值。没有输出信息。
例: 阻塞区域的响应应答报文:
firewall-cmd --zone=public --add-icmp-block=echo-reply
在区域中启用端口转发或映射
firewall-cmd [--zone=] --add-forward-port=port=[-]:proto= { :toport=[-] | :toaddr= | :toport=[-]:toaddr= }
端口可以映射到另一台主机的同一端口,也可以是同一主机或另一主机的不同端口。端口号可以是一个单独的端口 或者是端口范围 - 。协议可以为 tcp 或udp 。目标端口可以是端口号 或者是端口范围 - 。目标地址可以是 IPv4 地址。受内核限制,端口转发功能仅可用于IPv4。
禁止区域的端口转发或者端口映射
firewall-cmd [--zone=] --remove-forward-port=port=[-]:proto= { :toport=[-] | :toaddr= | :toport=[-]:toaddr= }
查询区域的端口转发或者端口映射
firewall-cmd [--zone=] --query-forward-port=port=[-]:proto= { :toport=[-] | :toaddr= | :toport=[-]:toaddr= }
如果启用,此命令将有返回值。没有输出信息。
例: 将区域home的ssh转发到127.0.0.2
firewall-cmd --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2
处理永久区域
永久选项不直接影响运行时的状态。这些选项仅在重载或者重启服务时可用。为了使用运行时和永久设置,需要分别设置两者。 选项 –permanent 需要是永久设置的第一个参数。
获取永久选项所支持的服务
firewall-cmd --permanent --get-services
获取永久选项所支持的ICMP类型列表
firewall-cmd --permanent --get-icmptypes
获取支持的永久区域
firewall-cmd --permanent --get-zones
启用区域中的服务
firewall-cmd --permanent [--zone=] --add-service=
此举将永久启用区域中的服务。如果未指定区域,将使用默认区域。
禁用区域中的一种服务
firewall-cmd --permanent [--zone=] --remove-service=
查询区域中的服务是否启用
firewall-cmd --permanent [--zone=] --query-service=
如果服务启用,此命令将有返回值。此命令没有输出信息。
例: 永久启用 home 区域中的 ipp-client 服务
firewall-cmd --permanent --zone=home --add-service=ipp-client
永久启用区域中的一个端口-协议组合
firewall-cmd --permanent [--zone=] --add-port=[-]/
永久禁用区域中的一个端口-协议组合
firewall-cmd --permanent [--zone=] --remove-port=[-]/
查询区域中的端口-协议组合是否永久启用
firewall-cmd --permanent [--zone=] --query-port=[-]/
如果服务启用,此命令将有返回值。此命令没有输出信息。
例: 永久启用 home 区域中的 https (tcp 443) 端口
firewall-cmd --permanent --zone=home --add-port=443/tcp
永久启用区域中的伪装
firewall-cmd --permanent [--zone=] --add-masquerade
此举启用区域的伪装功能。私有网络的地址将被隐藏并映射到一个公有IP。这是地址转换的一种形式,常用于路由。由于内核的限制,伪装功能仅可用于IPv4。
永久禁用区域中的伪装
firewall-cmd --permanent [--zone=] --remove-masquerade
查询区域中的伪装的永久状态
firewall-cmd --permanent [--zone=] --query-masquerade
如果服务启用,此命令将有返回值。此命令没有输出信息。
永久启用区域中的ICMP阻塞
firewall-cmd --permanent [--zone=] --add-icmp-block=
此举将启用选中的 Internet 控制报文协议 (ICMP) 报文进行阻塞。 ICMP 报文可以是请求信息或者创建的应答报文或错误应答报文。
永久禁用区域中的ICMP阻塞
firewall-cmd --permanent [--zone=] --remove-icmp-block=
查询区域中的ICMP永久状态
firewall-cmd --permanent [--zone=] --query-icmp-block=
如果服务启用,此命令将有返回值。此命令没有输出信息。
例: 阻塞公共区域中的响应应答报文:
firewall-cmd --permanent --zone=public --add-icmp-block=echo-reply
在区域中永久启用端口转发或映射
firewall-cmd --permanent [--zone=] --add-forward-port=port=[-]:proto= { :toport=[-] | :toaddr= | :toport=[-]:toaddr= }
端口可以映射到另一台主机的同一端口,也可以是同一主机或另一主机的不同端口。端口号可以是一个单独的端口 或者是端口范围 - 。协议可以为 tcp 或udp 。目标端口可以是端口号 或者是端口范围 - 。目标地址可以是 IPv4 地址。受内核限制,端口转发功能仅可用于IPv4。
永久禁止区域的端口转发或者端口映射
firewall-cmd --permanent [--zone=] --remove-forward-port=port=[-]:proto= { :toport=[-] | :toaddr= | :toport=[-]:toaddr= }
查询区域的端口转发或者端口映射状态
firewall-cmd --permanent [--zone=] --query-forward-port=port=[-]:proto= { :toport=[-] | :toaddr= | :toport=[-]:toaddr= }
如果服务启用,此命令将有返回值。此命令没有输出信息。
例: 将 home 区域的 ssh 服务转发到 127.0.0.2
firewall-cmd --permanent --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2
直接选项
直接选项主要用于使服务和应用程序能够增加规则。 规则不会被保存,在重新加载或者重启之后必须再次提交。传递的参数 与 iptables, ip6tables 以及 ebtables 一致。
选项–direct需要是直接选项的第一个参数。
将命令传递给防火墙。参数 可以是 iptables, ip6tables 以及 ebtables 命令行参数。
firewall-cmd --direct --passthrough { ipv4 | ipv6 | eb }
为表
增加一个新链 。
firewall-cmd --direct --add-chain { ipv4 | ipv6 | eb }
从表
中删除链 。
firewall-cmd --direct --remove-chain { ipv4 | ipv6 | eb }
查询 链是否存在与表 . 如果是,返回0,否则返回1.
firewall-cmd --direct --query-chain { ipv4 | ipv6 | eb }
如果启用,此命令将有返回值。此命令没有输出信息。
获取用空格分隔的表
中链的列表。
firewall-cmd --direct --get-chains { ipv4 | ipv6 | eb }
为表
增加一条参数为 的链 ,优先级设定为 。
firewall-cmd --direct --add-rule { ipv4 | ipv6 | eb }
从表
中删除带参数 的链 。
firewall-cmd --direct --remove-rule { ipv4 | ipv6 | eb }
查询带参数 的链 是否存在表 中. 如果是,返回0,否则返回1.
firewall-cmd --direct --query-rule { ipv4 | ipv6 | eb }
如果启用,此命令将有返回值。此命令没有输出信息。
获取表
中所有增加到链 的规则,并用换行分隔。
firewall-cmd --direct --get-rules { ipv4 | ipv6 | eb }
当前的firewalld特性
D-BUS接口
D-BUS 接口提供防火墙状态的信息,使防火墙的启用、停用或查询设置成为可能。
区域
网络或者防火墙区域定义了连接的可信程度。firewalld 提供了几种预定义的区域。区域配置选项和通用配置信息可以在firewall.zone(5)的手册里查到。
服务
服务可以是一系列本读端口、目的以及附加信息,也可以是服务启动时自动增加的防火墙助手模块。预定义服务的使用使启用和禁用对服务的访问变得更加简单。服务配置选项和通用文件信息在 firewalld.service(5) 手册里有描述。
ICMP类型
Internet控制报文协议 (ICMP) 被用以交换报文和互联网协议 (IP) 的错误报文。在 firewalld 中可以使用 ICMP 类型来限制报文交换。 ICMP 类型配置选项和通用文件信息可以参阅 firewalld.icmptype(5) 手册。
直接接口
直接接口主要用于服务或者应用程序增加特定的防火墙规则。这些规则并非永久有效,并且在收到 firewalld 通过 D-Bus 传递的启动、重启、重载信号后需要重新应用。
运行时配置
运行时配置并非永久有效,在重新加载时可以被恢复,而系统或者服务重启、停止时,这些选项将会丢失。
永久配置
永久配置存储在配置文件种,每次机器重启或者服务重启、重新加载时将自动恢复。
托盘小程序
托盘小程序 firewall-applet 为用户显示防火墙状态和存在的问题。它也可以用来配置用户允许修改的设置。
图形化配置工具
firewall daemon 主要的配置工具是 firewall-config 。它支持防火墙的所有特性(除了由服务/应用程序增加规则使用的直接接口)。 管理员也可以用它来改变系统或用户策略。
命令行客户端
firewall-cmd是命令行下提供大部分图形工具配置特性的工具。
对于ebtables的支持
要满足libvirt daemon的全部需求,在内核 netfilter 级上防止 ip*tables 和 ebtables 间访问问题,ebtables 支持是需要的。由于这些命令是访问相同结构的,因而不能同时使用。
/usr/lib/firewalld中的默认/备用配置
该目录包含了由 firewalld 提供的默认以及备用的 ICMP 类型、服务、区域配置。由 firewalld 软件包提供的这些文件不能被修改,即使修改也会随着 firewalld 软件包的更新被重置。 其他的 ICMP 类型、服务、区域配置可以通过软件包或者创建文件的方式提供。
/etc/firewalld中的系统配置设置 存储在此的系统或者用户配置文件可以是系统管理员通过配置接口定制的,也可以是手动定制的。这些文件将重载默认配置文件。
为了手动修改预定义的 icmp 类型,区域或者服务,从默认配置目录将配置拷贝到相应的系统配置目录,然后根据需求进行修改。
如果你加载了有默认和备用配置的区域,在 /etc/firewalld下的对应文件将被重命名为 .old 然后启用备用配置。
正在开发的特性
富语言
富语言特性提供了一种不需要了解iptables语法的通过高级语言配置复杂 IPv4 和 IPv6 防火墙规则的机制。
Fedora 19 提供了带有 D-Bus 和命令行支持的富语言特性第2个里程碑版本。第3个里程碑版本也将提供对于图形界面 firewall-config 的支持。
对于此特性的更多信息,请参阅: firewalld Rich Language
锁定
锁定特性为 firewalld 增加了锁定本地应用或者服务配置的简单配置方式。它是一种轻量级的应用程序策略。
Fedora 19 提供了锁定特性的第二个里程碑版本,带有 D-Bus 和命令行支持。第3个里程碑版本也将提供图形界面 firewall-config 下的支持。
更多信息请参阅: firewalld Lockdown
永久直接规则
这项特性处于早期状态。它将能够提供保存直接规则和直接链的功能。通过规则不属于该特性。更多关于直接规则的信息请参阅Direct options。
从ip*tables和ebtables服务迁移 这项特性处于早期状态。它将尽可能提供由iptables,ip6tables 和 ebtables 服务配置转换为永久直接规则的脚本。此特性在由firewalld提供的直接链集成方面可能存在局限性。
此特性将需要大量复杂防火墙配置的迁移测试。
计划和提议功能 防火墙抽象模型
在 ip*tables 和 ebtables 防火墙规则之上添加抽象层使添加规则更简单和直观。要抽象层功能强大,但同时又不能复杂,并不是一项简单的任务。为此,不得不开发一种防火墙语言。使防火墙规则拥有固定的位置,可以查询端口的访问状态、访问策略等普通信息和一些其他可能的防火墙特性。
对于conntrack的支持
要终止禁用特性已确立的连接需要 conntrack 。不过,一些情况下终止连接可能是不好的,如:为建立有限时间内的连续性外部连接而启用的防火墙服务。
用户交互模型
这是防火墙中用户或者管理员可以启用的一种特殊模式。应用程序所有要更改防火墙的请求将定向给用户知晓,以便确认和否认。为一个连接的授权设置一个时间限制并限制其所连主机、网络或连接是可行的。配置可以保存以便将来不需通知便可应用相同行为。 该模式的另一个特性是管理和应用程序发起的请求具有相同功能的预选服务和端口的外部链接尝试。服务和端口的限制也会限制发送给用户的请求数量。
用户策略支持
管理员可以规定哪些用户可以使用用户交互模式和限制防火墙可用特性。
端口元数据信息(由 Lennart Poettering 提议)
拥有一个端口独立的元数据信息是很好的。当前对 /etc/services 的端口和协议静态分配模型不是个好的解决方案,也没有反映当前使用情况。应用程序或服务的端口是动态的,因而端口本身并不能描述使用情况。
元数据信息可以用来为防火墙制定简单的规则。下面是一些例子:
这里的元数据信息不只有特定应用程序,还可以是一组使用情况。例如:组“全部共享”或者组“文件共享”可以对应于全部共享或文件共享程序(如:torrent 文件共享)。这些只是例子,因而,可能并没有实际用处。
这里是在防火墙中获取元数据信息的两种可能途径: 第一种是添加到 netfilter (内核空间)。好处是每个人都可以使用它,但也有一定使用限制。还要考虑用户或系统空间的具体信息,所有这些都需要在内核层面实现。 第二种是添加到 firewall daemon 中。这些抽象的规则可以和具体信息(如:网络连接可信级、作为具体个人/主机要分享的用户描述、管理员禁止完全共享的应归则等)一起使用。 第二种解决方案的好处是不需要为有新的元数据组和纳入改变(可信级、用户偏好或管理员规则等等)重新编译内核。这些抽象规则的添加使得 firewall daemon 更加自由。即使是新的安全级也不需要更新内核即可轻松添加。
sysctld 现在仍有 sysctl 设置没有正确应用。一个例子是,在 rc.sysinit 正运行时,而提供设置的模块在启动时没有装载或者重新装载该模块时会发生问题。
另一个例子是 net.ipv4.ip_forward ,防火墙设置、libvirt 和用户/管理员更改都需要它。如果有两个应用程序或守护进程只在需要时开启 ip_forwarding ,之后可能其中一个在不知道的情况下关掉服务,而另一个正需要它,此时就不得不重启它。
sysctl daemon 可以通过对设置使用内部计数来解决上面的问题。此时,当之前请求者不再需要时,它就会再次回到之前的设置状态或者是直接关闭它。
防火墙规则
netfilter 防火墙总是容易受到规则顺序的影响,因为一条规则在链中没有固定的位置。在一条规则之前添加或者删除规则都会改变此规则的位置。 在静态防火墙模型中,改变防火墙就是重建一个干净和完善的防火墙设置,且受限于 system-config-firewall / lokkit 直接支持的功能。也没有整合其他应用程序创建防火墙规则,且如果自定义规则文件功能没在使用 s-c-fw / lokkit 就不知道它们。默认链通常也没有安全的方式添加或删除规则而不影响其他规则。
动态防火墙有附加的防火墙功能链。这些特殊的链按照已定义的顺序进行调用,因而向链中添加规则将不会干扰先前调用的拒绝和丢弃规则。从而利于创建更为合理完善的防火墙配置。
下面是一些由守护进程创建的规则,过滤列表中启用了在公共区域对 ssh , mdns 和 ipp-client 的支持:
*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]:FORWARD_ZONES - [0:0]:FORWARD_direct - [0:0]:INPUT_ZONES - [0:0]:INPUT_direct - [0:0]:IN_ZONE_public - [0:0]:IN_ZONE_public_allow - [0:0]:IN_ZONE_public_deny - [0:0]:OUTPUT_direct - [0:0]-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -j INPUT_direct-A INPUT -j INPUT_ZONES-A INPUT -p icmp -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT-A FORWARD -i lo -j ACCEPT-A FORWARD -j FORWARD_direct-A FORWARD -j FORWARD_ZONES-A FORWARD -p icmp -j ACCEPT-A FORWARD -j REJECT --reject-with icmp-host-prohibited-A OUTPUT -j OUTPUT_direct-A IN_ZONE_public -j IN_ZONE_public_deny-A IN_ZONE_public -j IN_ZONE_public_allow-A IN_ZONE_public_allow -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT-A IN_ZONE_public_allow -d 224.0.0.251/32 -p udp -m udp --dport 5353 -m conntrack --ctstate NEW -j ACCEPT-A IN_ZONE_public_allow -p udp -m udp --dport 631 -m conntrack --ctstate NEW -j ACCEPT
使用 deny/allow 模型来构建一个清晰行为(最好没有冲突规则)。例如: ICMP块将进入 IN_ZONE_public_deny 链(如果为公共区域设置了的话),并将在 IN_ZONE_public_allow 链之前处理。
该模型使得在不干扰其他块的情况下向一个具体块添加或删除规则而变得更加容易。
原文:http://blog.csdn.net/steveguoshao/article/details/45999645
你可能感兴趣的:(firewalld参考,linux)
minimind2学习:(1)训练
溯源006
minimind学习 学习 深度学习 生成模型
1、数据下载参考:https://github.com/jingyaogong/minimind/tree/master2、预训练训练6个epochspythontrain_pretrain.py--epochs6训练过程:LLM总参数量:25.830百万Epoch:[1/6](0/11040)loss:8.940lr:0.000550000000epoch_Time:106.0min:Epoch
DPO 核心理论推导:参考策略距离约束下的最优策略 + 损失函数设计
iiiiii11
机器学习 人工智能 论文阅读 笔记 语言模型 深度学习
Rafailov,Rafael,etal.“Directpreferenceoptimization:Yourlanguagemodelissecretlyarewardmodel.”AdvancesinNeuralInformationProcessingSystems36(2023):53728-53741.本文整理了DPO论文中两个核心结论的推导,包括参考策略距离约束下的最优策略的形式,以及
Linux系统之cal命令详解
门前灯
linux 运维 服务器 cal
cal命令详解cal是一个用于显示日历的简单工具。默认情况下,它会显示当前月份的日历,但可以通过参数和选项显示特定月份、年份或自定义格式的日历。基本语法cal[options][[[day]month]year]无参数:显示当前月份的日历。单参数:显示指定年份的日历。双参数:显示指定月份和年份的日历。三参数:显示指定日、月和年份的日历,并在终端上高亮显示该日期。常用选项选项描述-1,--one显示
cursor免费使用方法交流分享0.47*依然可用
SGG_CV
人工智能 gpt
方法:使用第三方工具仅用作交流所用,一切后果皆自负工具可以帮助您重置Cursor的试用期。可以一键重置。使用方法如下:运行工具:-Windows:运行下载的可执行文件。-macOS/Linux:在终端中运行相应的脚本。重置试用期:按照工具提示,完成重置。请注意,使用第三方工具可能存在安全风险,建议在可信的环境中使用。亲测这个目前可用。获取方式如下:在下面链接的后台回复cursor交流获取curso
windows版本安装swoole记录
云上全栈工程师
swoole
下载安装swoole参考地址https://www.pianshen.com/article/64471690688/安装的重点就是phpize,如果没有安装这个无法运行下面的操作
easyswoole学习记录
司江龙
swoole PHP easyswoole swoole
php-fpm的工作方式php-fpm就是php-fastcgi进程管理器主要工作的就是mastr进程,主要和linux进行一个协调,当请求从nginx到fpm的时候,master会把请求交给自己下面管理的子进程一个池模型,问题:一个work进程内只会处理一个请求,也就是说这个进程内在同一时刻只会处理一个request请求,不会处理多个,所以一台服务器的并发数就取决于服务器开启了多少个work进程
关于swoole的初步了解记录
snacy
swoole php 服务器
今天初步了解了一下关于swoole的相关知识,在这里记录一下。关于swoole的初步了解记录安装swoole扩展swoole扩展需要在Linux环境下安装,目前还不支持在Windows环境下安装,当前操作系统为centOS系统安装swoole需要:PHP、php-pear(这个是为了稍后可以使用pecl来安装swoole)、php-devel、gcc先执行更新操作:yumupdate(已更新过的可
Elasticsearch + Docker:实现容器化部署指南
IT成长日记
elasticsearch docker 容器化部署
Elasticsearch是一款强大的分布式搜索和分析引擎,广泛应用于日志分析、全文检索、实时数据分析等场景。而Docker作为一种轻量级的容器化技术,能够帮助开发者快速部署和管理应用。将Elasticsearch与Docker结合,不仅可以简化部署流程,还能提高资源利用率和系统可维护性。1环境准备1.1安装Docker安装操作请参考:Docker入门指南:1分钟搞定安装+常用命令,轻松入门容器化
关于AI OS那点事
大囚长
科普天地 大模型 人工智能
AIOS(人工智能操作系统)作为面向智能时代的操作系统,其功能定位和架构设计与传统操作系统(如Linux、Windows、iOS等)存在显著差异。一、AIOS需具备的核心功能智能体全生命周期管理智能体调度与并发:需支持多智能体任务的优先级排序、资源分配及并发执行,例如通过轮询调度或动态优先级算法优化LLM资源利用率。上下文感知与切换:通过上下文管理器实现智能体交互状态的快照保存与恢复,解决LLM生
在WPF中把Canvas保存为图片,文本文件,xps文件
Anticlimax丶
WPF Canvas转图片 Canvas转文本文件 Canvas转xps文件
由于wpf的UI使用xaml来表达的,所以我们们可利用这个优点,把WPF中的xaml元素另存为各样的文件,在很多时候我们都不须要这样的操作。把xaml保存为图片、字符串、XPS等等。这里我写了一些方法,以供大家参考.。注意:以下保存操作前,一定要确保参数中的canvas有高和宽。1.把canvas保存为文本文件usingSystem.IO;publicvoidExport(Uripath,Canv
feign发送GET请求传递对象参数,报错Request method ‘POST‘ not supported
码到成功>_<
java 开发语言
feign发送GET请求传递对象参数,报错Requestmethod‘POST‘notsupported参考:Feign发送Get请求时使用对象传递参数(Requestmethod‘POST‘notsupported问题)Fegin的GET请求传对象解决Feign调用的GET参数传递的问题
CLR中的类型转换
qzy0621
C# C++笔记 c++ c#
CLR中的类型转换字符串类型转换容器类型转换自定义类型相互转换项目设置CLR(CommonLanguageRuntime,公共语言运行时)是微软.NET框架的核心组件,是微软对CLI标准的具体实现,负责管理和执行托管代码,提供跨语言互操作性、内存管理、安全性等关键服务CLR的类型转换机制是.NET框架中实现类型安全与多语言互操作的核心功能之一若调试不能命中,可参考C#通过CLR调用C++代码无法命
WPF把Canvas另存为
baijing7600
ui
由于wpf的UI使用xaml来表达的,所以我们们可利用这个优点,把WPF中的xaml元素另存为各样的文件,在很多时候我们都不须要这样的操作。把xaml保存为图片、字符串、XPS等等。这里我写了一些方法,以供大家参考.。注意:以下保存操作前,一定要确保参数中的canvas有高和宽。1.把canvas保存为文本文件1:usingSystem.Windows.Markup;2:usingSystem.I
CentOS7下安装python3.8
讓丄帝愛伱
Linux 编程语言
查看系统版本#查看系统版本cat/etc/centos-release>CentOSLinuxrelease7.2.1511(Core)uname-a>Linuxlocalhost.localdomain3.10.0-327.el7.x86_64#1SMPThuNov1922:10:57UTC2015x86_64x86_64x86_64GNU/Linux#查看python版本python-V>Py
【数据库】MySQL数据类型decimal详解以及对于float和double两种类型精度问题的探索
明璐花生牛奶
数据库 mysql 数据库 经验分享
引言或许很多同学都很好奇为什么在数据库里要引入decimal这一种数据类型来表示小数?使用float和double这两种数据类型来表示小数为什么不可以?那是因为float和double这两种类型可能会出现精度问题如果本文出现了错误,还请路过的大佬在评论区指出,您的批评是我前进的动力!谢谢!decimal数据类型参考文献:https://cloud.tencent.com/developer/art
Systemd 是 Linux 系统的 核心服务管理工具,负责管理系统的启动、服务生命周期和资源分配
潇锐killer
linux 运维 服务器
Systemd是Linux系统的核心服务管理工具,负责管理系统的启动、服务生命周期和资源分配。它替代了传统的SysVinit系统,提供更高效、统一的服务管理方式。以下是它的核心作用:一、核心功能功能作用说明服务生命周期管理启动、停止、重启服务(如Nginx/MySQL)依赖关系管理自动处理服务之间的依赖关系(例如:先启动数据库再启动Web服务)开机自启管理通过enable/
yolov8实战第七天——pyqt5-yolov8实现车牌识别系统(参考论文(约7000字)+环境配置+完整部署代码+代码使用说明+训练好的模型)
学术菜鸟小晨
yolov8实战100天 python YOLO pyqt5 车牌识别 毕业设计 论文
基于pyqt5-yolov8实现车牌识别系统,包括图片车牌识别,视频车牌识别,视频流车牌识别。效果展示(图片检测,检测到的内容添加到历史记录):效果展示(视频检测,视频车辆只会添加一条记录,下文更多实际应用中的优化策略):新增功能:批量图片检测(2024/5/7更新代码)
Linux常见命令
周雨濛
linux
1.查看IP地址1.ipa2.ifconfig2.切换用户1.su-lHOSTNAME---同时切换当前路径2.suHOSTNAME---只切换用户不切换路径3.su---直接切换到管理员3.远程连接XShell界面1.sshIP地址ssh192.168.1.12.sshHOSTNAME@主机
[email protected] 新建会话4.查看当前终端设备文件名tty1、/
基于交替方向乘法(ADMM)的PAPR约束下传输波束成形器设计的方法研究(Matlab代码实现)
创新优化代码学习
matlab 前端 算法
欢迎来到本博客❤️❤️博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。本文目录如下:目录1概述2运行结果3参考文献4Matlab代码、数据、文章下载1概述上一次介绍的是用Python代码编程的,这次用Matlab代码实现。回顾见:基于交替方向乘法(ADMM)的PAPR约束下传输波束成形器设计的方法研究(Python代码实现)摘要本文研究了峰值平均功率比(
Linux系统中安装各种常用中间件
Vic2334
运维 linux 中间件 运维
Linux安装docker安装docker定制软件源yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装最新版dockeryumlistdocker-ce--
TinyMCE插件是否支持Word图片的直接复制与web上传?
2501_90694782
umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 ueditor导入word ueditor导入pdf ueditor导入ppt
要求:开源,免费,技术支持编辑器:TinyMCE前端:vue,vue2-cli,vue3-cli后端:java,jsp,springboot,asp.net,php,asp,.netcore,.netmvc,.netform功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏平台:Windows,macOS,Linux
VMWare Centos7虚拟机安装并运行MongoDB
Jay_Wooz
经验 数据库 环境搭建 mongodb linux 数据库
虚拟机:CentOS-7-x86_64-Minimal-2009MongoDB:mongodb-linux-x86_64-rhel70-5.0.5运行起来#Step1.安装依赖yuminstalllibcurlopenssl-y#Step2.下载mongoDB压缩包wgethttps://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.
交叉编译python3.8
岁月金刀
python linux 开发语言
参考链接:交叉编译移植Python到arm架构下的Linux系统-白菜没我白-博客园Python3交叉编译步骤(二)-三方库的交叉编译-秀才哥哥-博客园一、先安装Ubantu虚拟机上的python:1,下载python3.8安装包2,安装依次执行如下步骤:./configureprefix=/usr/local/python3//prefix是指定安装目录,你可以自己新建目录安装到那里makema
ESP32-C3模组上跑通MQTT(1)
蓝天居士
ESP32-C3 ESP32 ESP-IDF MQTT
本文内容参考:《ESP32-C3物联网工程开发实战》特此致谢!一、远程控制的介绍什么是远程控制?顾名思义,远程控制就是远距离控制,是指控制设备(如智能手机、计算机等网络设备)通过广域网控制被控设备的行为。远程控制不受地域的限制,比如某个人可以在异地(如公司、外地等)通过智能手机控制家中的智能灯。远程控制的控制设备和被控设备一版都需要连接到云服务器,控制设备发送的控制命令交由云服务器,再转发至被控设
美团-测开
陈陈爱java
postman
【软件测试】白盒测试与黑盒测试_白盒测试和黑盒测试-CSDN博客软件测试理论与实践:涵盖数据库、网络、自动化测试-CSDN博客对测开的理解通过技术手段来测试和优化软件,测试功能是否能正常运行,存在哪些漏洞,提高系统的稳定性。而且思维要活跃,能够构建一些测试体系。分析产品需求,参考技术方案,指定合理高效的测试方案,编写清晰的测试用例发现、定位、跟踪产品缺陷,协同开发解决问题开发高效的自动化测试工具
LInux内核学习 -- perCPU变量
lagransun
linux 学习 运维
文章目录环境关于perCPU变量perCPU变量:__entry_task环境linux4.19关于perCPU变量percpu变量的介绍,这位老哥做了介绍,包括为什么要有这样的变量以及优势:linux内核之Per-CPU变量,我把这个老哥的总结复制下来:通过Per-cpu变量除了可以分配内存,还有一个最大的好处就是不需要考虑同步。最好的同步技术就是把不需要同步的内核放在首位,因为每种显示的同步原
Linux内核学习之 -- epoll()一族系统调用分析笔记
lagransun
linux 学习 笔记
背景linux4.19epoll()也是一种I/O多路复用的技术,但是完全不同于select()/poll()。更加高效,高效的原因其他博客也都提到了,这篇笔记主要是从源码的角度来分析一下实现过程。作为自己的学习笔记,分析都在代码注释中,后续回顾的时候看注释好一点。相关链接:Linux内核学习之–ARMv8架构的系统调用笔记Linux内核学习之–系统调用open()和write()的实现笔记Lin
Linux下arm的安装与使用指南
C嘎嘎嵌入式开发
linux arm开发 运维
Linux下arm的安装与使用指南在Linux下安装和使用ARM架构的操作系统或开发环境是一个重要的过程,尤其是在嵌入式开发和移动设备开发中。下面将详细介绍如何在Linux上安装ARM相关的工具链、操作系统,以及如何进行开发和调试。1.准备工作1.1硬件要求开发板:树莓派计算机:一台运行Linux的计算机,用于交叉编译和开发。1.2软件要求Linux发行版:Ubuntu交叉编译工具链:用于编译AR
current宏及Linux进程栈的底层实现
Leon_George
linux 运维
1.current宏的实现#ifndef__ASSEMBLY__structtask_struct;//用于在编译时候声明一个perCPU变量,该变量被放在一个特殊的段中,原型为DECLARE_PER_CPU(type,name),主要作用是为处理器创建一个type类型,名为name的变量。DECLARE_PER_CPU(structtask_struct*,current_task);stati
linux grep命令
蓝菱
linux linux grep 正则表达式
转自http://www.cnblogs.com/end/archive/2012/02/21/2360965.htm1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep[options]3.主要参数[o
关于旗正规则引擎中的MD5加密问题
何必如此
jsp MD5 规则 加密
一般情况下,为了防止个人隐私的泄露,我们都会对用户登录密码进行加密,使数据库相应字段保存的是加密后的字符串,而非原始密码。
在旗正规则引擎中,通过外部调用,可以实现MD5的加密,具体步骤如下:
1.在对象库中选择外部调用,选择“com.flagleader.util.MD5”,在子选项中选择“com.flagleader.util.MD5.getMD5ofStr({arg1})”;
2.在规
【Spark101】Scala Promise/Future在Spark中的应用
bit1129
Promise
Promise和Future是Scala用于异步调用并实现结果汇集的并发原语,Scala的Future同JUC里面的Future接口含义相同,Promise理解起来就有些绕。等有时间了再仔细的研究下Promise和Future的语义以及应用场景,具体参见Scala在线文档:http://docs.scala-lang.org/sips/completed/futures-promises.html
spark sql 访问hive数据的配置详解
daizj
spark sql hive thriftserver
spark sql 能够通过thriftserver 访问hive数据,默认spark编译的版本是不支持访问hive,因为hive依赖比较多,因此打的包中不包含hive和thriftserver,因此需要自己下载源码进行编译,将hive,thriftserver打包进去才能够访问,详细配置步骤如下:
1、下载源码
2、下载Maven,并配置
此配置简单,就略过
HTTP 协议通信
周凡杨
java httpclient http 通信
一:简介
HTTPCLIENT,通过JAVA基于HTTP协议进行点与点间的通信!
二: 代码举例
测试类:
import java
java unix时间戳转换
g21121
java
把java时间戳转换成unix时间戳:
Timestamp appointTime=Timestamp.valueOf(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()))
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:m
web报表工具FineReport常用函数的用法总结(报表函数)
老A不折腾
web报表 finereport 总结
说明:本次总结中,凡是以tableName或viewName作为参数因子的。函数在调用的时候均按照先从私有数据源中查找,然后再从公有数据源中查找的顺序。
CLASS
CLASS(object):返回object对象的所属的类。
CNMONEY
CNMONEY(number,unit)返回人民币大写。
number:需要转换的数值型的数。
unit:单位,
java jni调用c++ 代码 报错
墙头上一根草
java C++ jni
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000777c3290, pid=5632, tid=6656
#
# JRE version: Java(TM) SE Ru
Spring中事件处理de小技巧
aijuans
spring Spring 教程 Spring 实例 Spring 入门 Spring3
Spring 中提供一些Aware相关de接口,BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,其中最常用到de匙ApplicationContextAware.实现ApplicationContextAwaredeBean,在Bean被初始后,将会被注入 Applicati
linux shell ls脚本样例
annan211
linux linux ls源码 linux 源码
#! /bin/sh -
#查找输入文件的路径
#在查找路径下寻找一个或多个原始文件或文件模式
# 查找路径由特定的环境变量所定义
#标准输出所产生的结果 通常是查找路径下找到的每个文件的第一个实体的完整路径
# 或是filename :not found 的标准错误输出。
#如果文件没有找到 则退出码为0
#否则 即为找不到的文件个数
#语法 pathfind [--
List,Set,Map遍历方式 (收集的资源,值得看一下)
百合不是茶
list set Map遍历方式
List特点:元素有放入顺序,元素可重复
Map特点:元素按键值对存储,无放入顺序
Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
List接口有三个实现类:LinkedList,ArrayList,Vector
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身
解决SimpleDateFormat的线程不安全问题的方法
bijian1013
java thread 线程安全
在Java项目中,我们通常会自己写一个DateUtil类,处理日期和字符串的转换,如下所示:
public class DateUtil01 {
private SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public void format(Date d
http请求测试实例(采用fastjson解析)
bijian1013
http 测试
在实际开发中,我们经常会去做http请求的开发,下面则是如何请求的单元测试小实例,仅供参考。
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import
【RPC框架Hessian三】Hessian 异常处理
bit1129
hessian
RPC异常处理概述
RPC异常处理指是,当客户端调用远端的服务,如果服务执行过程中发生异常,这个异常能否序列到客户端?
如果服务在执行过程中可能发生异常,那么在服务接口的声明中,就该声明该接口可能抛出的异常。
在Hessian中,服务器端发生异常,可以将异常信息从服务器端序列化到客户端,因为Exception本身是实现了Serializable的
【日志分析】日志分析工具
bit1129
日志分析
1. 网站日志实时分析工具 GoAccess
http://www.vpsee.com/2014/02/a-real-time-web-log-analyzer-goaccess/
2. 通过日志监控并收集 Java 应用程序性能数据(Perf4J)
http://www.ibm.com/developerworks/cn/java/j-lo-logforperf/
3.log.io
和
nginx优化加强战斗力及遇到的坑解决
ronin47
nginx 优化
先说遇到个坑,第一个是负载问题,这个问题与架构有关,由于我设计架构多了两层,结果导致会话负载只转向一个。解决这样的问题思路有两个:一是改变负载策略,二是更改架构设计。
由于采用动静分离部署,而nginx又设计了静态,结果客户端去读nginx静态,访问量上来,页面加载很慢。解决:二者留其一。最好是保留apache服务器。
来以下优化:
java-50-输入两棵二叉树A和B,判断树B是不是A的子结构
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/25411174201011445550396/
import ljn.help.*;
public class HasSubtree {
/**Q50.
* 输入两棵二叉树A和B,判断树B是不是A的子结构。
例如,下图中的两棵树A和B,由于A中有一部分子树的结构和B是一
mongoDB 备份与恢复
开窍的石头
mongDB备份与恢复
Mongodb导出与导入
1: 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的.
所以,都有如下通用选项:
-h host 主机
--port port 端口
-u username 用户名
-p passwd 密码
2: mongoexport 导出json格式的文件
[网络与通讯]椭圆轨道计算的一些问题
comsci
网络
如果按照中国古代农历的历法,现在应该是某个季节的开始,但是由于农历历法是3000年前的天文观测数据,如果按照现在的天文学记录来进行修正的话,这个季节已经过去一段时间了。。。。。
也就是说,还要再等3000年。才有机会了,太阳系的行星的椭圆轨道受到外来天体的干扰,轨道次序发生了变
软件专利如何申请
cuiyadll
软件专利 申请
软件技术可以申请软件著作权以保护软件源代码,也可以申请发明专利以保护软件流程中的步骤执行方式。专利保护的是软件解决问题的思想,而软件著作权保护的是软件代码(即软件思想的表达形式)。例如,离线传送文件,那发明专利保护是如何实现离线传送文件。基于相同的软件思想,但实现离线传送的程序代码有千千万万种,每种代码都可以享有各自的软件著作权。申请一个软件发明专利的代理费大概需要5000-8000申请发明专利可
Android学习笔记
darrenzhu
android
1.启动一个AVD
2.命令行运行adb shell可连接到AVD,这也就是命令行客户端
3.如何启动一个程序
am start -n package name/.activityName
am start -n com.example.helloworld/.MainActivity
启动Android设置工具的命令如下所示:
# am start -
apache虚拟机配置,本地多域名访问本地网站
dcj3sjt126com
apache
现在假定你有两个目录,一个存在于 /htdocs/a,另一个存在于 /htdocs/b 。
现在你想要在本地测试的时候访问 www.freeman.com 对应的目录是 /xampp/htdocs/freeman ,访问 www.duchengjiu.com 对应的目录是 /htdocs/duchengjiu。
1、首先修改C盘WINDOWS\system32\drivers\etc目录下的
yii2 restful web服务[速率限制]
dcj3sjt126com
PHP yii2
速率限制
为防止滥用,你应该考虑增加速率限制到您的API。 例如,您可以限制每个用户的API的使用是在10分钟内最多100次的API调用。 如果一个用户同一个时间段内太多的请求被接收, 将返回响应状态代码 429 (这意味着过多的请求)。
要启用速率限制, [[yii\web\User::identityClass|user identity class]] 应该实现 [[yii\filter
Hadoop2.5.2安装——单机模式
eksliang
hadoop hadoop单机部署
转载请出自出处:http://eksliang.iteye.com/blog/2185414 一、概述
Hadoop有三种模式 单机模式、伪分布模式和完全分布模式,这里先简单介绍单机模式 ,默认情况下,Hadoop被配置成一个非分布式模式,独立运行JAVA进程,适合开始做调试工作。
二、下载地址
Hadoop 网址http:
LoadMoreListView+SwipeRefreshLayout(分页下拉)基本结构
gundumw100
android
一切为了快速迭代
import java.util.ArrayList;
import org.json.JSONObject;
import android.animation.ObjectAnimator;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayo
三道简单的前端HTML/CSS题目
ini
html Web 前端 css 题目
使用CSS为多个网页进行相同风格的布局和外观设置时,为了方便对这些网页进行修改,最好使用( )。http://hovertree.com/shortanswer/bjae/7bd72acca3206862.htm
在HTML中加入<table style=”color:red; font-size:10pt”>,此为( )。http://hovertree.com/s
overrided方法编译错误
kane_xie
override
问题描述:
在实现类中的某一或某几个Override方法发生编译错误如下:
Name clash: The method put(String) of type XXXServiceImpl has the same erasure as put(String) of type XXXService but does not override it
当去掉@Over
Java中使用代理IP获取网址内容(防IP被封,做数据爬虫)
mcj8089
免费代理IP 代理IP 数据爬虫 JAVA设置代理IP 爬虫封IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
Java语言有两种方式使用代理IP访问网址并获取内容,
方式一,设置System系统属性
// 设置代理IP
System.getProper
Nodejs Express 报错之 listen EADDRINUSE
qiaolevip
每天进步一点点 学习永无止境 nodejs 纵观千象
当你启动 nodejs服务报错:
>node app
Express server listening on port 80
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at exports._errnoException (
C++中三种new的用法
_荆棘鸟_
C++ new
转载自:http://news.ccidnet.com/art/32855/20100713/2114025_1.html
作者: mt
其一是new operator,也叫new表达式;其二是operator new,也叫new操作符。这两个英文名称起的也太绝了,很容易搞混,那就记中文名称吧。new表达式比较常见,也最常用,例如:
string* ps = new string("
Ruby深入研究笔记1
wudixiaotie
Ruby
module是可以定义private方法的
module MTest
def aaa
puts "aaa"
private_method
end
private
def private_method
puts "this is private_method"
end
end