1月
29
由于 Yum 中许多长期存在的问题仍未得到解决,因此 Yum 包管理器 已被 DNF 包管理器 取代。这些问题包括性能差、内存占用过多、依赖解析速度变慢等。
DNF 使用 libsolv
进行依赖解析,由 SUSE 开发和维护,旨在提高性能。
Yum 主要是用 Python 编写的,它有自己的应对依赖解析的方法。它的 API 没有完整的文档,它的扩展系统只允许 Python 插件。
Yum 是 RPM 的前端工具,它管理依赖关系和资源库,然后使用 RPM 来安装、下载和删除包。
为什么他们要建立一个新的工具,而不是修复现有的问题呢?
Ales Kozamblak 解释说,这个修复在技术上是不可行的,而且 Yum 团队还没有准备好立即接受修改。
另外,最大的挑战是,Yum 有 56000 行代码,但 DNF 只有 29000 行代码。
所以除了分叉,没有办法解决。
不过 Yum 的运行情况还算可以。
编号 |
DNF(Dandified YUM) |
YUM(Yellowdog Updater, Modified) |
1 |
DNF 使用 libsolv 来解析依赖关系,由 SUSE 开发和维护 |
YUM 使用公开的 API 来解析依赖关系 |
2 |
API 有完整的文档 |
API 没有完整的文档 |
3 |
由 C、C++、Python 编写的 |
只用 Python 编写 |
4 |
DNF 目前在 Fedora、RHEL 8、CentOS 8、OEL 8 和 Mageia 6/7 中使用 |
YUM 目前在 RHEL 6/7、CentOS 6/7、OEL 6/7 中使用 |
5 |
DNF 支持各种扩展 |
Yum 只支持基于 Python 的扩展 |
6 |
API 有良好的文档,因此很容易创建新的功能 |
因为 API 没有正确的文档化,所以创建新功能非常困难 |
7 |
DNF 在同步存储库的元数据时,使用的内存较少 |
在同步存储库的元数据时,YUM 使用了过多的内存 |
8 |
DNF 使用满足性算法来解决依赖关系解析(它是用字典的方法来存储和检索包和依赖信息) |
由于使用公开 API 的原因,Yum 依赖性解析变得迟钝 |
9 |
从内存使用量和版本库元数据的依赖性解析来看,性能都不错 |
总的来说,在很多因素的影响下,表现不佳 |
10 |
DNF 更新:在 DNF 更新过程中,如果包中包含不相关的依赖,则不会更新 |
YUM 将在没有验证的情况下更新软件包 |
11 |
如果启用的存储库没有响应,DNF 将跳过它,并继续使用可用的存储库处理事务 |
如果有存储库不可用,YUM 会立即停止 |
12 |
dnf update 和 dnf upgrade 是等价的 |
在 Yum 中则不同 |
13 |
安装包的依赖关系不更新 |
Yum 为这种行为提供了一个选项 |
14 |
清理删除的包:当删除一个包时,DNF 会自动删除任何没有被用户明确安装的依赖包 |
Yum 不会这样做 |
15 |
存储库缓存更新计划:默认情况下,系统启动后 10 分钟后,DNF 每小时会对配置的存储库检查一次更新。这个动作由系统定时器单元 dnf-makecache.timer 控制 |
Yum 也会这样做 |
16 |
内核包不受 DNF 保护。不像 Yum,你可以删除所有的内核包,包括运行中的内核包 |
Yum 不允许你删除运行中的内核 |
17 |
libsolv:用于解包和读取资源库。hawkey: 为 libsolv 提供简化的 C 和 Python API 库。librepo: 提供 C 和 Python(类似 libcURL)API 的库,用于下载 Linux 存储库元数据和软件包。libcomps: 是 yum.comps 库的替代品。它是用纯 C 语言编写的库,有 Python 2 和 Python 3 的绑定。 |
Yum 不使用单独的库来执行这些功能 |
18 |
DNF 包含 29000 行代码 |
Yum 包含 56000 行代码 |
19 |
DNF 由 Ales Kozumplik 开发 |
YUM 由 Zdenek Pavlas、Jan Silhan 和团队成员开发 |
文章来源
https://linux.cn/article-12161-1.html
相关文章
https://blog.csdn.net/xaosky/article/details/123034396
1月
29
想做一个完整的项目。服务器是不可缺少的一部分。服务器选什么环境呢,用的比较多的是 centos 和 ubuntu。阿里云基于龙蜥操作系统(Anolis OS)打造的阿里云第三代发行版操作系统 Alibaba Cloud Linux 3(以下简称 Alinux 3) 的 CIS 安全基线(Alinux 3 CIS benchmark v1.0.0 版本)正式完成了 CIS 认证。 Alinux 3 全面兼容 RHEL / CentOS 8 生态。随着 CentOS 8 的停服,使用 Alibaba Cloud Linux 3 来替代 CentOS 也成为部分企业的选择。这里就用 Alibaba Cloud Linux 3 吧。
选配购买好服务器后。在阿里云控制台设置好密码和常用安全组,就可以通过 ssh 进入操作系统了。
常规操作
https://help.aliyun.com/document_detail/416274.html
# 安全更新提醒
dnf upgrade-minimal --security
# 查看服务器环境
lsb_release -a
# 结果如下
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: AlibabaCloud
Description: Alibaba Cloud Linux release 3 (Soaring Falcon)
Release: 3
Codename: SoaringFalcon
# 更新 yum 源
yum update
Alibaba Cloud Linux release 3 中 yum 指向了 dnf-3
dnf 和 yun 的区别
相关文章
https://zhuanlan.zhihu.com/p/438572784
https://baijiahao.baidu.com/s?id=1725178032789531647&wfr=spider&for=pc
1月
13
Alt + Enter 导入包,自动修正
Command + N 查找类
Command + Shift + N查找文件
Command + Alt + L格式化代码
Command + Alt + O优化导入的类和包
Ctrl +Enter生成代码
Command + E打开最近更改的代码
Command + R替换
Command + F查找
Alt + Shift + C 对比最近修改代码
Shift + F6 重构、重命名
Command + Y删除行
Command + D 复制行
Command + J 自动代码
Alt + F1快速打开隐藏工具面板
Alt + Command + 左右键 快速回到上次修改的地方
Command + 左右键 快速至行尾、行首
Control + 上下键 方法间快速移动定位
Shift + Command + 上下键 代码向上下移动
F2 快速定位并高亮错误或警告
Command + W 选中代码,连续按有不同效果
选中文本后,Alt + F3,逐个查找相同文本
Command + B 打开光标处的方法或者类
1月
07
下载地址
https://www.jetbrains.com.cn/idea/download/other.html
IDEA的ultimate(最终版)与community(社区版)的区别
https://blog.csdn.net/blbyu/article/details/118201500
IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。
- community(社区版):免费的IntelliJ IDEA community版本是基于开源代码构建的,可以用于纯JVM 和 Android 开发,拥有大部分开发中所需要的功能,但是不能够提供前端css和js的技术支持。
- ultimate(最终版):付费的 IntelliJ IDEA ultimate版本可以支持web端和企业端的开发使用,能支持众多前端和后端框架和技术,可以提供分析和数据库工具、HTTP客户端,允许免费使用30天(①购买正版;②可每30天卸载重新安装哦;)
破解尝试
https://www.hereitis.cn/articleDetails/867
https://www.hereitis.cn/soft/intellijidea
1月
02
eclipse 和 maven
https://maven.apache.org/download.cgi
打开页面,选择对应的版本下载。这里 apache-maven-3.8.7-bin.zip
下载好后,打开 eclipse, 打开 Window → Preferences → Maven → Installations,点击 Add,将刚才下载的 maven 配置进去就可以。因为从零开始,啥都喜欢用最新的。
再来配置 Window → Preferences → Maven → User Settings
/Users/vini123/Java/eclipse/apache-maven-3.8.7/conf/settings.xml
参考
代码补全提示
https://cloud.tencent.com/developer/article/1795246
安装 PropertiesEditor
https://blog.csdn.net/sayyy/article/details/104780196
12月
29
mysql 5.7 之后,默认 only_full_group_by 生效。也就是 select 的字段和 group by 的字段一样,额外的聚合函数除外。这样一来,很影响我们数据输出的需要。比如我想知道上海市每个区有多少家店,要展示区名字,店名字,区号。数据库里边存储的字段有店名、区号、区名字等。这个时候 only_full_group_by 严格模式下,直接请求就会有错误。这里是,可以有两种方法来解决。一是关掉 only_full_group_by 模式。二是使用 ANY_VALUE 函数。不错就是使用 ANY_VALUE 函数。
解决方法
个人喜欢使用 ANY_VALUE 来搞定。
SELECT COUNT(*) AS count, 区号, ANY_VALUE(区名字), ANY_VALUE(店名字) FROM 店表 GROUP BY 区号;