yum和dnf区别
两种不同的包管理工具,用于在Linux上安装、更新和卸载软件包。
区别:
依赖关系解决:二者dnf处理依赖关系的能力更强大
性能:dnf速度更快,dnf支持并行操作,可以同时下载多个软件包
配置文件:dnf使用以.repo为后缀的配置文件;yum使用以.repo为后缀的配置文件和/etc/yum.conf的主配置文件
用户界面:dnf输出信息更清晰明了,提供更多终端输出信息。yum输出信息较少,比较简洁
两种不同的包管理工具,用于在Linux上安装、更新和卸载软件包。
区别:
依赖关系解决:二者dnf处理依赖关系的能力更强大
性能:dnf速度更快,dnf支持并行操作,可以同时下载多个软件包
配置文件:dnf使用以.repo为后缀的配置文件;yum使用以.repo为后缀的配置文件和/etc/yum.conf的主配置文件
用户界面:dnf输出信息更清晰明了,提供更多终端输出信息。yum输出信息较少,比较简洁
1panel要设置网站必须先安装openresty
按照提示安装即可
1panel的容器-编排中可以看到容器运行日志
概览中-已安装的应用里可以删除应用
下面这个错误是因为要用空格缩进,但是出现了tab符
错误: yaml: line 5: found a tab character that violates indentation
下面这个是因为volumes的缩进错误
services.volumes Additional property openrestyLo<!--autointro-->
用cython生成的c文件有提示错误
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
const Py_UNICODE *u_end = u;
while (*u_end++) ;
return (size_t)(u_end - u - 1);
}
提示标识符size_t
不存在,还好有快捷修复选项,点击后出现c++插件设置,都设置成MSVC编译器就可以了。

