当前位置: 首页 > news >正文

win8网站模版南通制作网站的有哪些公司

win8网站模版,南通制作网站的有哪些公司,百度前三推广,网站开发后怎么转安卓app前言 HI,CSDN的码友们#xff0c;距离上一次我发文章已经过去了半年的时间#xff0c;现在我又来介绍自己新发现和探究的开源技术了。计算机的发展总是飞速的#xff0c;当我在写这篇文章的时候#xff0c;Fedora rawhide已经进入了40版本、默认采用的自动化包管理器为dnf…前言 HI,CSDN的码友们距离上一次我发文章已经过去了半年的时间现在我又来介绍自己新发现和探究的开源技术了。计算机的发展总是飞速的当我在写这篇文章的时候Fedora rawhide已经进入了40版本、默认采用的自动化包管理器为dnf5这里的默认指的是yum和dnf命令的默认指向虽然说是dnf5但其实它一直在改变它可能指向yum/dnf3/dnf5,并且发布了稳定运行的GNOME45 beta。以下是部分图片记录下来留作纪念吧。 本文的信息来源和依据 dnf5文档 dnf文档 dnf5GitHub项目 dnfGitHub项目 dnf5速度对比 dnf插件 简介 这回我要介绍的是RedHat系Linux发行版的新一代包管理器dnf5。由于我使用了Fedora rawhide默认的yum源只收录最新的rpm软件包所以我总是能够接触到最新的Linux内核、驱动与软件包。现在服务器上部署的 rpm系Linux可能大多还是CentOS 7,也就是使用yum作为包管理器甚至可能还没有使用上dnf,更不用说最新的dnf5。也许企业基于稳定的考量不会使用最新且可能有bug的技术不过作为个人电脑桌面Linux来说使用最新的软件包拿来体验应该是完全没有问题的我就把我自己的使用体验和经验分享一下吧。我希望通过我的文章更多人愿意使用开源的GNU/Linux作为桌面系统爱上Linux,爱上开源爱上分享技术。本文的信息和依据主要来自官方文档可以说是对文档的翻译说明当然文章中可能出现描述或者理解错误的问题欢迎大家指出。虽然文章讲述的是dnf5但是包管理器前端命令的选项都是大同小异这些选项和前辈包管理器其实差不多大家也可以拿来看一看。 我首先介绍一下RPM系Linux包管理器和它们的发展过程与特点。 RPM (Red Hat Package Manager): RPM是最早的版本首次发布于1997年。它包含了一组核心实用程序用于管理.rpm文件这些文件是软件包的预编译二进制版本或者源代码。RPM的主要特点包括可以查询包数据库以获取有关已安装的包的信息可以升级包同时自动处理依赖关系可以验证包的完整性等。 YUM (Yellowdog Updater, Modified): YUM是在RPM的基础上开发的首次发布于2000年。它是第一个能自动解决软件包依赖问题的RPM系包管理器。YUM的主要特点是自动下载RPM包并解决依赖关系提供了一个简单的命令行接口可以自动安装和升级软件包支持多个仓库等。 DNF (Dandified YUM): DNF是在YUM的基础上开发的首次发布于2012年。DNF的主要改进是在包管理器的内部结构和依赖解析算法上。DNF的主要特点包括提供了更好的依赖关系解决方案提供了更好的API改进了性能增加了新的特性如快照和回滚等。 DNF 5: 在DNF的基础上DNF 5进一步改进了包管理器的性能和可用性。DNF 5的主要特点包括支持并行下载改进了软件包的安装和升级过程提供了更好的交互式命令行接口增强了插件系统等。 可以看到DNF这个包管理器已经是第5个版本了说明RedHat以及Fedora社区开发者、个人贡献者对于包管理器可以说是非常重视了只是可能它的开发比较低调。一点点去修改也不会在发行版上突然就默认使用最新的包管理器。我在Fedora rawhideFedora的试验田上的dnf5也是自己安装的并不是说rawhide就会自带dnf5rawhide作为试验田在很多小细节的地方都是不停地修修改改。dnf5最大的亮点可能是使用了C编写速度比使用Python编写的dnf要快并且也不容易出现依赖问题。 正文 DNF5是一个命令行包管理器可以以一致的方式自动执行安装、升级、配置和删除计算机程序的过程。 libdnf5是包管理库。现在发展成为了一个多功能库通过它来构建加载存储库、查询包、解析依赖项和安装包的自定义工具。 它由libsolv提供支持并使用易于使用的编程接口进行包装。libsolv 的功能使得软件包管理器能够更好地处理依赖关系并确保软件包的安装和升级过程更加可靠和一致。许多流行的 Linux 发行版使用 libsolv 或基于 libsolv 开发自己的依赖关系解析器。 DNF5对外有开发接口因此开源开发者也可以根据自己的想法和开放的接口自己做一个基于DNF5的包管理器并且带上自己特色比如加上图形界面、加入deb包名转rpm包名的能力等。以下是DNF5对于几种编程语言的绑定情况 LanguagesupportC完全支持Python3完全支持Perl5部分功能支持Ruby部分功能支持Go暂不考虑支持寻找GO开发志愿者C语言不支持选择C即可 安装dnf5 sudo dnf install dnf5当然这么做的前提是你已经使用dnf作为包管理器如果你现在的包管理器是yum那么就使用yum来安装dnf5。 那么dnf5软件包对应的命令就是dnf5,如果你觉得dnf5这个命令看起来敲起来很难受你可以使用软连接指定过去。 sudo ln -s /usr/bin/dnf5 /usr/bin/dnf建立元数据缓存命令 sudo dnf5 makecache这其实就是在dnf5 update之前将源中的元数据版本信息等缓存起来但是有时候缓存可能会失效元数据太老旧可以先清理再缓存。这个缓存的问题呢对于不同执行的用户来说可能有自己的缓存所以比如你习惯了使用sudo dnf5那么你就一直sudo这种形式就好如果你习惯先切换到root用户再更新或建立缓存那就继续保持。不然的话可能会为不同用户各自建立缓存这样会占用更多的磁盘空间。 sudo dnf5 clean all sudo dnf5 makecache安装和更新命令 模板 sudo dnf5 install [options] package-name sudo dnf5 upgrade/update [options] package-name这里的package-name可以是远程的包或者命令的名字也可以是本地的rpm包。由于安装和更新其实本质都是一样的所以就放到一起了。我也不知道为什么在dnf5强调了upgrade的存在在这之前都是使用update不过在当前版本的dnf5.这二者没有什么差别如果你的要求是更新所有软件包可以选择upgrade. 选项描述–allowerasing允许删除已安装的软件包以解决任何潜在的依赖性问题–minimal仅将软件包更新到提供错误修复、增强功能或安全问题修复的最低可用版本–exclude跳过指定的软件包可以使用通配符匹配包名–best:当多个软件包出现冲突问题的时候会根据综合情况版本、稳定性等自动选择最合适的那个软件包–skip-broken当出现软件包依赖问题无法解决的时候出问题的软件包不安装跳过–forcearchx86_64/aarch64指定待安装软件包的CPU架构(无视你的主机系统的架构情况)–advisory-severities[critical/important/medium/low/none]仅考虑具有指定严重性的建议中包含的内容 常见的安全公告严重级别 等级描述Critical严重指示严重的漏洞可能导致系统受到远程攻击并完全受损Important重要指示较为重要的漏洞可能导致系统受到攻击并有一定的风险Moderate中等指示中等风险的漏洞可能导致系统遭受某些攻击或数据泄露Low低指示较低的风险漏洞可能对系统的影响较小None无指示没有特定的严重级别要求 使用 --advisory-severities 选项你可以将这些严重级别中的一个或多个作为参数传递给 dnf update 命令来仅更新满足指定严重级别要求的安全公告。这有助于根据你的需求选择性地安装或更新具有特定安全级别的软件包从而确保系统的安全性和稳定性。 降级命令 降级命令可以说是非常重要了在更新到最新的软件包后完全有可能出现一堆bug,这时候就需要降级命令来回退rpm包的版本。 sudo dnf5 downgrade [options] package-name例子: sudo dnf5 downgrade nano-0:6.0-2.fc36当然了话又说回来自动化包管理器毕竟是依靠源里面的软件包index工作的无论是升级还是降级都需要你的源里面有对应的软件包也就是说你的源里必须有低版本的软件包才能够降级。 交换命令 sudo dnf5 [options] remove-name install-name这其实就是先卸载旧的软件包再安装新的软件包 例子 sudo dnf5 swap mlocate plocate sudo dnf5 swap nano vim sudo dnf5 swap vim neovim包搜索命令 sudo dnf5 search [options] pattern通过将用户给定的关键字与各种元数据进行匹配来搜索包不区分大小写。 –all 至少选出一个软件包来会从包名、说明、摘要等信息中搜查属于模糊搜索、搜索范围特别大。 包下载命令 sudo dnf5 download [options] package-name用于将package-name指定的包名定义的二进制文件和源代码包下载到当前工作目录 选项作用–resolve解决指定包的依赖关系并下载缺失的包–alldeps下载所有依赖项而不是跳过下载已安装的依赖项要与–resolve一起使用–destdir 指定用于下载包的目录默认是当前的工作目录 sudo dnf5 kernel-headers-0:5.17.0-300.fc36.i686 sudo dnf5 download rpm -rpm-devel sudo dnf5 download maven-compiler --resolve --alldeps这里提醒一下只有对系统进行修改的操作才非要sudo不可像这种下载操作是可以不需要root权限的只需要你对当前工作目录有写和执行权限即可。 包移除命令 sudo dnf5 remove package-name从系统中删除指定的已安装的包如果想仅删除这个包但是保留这个包的依赖项可以使用clean_requirements_on_removeFalse. 可以搭配rpm命令一起使用rpm命令负责查询待删除的包dnf命令用于安装或移除包。以下是一个非常常见的例子 由于Fedora的内核非常新每个一两天就会更新一次这些内核会堆积在/boot里但/boot分配的空间肯定是相对较少的所以需要在更新内核后把旧的内核给删除而旧的内核软件包的数量是较多的这样就可以根据包名的相同部分批量删除rpm包。当然这里要注意下当你使用*等通配符去匹配字符串的时候请务必加上一对. 如果出现依赖问题导致无法卸载但是你又非常确定可以卸载的时候可以尝试以下的解决办法。 sudo rpm -e --nodeps package-name在不检测依赖的情况下卸载但是可能会有文件残留需要自己手动去删除。 自动移除命令 sudo dnf5 autoremove这个命令是用于删除多于的rpm包dnf会自动查找rpm数据库寻找没有被依赖的软件包并删除执行这个命令前一定要小心虽然有的软件包没有被依赖但是也是可能会出错的因此我会在执行这条命令之前重构rpm依赖数据库避免dnf分析错误。 sudo rpm --rebuilddb清理命令 sudo dnf clean [cache-types]这个命令前面已经讲到了用于删除元数据或将缓存标记为过期。比如说当你认为你应该可以更新某个包的新版本但是直接更新却提示说已经是最新版本了那么很有可能就是你的包缓存过期了还没更新包index,也许缓存中是昨天的信息导致你无法获取今天刚发布的新rpm包这时候你就可以先清理再缓存/更新。 cache-types含义all所有存储库缓存的数据packages所有缓存的包dbcachedbcache元数据 历史记录与撤销功能 sudo dnf history list sudo dnf history undo id当作者在写这篇文章的时候实际上dnf5是没有这个功能的可能是发展还不完善不过dnf已经有这个功能了我觉得这个功能是非常重要的万一卸载了某个软件包导致系统或桌面挂了还可以用这个命令救一下。 先用list列出所有的dnf历史操作再选择你要撤回操作的ID,使用undo就可以恢复。不过还是要在这里提醒一下。 虽然说undo是可以撤销操作的但是如果你是要撤销曾经卸载的软件包的话dnf实际上会去你的源里寻找与已卸载软件包相同名称的包但是如果找不到那就没办法复原了;如果你卸载某个软件包后无法进入桌面可以先临时进命令行界面恢复软件包但在这个时候直接list可能会导致一页显示不下那么多的操作而最新的操作又往往在最上面容易被下面的内容覆盖命令行界面无法通过鼠标滑动翻页所以你可以用 重定向到某个文件再用vim/more/less等打开后查找较新的操作。 以上都是非常常用的命令下面是一些不太常用的命令只会偶尔用上几次 发行版同步命令 sudo dnf5 distro-sync其中distro是Linux发行版的意思sync是同步的意思。当你执行完update/upgrade时使用最新的软件包可能是会破坏依赖的那么这个命令其实就是使用尽可能新的软件包在不会破坏依赖性的前提下。 dnf distro-sync是一个用于系统包管理的命令它用于解决软件包之间的依赖关系冲突。当你运行dnf distro-sync命令时它会根据系统中已安装的软件包的版本和依赖关系升级、降级或删除软件包以确保系统中的软件包保持一致和可用。 与dnf upgrade命令相比dnf distro-sync更加强大和细粒度。dnf upgrade主要用于升级系统中的所有软件包到其最新可用版本而不考虑依赖关系。它会尝试将所有软件包升级到最新版本但如果存在依赖关系问题可能会导致一些软件包无法升级或出现冲突。 dnf distro-sync更注重系统中软件包的一致性和依赖关系。它会检查系统中所有软件包的版本和依赖关系并尝试通过升级、降级或删除软件包来解决任何冲突。它可以确保系统中的软件包与系统发布版本或存储库中的软件包保持一致。 因此如果你想要确保系统中的软件包与系统发布版本或存储库保持一致包括解决依赖关系冲突你可以使用dnf distro-sync命令。如果你只想简单地将系统中的软件包升级到它们的最新版本而不考虑依赖关系你可以使用dnf upgrade命令。 组管理 sudo dnf5 group subcommamd [options] [group-name]dnf5命令和前几代dnf命令前端最大的不同可能就是重新定义了子命令将命令和子命令区分开来。 command作用list列出当前系统的组情况info打印指定组的相关信息install安装指定组remove移除指定组 options作用–avaliable仅显示可用组–install仅显示已安装的组–hidden显示隐藏的组–contains-pkgs仅显示包含具有指定名称的组–with-options与install子命令一起使用包含组中的可选包 例子 sudo dnf5 group list --hidden #显示所有组的列表包括隐藏的组 sudo dnf5 group info *xfce* #显示与xfce桌面相关的所有组的详细信息 sudo dnf5 group install mysql --with-options #安装mysal包含可选软件包的组环境管理 sudo dnf5 environment subcommand [options] [environment-name]sudo dnf5 environment list sudo dnf5 environment info KDE Plasma Workspaacesdnf5 environment用于管理软件包环境即一组预定义的软件包集合而dnf5 group用于管理软件包组即一组相关的软件包。两者都可以方便地安装、管理和删除软件包集合但它们的操作对象和功能略有不同。 subcommand:list/info options:–avaliable/–installed 这个命令使用场景实在比较少这里不再赘述了。 在dnf5命令的文档里还有一些其他命令大家可以自行去了解。 下面是对dnf的插件的讲解 dnf插件也是以软件包的形式发布和安装可以通过dnf包管理器直接安装它们通常以dnf-plugin或dnf-plugins开头。 sudo dnf5 install dnf-plugins-core #提供了一些核心插件 sudo dnf5 install dnf-plugin-system-upgrade #用于系统升级的插件 sudo dnf5 install dnf-plugin-protectbase #允许你保护特定存储库的软件包以防止被其他存储库中的软件包覆盖 sudo dnf5 install dnf-plugin-versionlock #允许你锁定特定软件包的版本放置其被升级或降级 sudo dnf5 install dnf5-command(copr) #COPR是一个Fedora项目用于一些非官方的包提供个人构建服务这个我们重点说dnf额外插件 遇到插件安装失败的情况也不要急也许是插件的名称写错了大家可以根据sh的提示信息再次尝试安装 # Ferdora Linux版本升级 sudo dnf upgrade --refresh # 刷新软件包缓存 sudo dnf system-upgrade download --releasever38 # 下载指定Fedora发行版的软件包 sudo dnf system-upgrade reboot # 重启并安装新操作系统更新Fedora Linux的官方文档 COPR存储库管理 copr 子命令用于DNF5管理本地系统上的 Copr 存储库由用户/社区/第三方提供的附加组件。 Fedora和Arch Linux在软件包维护方面有不同的特点。下面是它们之间的一些比较 官方软件包 FedoraFedora拥有一个官方软件仓库其中包含经过官方团队审核和维护的软件包。这些软件包经过一定程度的测试和验证以确保它们在Fedora操作系统上的稳定性和兼容性。 Arch LinuxArch Linux也有一个官方软件仓库提供了一组核心软件包包括基本的系统工具和服务。与Fedora不同Arch Linux的官方软件仓库更加精简专注于提供简洁、轻量级和最新版的软件。 AUR和第三方软件包 FedoraFedora拥有一个名为COPR的项目它允许社区成员创建和维护第三方软件仓库。COPR中的软件包经过一定程度的审核以确保它们符合Fedora社区的标准。与AUR不同COPR中的软件包相对较少但它们经过了一些审核和测试过程。 Arch LinuxAUR是Arch Linux的一个独特特点它为用户提供了一个社区驱动的软件仓库。AUR中的软件包由社区成员创建和维护没有经过官方团队的审核。这使得AUR中的软件包数量非常庞大涵盖了大量的应用程序和工具但也意味着用户需要对软件包的可靠性和安全性进行自行评估。 软件包更新 FedoraFedora采用了固定的发布周期每年发布一个新版本。在每个版本中官方软件仓库会提供常规的软件包更新和安全补丁。用户可以通过dnf包管理器轻松地更新系统和软件包。 Arch LinuxArch Linux采用滚动更新模型没有固定的版本发布。软件包更新是持续进行的用户可以随时获取最新版本的软件包。通过pacman包管理器用户可以方便地更新整个系统。 总体而言Fedora更注重稳定性和可靠性它的官方软件仓库经过了官方团队的审核和测试。相比之下Arch Linux更注重简洁和灵活性它的官方软件仓库提供简明、轻量级和最新版的软件而AUR则为用户提供了更丰富的第三方软件包选择。选择适合自己需求的操作系统取决于用户对稳定性和灵活性的偏好。 从这里我们就可以看出了Fedora第三方的仓库是星星点点比较分散的不像Arch Linux那样有一个统一的存放社区打包出来的软件包的aur。当然如果大家自己也写了一个项目也可以自己创建一个Copr存储库来发布自己的rpm软件包。 sudo dnf5 copr subcommand [options] [arguments]subcommand含义/原理list列出Copr存储库enable developer_name/project_name从Copr服务器下载存储库信息并放置在/etc/yum.repo.d/*.repodisable /将配置文件中的enable设置为0,dnf会忽略该存储库remove /删除该配置文件debug打印有关调试有用的系统的信息list列出第三方存储库 options: –hub [url] 指定CoprHub服务器的主机名默认为copr.fedorainfracloud.org. CoprHub网址 这里举一个例子 scrcpy项目地址 比如你想要把安卓手机/平板上的画面投屏到电脑上可以使用scrcpy这个开源项目。而这个项目并不直接在releases里发布rpm包而是自己建立了一个存储库专门用来存放rpm包。 dnf copr enable zeno/scrcpy dnf install scrcpy可以根据文档中的描述启用自建的copr存储库并从该存储库中查找并安装scrcpy软件包。这一切都是自动化操作的。 当然如果你不想自动化配置或者这么做失败了你也可以手动添加copr存储库以下是一个例子 首先访问CoprHub,网址放在上面了。进入后输入开发者/项目名称 选择你当前使用的Fedora Linux版本 这就是你应当添加的源了源必须放置在/etc/yum/repo.d/目录下在该目录下创建一个文件名为copr:copr.fedorainfracloud.org:zone:scrcpy的文件这个页面的所有字符复制粘贴到这个文件里面这时候存储库就添加好了。 不过这里说了copr第三方软件源的管理了也就顺便介绍一下repo—用于获取有关系统上配置的存储库信息。 sudo dnf5 repo subcommand [options] repo-nane子命令list / info 选项作用–all显示有关所有已知存储库的信息–enabled仅显示已启用存储库的信息默认–disabled仅显示已仅用的存储库的信息 sudo dnf5 repo list --disabled -debuginfo #打印与调试相关的禁用存储库软件包版本锁定插件 这个插件就是前面安装的dnf-plugin-versionlock。不过貌似dnf5无法使用这个插件那就说一说dnf使用这个插件的方法吧。比如我想把gnome-shell的版本固定下来不想更新到新的不稳定的版本了。 sudo dnf list gnome-shell sudo dnf versionlock add gnome-shell #把这个软件包和版本上锁不让更新可以在指定时加入版本信息 sudo dnf versionlock list #查看有哪些软件包是上锁的 sudo dnf versionlock delete gnome-shell #给软件包解锁yum源管理 其实RPM系Linux的源管理其实很简单不过和Deb系和Arch系Linux不太一样后者是把链接放到固定的文件里而前者则是把yum源的配置文件含链接放到固定的目录里即 /etc/yum.repo.d 被放置在这个目录下的.repo结尾的文件会被认为是一个yum源当然是必须要该目录下在该目录的子目录下的.repo文件不会被Linux认为这是一个yuim源 这里我不具体说这个yum源是怎么编写的如果大家需要的话可以给我留下评论我再写详细解析。我仅仅分享一下我使用的源大家可以拿去参考. 大家可以看到我创建了一个backup目录在该目录里把现在暂时用不到或者无法使用的yum源给放到里面了。 以.rpmsave结尾的的源这些是系统备份的源由于我的Fedora Linux升级了所以使用的源也会自动更新因此系统会把旧版本的源给换一个名字使它们不再以.repo结尾。 以_copr开头的源这些源并不是RehHat官方提供的源包的质量和安全性都没有官方的保障属于第三方、开发者自行维护的源与上面介绍的scrcpy是类似的大家可以多去GItHub上找找。 系统级别的源这些源里面有Fedora Linux安装后自带的官方源也有国内的镜像源如果大家对访问国外网站有困难就使用国内的镜像如果你无法访问国外的源那么请你把baseurl为国外的yum源放置到backup目录里以避免下载元数据时发出无效的http请求这样会白白浪费时间。系统自带的官方提供的源由于系统安装后本身就存在了这里不再赘述。国内镜像源 我推荐清华源可能不稳定、ustc源强烈推荐、阿里源速度慢、华为源需要登录。 如果你对于配置软件源有困惑或者是配置文件不知道怎么写的在ustc的镜像网站里还非常贴心地写了许多文档。 yum源的收录是在精而不在多你收录的源越多每次从云端更新元数据的时间就越长而且很多镜像源里的软件是重复的。基本上你就选择我推荐的这几个源也就差不多了。 Fedora官方Mirror 清华开源镜像站 中国科学技术大学开源镜像站 阿里开源镜像站 华为开源镜像站 某些软件单独的yum源比如其中的code.repo\skype-stable.repo\google-chrome.repo等这些源的目的其实很明确就是为了某个软件单独做的软件源大家可以在这些软件的官网上找到添加源的方法。 # 我以chrome浏览器的安装过程作例子 sudo dnf install fedora-workstation-repositories #添加额外的Fedora仓库 sudo dnf config-manager --set-enabled google-chrome #启动chrome仓库 sudo dnf install google-chrome-stable #安装chrome稳定版与RedHat紧密相关的第三方软件源。 RPM Fusion和Remi是两个常用的第三方软件源用于在Fedora和Red Hat Enterprise LinuxRHEL等基于RPM的Linux发行版中提供额外的软件包和功能。它们的存在意义在于为用户提供访问一些官方软件源中没有的软件包、库和驱动程序的机会从而扩展系统的功能和兼容性。 以下是关于每个软件源的简要介绍 RPM Fusion: RPM Fusion是一个社区驱动的软件源提供了一些官方软件源中缺失或限制的软件包例如多媒体编解码器、专有驱动程序、播放器、游戏软件等。它分为两个主要分支 Free自由提供自由和开源的软件包符合自由软件准则。 Nonfree非自由提供一些专有软件和驱动程序这些软件不符合自由软件准则但可以在Fedora系统上使用。 RPM Fusion的软件包通常不包含在Fedora官方软件库中但可以通过添加RPM Fusion源来获得。 Remi: Remi是一个由Remi Collet维护的软件源主要关注对RHEL和CentOS发行版的支持。它提供了一些额外的软件包包括最新版本的PHP、MySQL、Redis、Memcached等。Remi软件源的目标是为企业用户提供先进和稳定的Web开发环境。 Remi软件源还提供了多个软件集合包括Remi Repository主版本、Remi PHP RepositoryPHP版本和Remi Safe Repository安全补丁以满足不同用户和环境的需求。 # 添加Free分支 sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm# 添加Nonfree分支 sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm# 安装并启用Remi软件源 sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-$(rpm -E %rhel).rpm当然了这些网址也位于国外不过你应该明确我已经强烈建议键入ustc源了去中科大的开源镜像站看看吧里面有free的镜像。 下面是dnf配置文件的说明在/etc/dnf/目录下是对dnf命令的设置 目录/文件作用dnf.conf这是dnf目录的配置文件也是本节的重点plugins安装的插件被保存的配置文件和信息protected.d受保护的rpm包的配置文件存放的目录 从这张图片中大家可以看到凡是在这个目录下的文件里写有的rpm包名则是被保护的。dnf命令会保护这些rpm包不被卸载。如果大家想避免哪个包不小心被卸载可以自己创建一个.conf并且把包名写进去。 dnf.conf配置文件的编写 通过/etc/dnf/dnf.conf这个配置文件改变dnf的一些行为。 大家可以看到此时dnf5正在以10个下载任务数对待更新的rpm包进行下载。我常常听说dnf因为速度太慢被喷但我在这里为它正名一下其实dnf5的下载包的速度很快10个下载任务同时进行仍然不是它的极限我们仅需对dnf.conf进行简单的配置一下就好。 大家可以在sh的任意一个工作目录运行 man dnf.conf 就可以看到配置文件的说明文档我会在这一节的最后提供我的配置文件大家可以拿去参考。 选项值类型描述archString指定rpm包的CPU架构默认会依从系统架构excludeString跳过指定的软件包assumeyesboolean假定用户输入确认默认为Falseautocheck_running_kernelboolean自动检查是否安装了比当前运行的内核具有安全更新的更新内核模块。默认值为TruecachedirString设置DNF的缓存目录checkonlyboolean如果设置为True则DNF将完全从系统缓存中运行不会更新缓存即使缓存过期也会使用它。默认值为Falsecheck_config_file_ageboolean指定dnf是否应自动使repos的元数据过期clean_requirements_on_removeboolean删除dnf删除过程中不再使用的依赖项默认为Trueconfig_file_pathString默认主配置文件的路径/etc/dnf/dnf.conflogdirString存储日志文件的目录(/var/log)max_parallel_downloadsInteger同时下载程序包的最大次数。默认值为3。最多20个proxyString要连接的代理服务器的URLgpgcheckboolean是否对此存储库中找到的包执行GPG签名检查,默认值为False(一般在.repo文件里写True)skip_if_unavaliableboolean如果某个存储库不可访问那就直接跳过去不要在这上面一直发http/ftp请求浪费时间了timeoutInteger设置超时的秒数如果这指定时间内没有反应就跳过那个存储库user_agentString相信写过爬虫/网站的同学对这个应该不陌生。要包含在DNF发送的HTTP请求中的用户代理字符串usernameString用于连接到具有基本HTTP身份验证的repo的用户名。默认情况下为空。可能是用来连接华为等需要登录的存储库使用的选项 大家注意这些选项不仅仅是可以写在dnf.conf这个配置文件里面的。实际上dnf.conf是通用配置文件它的优先级是最低的但是使用范围最广。在yum源的.repo文件和你使用dnf时的选项里也可以使用这些选项。优先级: dnf命令 repo存储库 dnf.conf全局配置文件。 [main] archx86_64 max_parallel_downloads10 gpgcheckTrue installonly_limit3 clean_requirements_on_removeTrue bestFalse skip_if_unavailableTrue fastestmirrorTrue keepcacheTrue assumeyesFalse当然了这里面的boolean不一定非要写True/False,你写1/0也是一样的。虽然我这里设置了10个任务并行下载实际上你设置成20个也完全没有任何问题这下总没人再说dnf命令的速度太慢了吧。 Python调用dnf API实例 官方文档 我会把dnf5对外提供的API放到最后更新。 未完待续…
文章转载自:
http://www.morning.rlksq.cn.gov.cn.rlksq.cn
http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn
http://www.morning.lynkz.cn.gov.cn.lynkz.cn
http://www.morning.bkxnp.cn.gov.cn.bkxnp.cn
http://www.morning.tqgmd.cn.gov.cn.tqgmd.cn
http://www.morning.ydzly.cn.gov.cn.ydzly.cn
http://www.morning.dqrpz.cn.gov.cn.dqrpz.cn
http://www.morning.brwwr.cn.gov.cn.brwwr.cn
http://www.morning.tralution.cn.gov.cn.tralution.cn
http://www.morning.cldgh.cn.gov.cn.cldgh.cn
http://www.morning.wanjia-sd.com.gov.cn.wanjia-sd.com
http://www.morning.stbfy.cn.gov.cn.stbfy.cn
http://www.morning.jtkfm.cn.gov.cn.jtkfm.cn
http://www.morning.kgmkl.cn.gov.cn.kgmkl.cn
http://www.morning.hptbp.cn.gov.cn.hptbp.cn
http://www.morning.pdwny.cn.gov.cn.pdwny.cn
http://www.morning.mldrd.cn.gov.cn.mldrd.cn
http://www.morning.jrslj.cn.gov.cn.jrslj.cn
http://www.morning.kcfnp.cn.gov.cn.kcfnp.cn
http://www.morning.trplf.cn.gov.cn.trplf.cn
http://www.morning.mdrnn.cn.gov.cn.mdrnn.cn
http://www.morning.dwtdn.cn.gov.cn.dwtdn.cn
http://www.morning.kwfnt.cn.gov.cn.kwfnt.cn
http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn
http://www.morning.nshhf.cn.gov.cn.nshhf.cn
http://www.morning.gjmbk.cn.gov.cn.gjmbk.cn
http://www.morning.pqktp.cn.gov.cn.pqktp.cn
http://www.morning.kxbry.cn.gov.cn.kxbry.cn
http://www.morning.wbysj.cn.gov.cn.wbysj.cn
http://www.morning.jjtwh.cn.gov.cn.jjtwh.cn
http://www.morning.lnrhk.cn.gov.cn.lnrhk.cn
http://www.morning.qtqjx.cn.gov.cn.qtqjx.cn
http://www.morning.splcc.cn.gov.cn.splcc.cn
http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn
http://www.morning.rqrh.cn.gov.cn.rqrh.cn
http://www.morning.ljygq.cn.gov.cn.ljygq.cn
http://www.morning.zsfooo.com.gov.cn.zsfooo.com
http://www.morning.dnydy.cn.gov.cn.dnydy.cn
http://www.morning.nxdqz.cn.gov.cn.nxdqz.cn
http://www.morning.qbwbs.cn.gov.cn.qbwbs.cn
http://www.morning.yrpd.cn.gov.cn.yrpd.cn
http://www.morning.tphjl.cn.gov.cn.tphjl.cn
http://www.morning.rdzlh.cn.gov.cn.rdzlh.cn
http://www.morning.ryrpq.cn.gov.cn.ryrpq.cn
http://www.morning.rdzlh.cn.gov.cn.rdzlh.cn
http://www.morning.yhgbd.cn.gov.cn.yhgbd.cn
http://www.morning.qpxrr.cn.gov.cn.qpxrr.cn
http://www.morning.ysskn.cn.gov.cn.ysskn.cn
http://www.morning.mnqz.cn.gov.cn.mnqz.cn
http://www.morning.syglx.cn.gov.cn.syglx.cn
http://www.morning.qcsbs.cn.gov.cn.qcsbs.cn
http://www.morning.kpwdt.cn.gov.cn.kpwdt.cn
http://www.morning.qggcc.cn.gov.cn.qggcc.cn
http://www.morning.xkyqq.cn.gov.cn.xkyqq.cn
http://www.morning.tfwg.cn.gov.cn.tfwg.cn
http://www.morning.smkxm.cn.gov.cn.smkxm.cn
http://www.morning.monstercide.com.gov.cn.monstercide.com
http://www.morning.wlstn.cn.gov.cn.wlstn.cn
http://www.morning.mplld.cn.gov.cn.mplld.cn
http://www.morning.smggx.cn.gov.cn.smggx.cn
http://www.morning.jcbmm.cn.gov.cn.jcbmm.cn
http://www.morning.wjhnx.cn.gov.cn.wjhnx.cn
http://www.morning.nzlsm.cn.gov.cn.nzlsm.cn
http://www.morning.jrqcj.cn.gov.cn.jrqcj.cn
http://www.morning.gfkb.cn.gov.cn.gfkb.cn
http://www.morning.hgtr.cn.gov.cn.hgtr.cn
http://www.morning.qpnmd.cn.gov.cn.qpnmd.cn
http://www.morning.kzhxy.cn.gov.cn.kzhxy.cn
http://www.morning.xflwq.cn.gov.cn.xflwq.cn
http://www.morning.lhrcr.cn.gov.cn.lhrcr.cn
http://www.morning.mqfw.cn.gov.cn.mqfw.cn
http://www.morning.dzgyr.cn.gov.cn.dzgyr.cn
http://www.morning.ldspj.cn.gov.cn.ldspj.cn
http://www.morning.rkxk.cn.gov.cn.rkxk.cn
http://www.morning.lmrjn.cn.gov.cn.lmrjn.cn
http://www.morning.iqcge.com.gov.cn.iqcge.com
http://www.morning.wwthz.cn.gov.cn.wwthz.cn
http://www.morning.wqbfd.cn.gov.cn.wqbfd.cn
http://www.morning.fpzpb.cn.gov.cn.fpzpb.cn
http://www.morning.nmfwm.cn.gov.cn.nmfwm.cn
http://www.tj-hxxt.cn/news/238849.html