target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: cockpit dhcpv6-client ssh
ports: 80/tcp 443/tcp
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[host]# firewall-cmd --list-services
cockpit dhcpv6-client ssh
[host]#
注意:除非你有其他方式设置ssh访问权限,否则不要尝试下面内容,否则可能连不上vps了。
如果我在防火墙上关闭ssh服务,理论上应该就无法连接ssh了,下面进行验证。
1、关闭ssh服务
firewall-cmd --remove-service=ssh --permanent
2、随后重新加载配置文件
firewall-cmd --reload
执行 firewall-cmd reload
命令可以重新加载 firewalld 的配置文件,使新的规则生效。这个命令会重新加载防火墙配置,但不会中断当前的连接。在重新加载配置后,防火墙将使用更新后的规则进行进一步的连接处理。
操作记录如下:
[host]# firewall-cmd --remove-service=ssh --permanent
success
[host]# firewall-cmd --list-services
cockpit dhcpv6-client ssh
[host]# firewall-cmd --reload
success
[host]# firewall-cmd --list-services
cockpit dhcpv6-client
[host]#
3、现在就连接不上ssh服务了。
我用了两种验证方式,分别是telnet工具和使用vscode进行ssh连接。这里不再展开叙述。
如果我在防火墙上开启端口白名单,理论上应该就可以连接ssh了,下面进行验证。
1、我通过管理面板添加白名单
2、查询如下,可以看出已经对固定的ip放行了
[host]# firewall-cmd --list-rich-rules
rule family="ipv4" source address="223.104.38.72" port port="22" protocol="tcp" accept
rule family="ipv4" source address="117.136.38.62" port port="22" protocol="tcp" accept
3、现在可以正常连接了。
我用了两种验证方式,分别是telnet工具和使用vscode进行ssh连接。这里不再展开叙述。
防火墙既可以通过端口也可以通过服务来控制访问。
实际上,不仅是上面提到的两种方式,常用的方式说明如下:
通过端口和服务:可以使用 firewalld 控制特定端口或服务的访问权限。你可以允许或拒绝对特定端口或预定义服务的访问。例如,允许 SSH 访问的命令如下所示:
firewall-cmd --zone=public --add-service=ssh
或者,允许特定端口的访问,例如允许端口 8080 的命令如下:
firewall-cmd --zone=public --add-port=8080/tcp
通过 IP 地址或 IP 范围:你可以使用 firewalld 控制特定 IP 地址或 IP 范围的访问。可以允许或拒绝对特定 IP 地址的访问。以下是一个允许特定 IP 地址访问的示例:
firewall-cmd --zone=public --add-source=192.168.1.100
或者,允许特定 IP 范围的访问,例如允许 192.168.1.0/24 网络的命令如下:
firewall-cmd --zone=public --add-source=192.168.1.0/24
通过网络接口:你可以使用 firewalld 控制特定网络接口的访问权限。这对于限制特定接口的入站或出站流量很有用。以下是一个将规则应用于特定接口的示例:
firewall-cmd --zone=public --add-interface=eth0
通过富规则(Rich Rules):Firewalld 还支持使用富规则来定义更复杂和灵活的访问控制。通过富规则,你可以基于多个条件(例如端口、IP、协议等)定义高级规则。以下是一个添加富规则的示例:
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'
这些只是 firewalld 提供的一些常见方法,用于控制访问权限。你可以根据自己的需求和具体情况选择适当的方法来配置 firewalld。记得在修改规则后,使用 firewall-cmd --reload
命令重新加载配置,使更改生效。
服务和端口组:除了单独指定端口,Firewalld 还支持定义服务和端口组。服务是一组预定义的端口集合,可以通过名称来引用。端口组是用户自定义的端口集合,方便管理和重复使用。你可以使用这些服务和端口组来简化规则的配置。以下是一些示例:
允许 HTTP 服务访问:
firewall-cmd --zone=public --add-service=http
允许自定义的端口组访问:
firewall-cmd --zone=public --add-port=7000-8000/tcp
创建自定义的端口组:
firewall-cmd --permanent --new-portgroup=myports
firewall-cmd --permanent --port=8080/tcp --port=9000-9500/tcp --add-portgroup=myports
上述命令创建了名为 "myports" 的自定义端口组,并将端口 8080 和 9000-9500 添加到该端口组中。
包过滤:Firewalld 允许你根据特定的网络数据包属性进行过滤和控制。你可以使用 --add-filter
参数来指定过滤规则。例如,以下命令将允许 ICMP Echo 请求通过:
firewall-cmd --zone=public --add-filter=icmp_echo_request
你还可以根据其他网络数据包属性进行过滤,如源/目标 MAC 地址、IP 协议、TTL 等。
地址转换:Firewalld 支持地址转换功能,包括源地址转换(Source NAT)和目标地址转换(Destination NAT)。地址转换允许修改网络数据包的源或目标地址,以便实现网络地址重写。这对于在网络中进行 IP 地址映射或隐藏内部网络拓扑结构非常有用。
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.100
上述命令将接收到的 TCP 流量从公共端口 80 转发到内部地址 192.168.1.100 上的端口 8080。
Firewalld 提供了广泛的功能和选项,以满足不同的网络安全需求。你可以根据具体场景和需求选择适合的方法和配置选项。可以参考 Firewalld 的文档以获取更多详细信息和示例。
防火墙可以根据IP地址对网络流量进行过滤和控制,例如只允许特定的IP地址访问网络。
防火墙可以对用户进行认证,只允许经过认证的用户访问网络。
防火墙可以
1.打开文件
vi filename
2.转到文件结尾
G
或转到第9行
9G
3.删除所有内容(先用G转到文件尾) ,使用:
:1,.d
或者删除第9行到第200行的内容(先用200G转到第200行) ,使用
:9,.d
删除说明:这是在vi中 ,“.”当前行 ,“1,.”表示从第一行到当前行 ,“d”删除
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。
在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
按「ESC」键。
1
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往"后"移动一页。
按「ctrl」+「f」:屏幕往"前"移动一页。
按「ctrl」+「u」:屏幕往"后"移动半页。
按「ctrl」+「d」:屏幕往"前"移动半页。
按数字「0」:移到文章的开头。
按「G」:移动到文章的最后。
按「$」:移动到光标所在行的"行尾"。
按「^」:移动到光标所在行的"行首"
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l。
「x」:每按一次,删除光标所在位置的"后面"一个字符。
「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符。
「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。
「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字
「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。
「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
「w」:在冒号输入字母「w」就可以将文件保存起来。
「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟
IPv4为了避免公有地址不够使用,设置了Private Address地址域的专有地址,即常说的IPv4私有地址,包括三个地址段:
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
详见:RFC1918 ,IPv4 私有地址可以通过NAT 后访问公网,也可以构成企业或组织内网。
IPv6 地址类型分为: 单播地址(Unicast)、任意播地址(Anycast)、多播地址(Multicast)。其中,单播地址中包括全球单播地址(类似IPv4的公网地址)、本地地址(类似IPv4的私有地址)等类型。
IPv6 本地地址又分为3类:
IPv6 ULA 是否具备了类似NAT的标准,还不清楚。但可以使用FC00::/7地址,组建企业内部网络。
链接:https://www.zhihu.com/question/40020<!–autointro–>
Zblog搬家之后缩略图不显示了?想了半天也没想到自己哪里出错了。 根据我的wordpress缩略图是通过timthumb.php在主题下面实现的,究竟搬家之后哪些因素会引起它的变化,不同?\n安装影响它的几大因素,一一排查; 01.文件夹权限问题;wordpress 主题下面的和timthumb.php 同目录有个缓存文件夹cache 要给777权限; 02.php版本具有编译的GD库;我查看了一下。php.ini文件配置,发现默认是支持的,所以不可能
1、把文件解压到当前目录下unzip test.zip2、如果要把文件解压到指定的目录下,需要用到-d参数。unzip -d /temp test.zip3、解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数unzip -n test.zipunzip -n -d /temp test.zip4、只看一下zip压缩包中包含哪些文件,不进行解压缩unzip -l test.zip5、查看显示的文件列表还包含压缩比率unzip -v test.zip6、检查zip文件是否损坏unzip