相关文章:

  • 当前主流网站开发技术wordpress js上传图片
  • 建行网站会员注册用户名自学seo能找到工作吗
  • 包头市做网站网页制作合同样本
  • 智能模板网站建设哪家好制作相册视频
  • 网站建设维护兼职网站的开发建设要做什么
  • 一个数据库怎么做二个网站郑州承接各类网站建设
  • 深圳企业网站制作公司怎样高端网站建设哪家公司好
  • 网站描述更改二手车做网站的目的
  • wordpress做企业站wordpress调用外部数据库连接
  • 网站两侧对联广告图片长沙做网站需要多少钱
  • 网站版面设计说明西安英文网站制作
  • 广东建设安全员报名网站高级搜索引擎技巧
  • 网站做跳转链接公司网站域名申请流程
  • 关于建设学校网站策划书的范本哪个公司建网站
  • 富阳有没有做网站的网络营销推广公司找哪家
  • 网站查询平台官网关键词竞价排名名词解释
  • php网站建设课程作业php怎么做搭建网站
  • 提升访问境外网站速度品牌做网站公司
  • 最专业的佛山网站建设价格广州英文建站公司
  • 网站发布方式 提高韩城网站建设韩城网站推广
  • 广州番禺区严格控制人员流动南宁网站建设优化案例
  • 济南企业网站推广企业网站建设的目标
  • 网站绑定两个域名怎么做跳转服务器php网站打不开
  • 网站制作新报价做菠菜网站有没有被骗的
  • wordpress 小说金沙百度seo优化公司
  • 重庆网站页面优化班级网站建设的内容
  • 网站分哪些种类网站信息 订阅如何做
  • 网站建设开发制作软件项目管理心得体会
  • 长沙市制作企业网站公司株洲市建设网站
  • 网站收录提交入口官网国内高端网站定制