我想固定使用安装的特定软件包版本pipx
并阻止其升级。
例如我已经安装了包:
$ pipx install somepackage==2.0.0
升级后它将更新到最新版本:
$ pipx upgrade-all
是否可以仅升级未指定版本安装的软件包?
我想固定使用安装的特定软件包版本pipx
并阻止其升级。
例如我已经安装了包:
$ pipx install somepackage==2.0.0
升级后它将更新到最新版本:
$ pipx upgrade-all
是否可以仅升级未指定版本安装的软件包?
我正在运行Amazon Linux release 2023.4.20240513 (Amazon Linux)
,我需要删除旧的内核,
我在/boot目录下有这些内核:
vmlinuz-6.1.72-96.166.amzn2023.x86_64
vmlinuz-6.1.75-99.163.amzn2023.x86_64
vmlinuz-6.1.90-99.173.amzn2023.x86_64
在CentOS 7上,我可以使用
package-cleanup --oldkernels --count=1 -y
然而这在AMI Linux上不起作用,
dnf remove: error: unrecognized arguments: --oldkernels --count=1
有什么建议吗?
test
我有两台名为和 的服务器prod
,它们安装了完全相同的软件包。
第一天我dnf upgrade
服务器test
然后测试安装通风口是否良好。
如果测试结果良好,我会在prod
第二天进行升级,但现在新的软件包已经到达,如果我安装它,两个系统将不相等,并且prod
将有一个我尚未测试的软件包。
我应该复制这些文件*.rpm
,test
然后将它们复制到prod
并执行操作rpm -U *.rpm
,还是有预定义的方法来执行此操作?
我刚刚安装tree
通过
sudo apt-get install tree
我的终端突然决定更新grub
。上周我安装了tree
,也发生了类似的事情。然而,当我那天晚上晚些时候重新启动电脑时,它启动到一个显示窗口
Grub _
并没有改变。
最终我重新安装了我的操作系统(我使用的是 WattOS,上周二刚刚将其安装在一台新电脑上,所以这并不是世界末日 - 只需 5 个小时即可重新设置所有内容)。
Grub 安装时出现了一些错误,我依稀记得上次看到过这些错误(包含在我的帖子的底部,以便于阅读)。
我用谷歌搜索了一下:
但我没有任何运气。我怀疑我可能遗漏了一些东西。
谁能解释一下:
我不想重新安装所有东西(出于显而易见的原因!)
谢谢。
安装时遇到的错误tree
:
sudo apt-get install tree
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
gimp-data libamd2 libbabl-0.1-0 libcamd2 libccolamd2 libcholmod3 libgegl-0.4-0 libgegl-common libgexiv2-2 libgimp2.0 libhpmud0 libimagequant0
libmetis5 libqt5designer5 libqt5help5 libqt5sql5 libqt5sql5-sqlite libqt5test5 libsane-hpaio libumfpack5 printer-driver-hpcups
printer-driver-postscript-hp python3-dbus.mainloop.pyqt5 python3-notify2 python3- olefile python3-pexpect python3-pil python3-ptyprocess
python3-pyqt5 python3-pyqt5.sip python3-renderpm python3-reportlab python3-reportlab- accel vlc-plugin-samba xsane xsane-common
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
tree
0 upgraded, 1 newly installed, 0 to remove and 174 not upgraded.
1 not fully installed or removed.
Need to get 49.6 kB of archives.
After this operation, 118 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main amd64 tree amd64 1.8.0-1+b1 [49.6 kB]
Fetched 49.6 kB in 0s (110 kB/s)
Selecting previously unselected package tree.
(Reading database ... 123032 files and directories currently installed.)
Preparing to unpack .../tree_1.8.0-1+b1_amd64.deb ...
Unpacking tree (1.8.0-1+b1) ...
Setting up grub-pc (2.06-3~deb11u6) ...
Installing for i386-pc platform.
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.
Generating grub configuration file ...
Found background: /usr/share/wattOS/splash.png
Found background image: /usr/share/wattOS/splash.png
Found linux image: /boot/vmlinuz-5.10.0-19-amd64
Found initrd image: /boot/initrd.img-5.10.0-19-amd64
Warning: os-prober will be executed to detect other bootable partitions. Its output will be used to detect bootable binaries on them and create new boot entries. Found Debian GNU/Linux 11 (bullseye) on /dev/mmcblk0p2 done Setting up tree (1.8.0-1+b1) ...
Processing triggers for man-db (2.9.4-2) ...
更新
我不小心重启了,我的电脑又死机了。然后我重新安装了 WattOS 作为我硬盘上唯一的操作系统,一切正常。我刚看到@eyoung100的回答,我就跑了
sudo apt upgrade
运行没有错误。
然后我跑了
sudo apt autoremove
进行到一半时,我看到了与上次相同的屏幕:
The grub-pc package is being upgraded. This menu allows you to select which devices you'd like grub-install to be automatically run for, if any.
Running grub-install automatically is recommended in most situations, to prevent the installed GRUB core image from getting out of sync with
GRUB modules or grub.cfg.
If you're unsure which drive is designated as boot drive by your BIOS, it is often a good idea to install GRUB to all of them.
Note: it is possible to install GRUB to partition boot records as well, and some appropriate partitions are offered here. However, this forces GRUB to use the blocklist mechanism, which makes it less reliable, and therefore is not recommended.
我没有选择“确定”,因为上次给了我错误。
当我然后在另一个终端尝试时
sudo apt upgrade
它的回应是
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 39623 (apt)
这并不奇怪。
我尝试使用 ctrl-c 和 ctrl-x 关闭该 shell,但都没有帮助。我可以关上窗户,但我很担心。
要求提供更多信息
sudo dmidecode -s bios-version
是
8GET38WW (1.15 )
sudo dmidecode -t 0 | grep UEFI
没什么。(我想这意味着它不受支持)。
cpuid | less
是
bash: cpuid: command not found
我只能说这是一台联想Thinkpad L520,是翻新的,而且我没有更换CPU。(不知道前任主人怎么样)。
sudo parted --list
是
Model: ATA ADATA SU630 (scsi)
Disk /dev/sda: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 231GB 231GB primary ext4 boot
2 231GB 240GB 9449MB primary linux-swap(v1)
我看不到任何关于fstype
或 的信息gpt
。
正如我所说,我尝试将其安装到已擦除的磁盘上。
感谢您的时间!
我正在使用安装了 AlmaLinux v9.3.0 和 cPanel 120.0.1 的托管虚拟服务器。
它还安装了 EasyApache。
我正在尝试从 EPEL Repo 安装名为“mapserver”的软件包
运行命令
dnf install -y mapserver
我收到以下错误:-
Last metadata expiration check: 0:04:58 ago on Thu 11 Apr 2024 05:04:00 PM BST.
Error:
Problem: problem with installed package ea-apache24-2.4.59-1.1.1.cpanel.x86_64
- package ea-apache24-2.4.59-1.1.1.cpanel.x86_64 from @System conflicts with httpd-mmn provided by httpd-core-2.4.57-5.el9.x86_64 from appstream
- package ea-apache24-2.4.58-1.1.5.cpanel.x86_64 from EA4-c9 conflicts with httpd-mmn provided by httpd-core-2.4.57-5.el9.x86_64 from appstream
- package ea-apache24-2.4.58-1.1.6.cpanel.x86_64 from EA4-c9 conflicts with httpd-mmn provided by httpd-core-2.4.57-5.el9.x86_64 from appstream
- package ea-apache24-2.4.58-3.3.5.cpanel.x86_64 from EA4-c9 conflicts with httpd-mmn provided by httpd-core-2.4.57-5.el9.x86_64 from appstream
- package ea-apache24-2.4.58-3.3.6.cpanel.x86_64 from EA4-c9 conflicts with httpd-mmn provided by httpd-core-2.4.57-5.el9.x86_64 from appstream
- package ea-apache24-2.4.59-1.1.1.cpanel.x86_64 from EA4-c9 conflicts with httpd-mmn provided by httpd-core-2.4.57-5.el9.x86_64 from appstream
- package httpd-2.4.57-5.el9.x86_64 from appstream requires httpd-core = 2.4.57-5.el9, but none of the providers can be installed
- package mapserver-8.0.0-3.el9.x86_64 from epel requires httpd, but none of the providers can be installed
- conflicting requests
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
系统已配置为启用以下存储库:-
dnf repolist enabled
repo id repo name
EA4-c9 EA4 ( EasyApache 4 - c9 )
appstream AlmaLinux 9 - AppStream
baseos AlmaLinux 9 - BaseOS
cpanel-addons-production-feed cPanel Addons Production Feed
cpanel-plugins cPanel Plugins project
crb AlmaLinux 9 - CRB
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras AlmaLinux 9 - Extras
fortimonitor.repo FortiMonitor Repository
imunify360 EL-9 - Imunify360
imunify360-rollout-1 Imunify360 - Gradual Rollout Slot 1
imunify360-rollout-2 Imunify360 - Gradual Rollout Slot 2
imunify360-rollout-3 Imunify360 - Gradual Rollout Slot 3
imunify360-rollout-4 Imunify360 - Gradual Rollout Slot 4
imunify360-rollout-5 Imunify360 - Gradual Rollout Slot 5
imunify360-rollout-6 Imunify360 - Gradual Rollout Slot
imunify360-rollout-7 Imunify360 - Gradual Rollout Slot 7
imunify360-rollout-8 Imunify360 - Gradual Rollout Slot 8
kernelcare kernelcare
mysql-connectors-community MySQL Connectors Community
mysql-tools-community MySQL Tools Community
mysql80-community MySQL 8.0 Community Server
wp-toolkit-cpanel WP Toolkit for cPanel
wp-toolkit-thirdparties WP Toolkit third parties
地图服务器包有以下要求:-
dnf repoquery --requires mapserver
dejavu-sans-fonts
httpd
libc.so.6(GLIBC_2.34)(64bit)
libfcgi.so.0()(64bit)
libmapserver.so.2()(64bit)
rtld(GNU_HASH)
我不想删除/升级/等等 EasyApache 安装。
我试图理解“--nobest”建议选项的含义是什么?
这是否会忽略标准 Apache 和 Easy Apache 之间的冲突?
Mapserver 对“httpd”没有直接编译要求,尽管这可能来自该包可能使用的可选“FastCGI”库。
Mapserver 二进制文件是一个独立的二进制文件,可以通过非“FastCGI”使用,因此我认为不会使用任何可选的“FastCGI”功能。
有没有办法使用DNF安装而忽略“httpd”依赖?
我真的不想从源代码编译地图服务器以排除“FastCGI”支持。
我已经使用 Linux 一段时间了,但我对什么是最好的有点困惑安装软件包的方式是。由于我的发行版存储库(我使用 Pop!_OS)中的许多软件包都已过时,我是否应该从 Flatpak 获取大部分内容?也许更大的专有软件包(如 Steam)通常在发行版存储库上是最新的?Flatpak 似乎也非常依赖非官方维护者。相信更多的官方消息不是更好吗?我如何知道发行版存储库或 Flathub 中的软件包是否被开发人员或维护人员放弃并因此停止接收更新?如果我想要软件包的最新稳定版本,我是否应该将开发人员的 PPA 添加到我的存储库中?但是,为每个包提供大量 PPA 是否违背了回购系统的目的?理想情况下,我希望将所有软件包放在一个地方,并提供最新的稳定版本,并且这些软件包由官方维护者或开发人员维护(不确定这是否可能,哈哈)。如前所述,我的发行版是 Pop!_OS 提前感谢您的帮助!
这个问题以及包含解决该问题的各种方法的答案几乎每天都会在我们的交流中多次出现。如果搜索结果将您带到这里欢迎!如果我在链接到您的问题中留下的评论,您可以放心地假设您的问题可以添加到下面的列表中,因为它属于同一类别:
这些只是[gcc]
搜索词降级所标记的众多问题中的四个。那些知识渊博、能够先来交流的读者/用户几乎总是会问我怎样才能……”那些尝试过失败的不幸读者几乎总是会说“它坏了”,或者“我想我坏了一些东西”。这个问题和答案,我将尝试解释为什么混合编译器会破坏所有Linux,并且在答案中我将提供我所知道的解决问题的最简单方法,这不会导致损坏,但会花费一些开销设置的时间和空间。由于这将是社区贡献的问答,如果您喜欢我的方法,我恳请您投票。
TLDR:跳至为什么降级编译器会导致问题?
我在各种答案中使用了下面的图片两到三次,我觉得它为我们所有人提供了一个很好的起点。我意识到它很大,因此,如果您愿意,我敦促读者在单独的选项卡中打开它并进行缩放等。
在该列表中找到您的发行版,然后继续阅读。您会注意到您的发行版有一个父发行版。好吧,好吧,我知道使用父发行版(时间轴最左边的发行版)的读者会问:
我正在使用最左边的一个,那么它的父母在哪里?
现在我们进入这个问题的核心。例如,让我们填写$X
我$Y
的标题(耐心的读者,$Z
即将出现)
$X = Fedora 39
$Y = 13.2.1-6.fc39
A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and often a package management system.
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner
Knowing these two items helps us answer the Parent Distribution question, but unfortunately with another question: How Do the distribution maintainers create a distribution?
The Answer: All linux software minus the kernel is stored at and can be obtained from the GNU Software FTP Site in source code archives. All Linux Kernels are available for download in source code archives at The Linux Kernel Archives. In short, all Distributions begin from the same source code, including the parent distributions
From the definition earlier, a distribution is a group or set of related software. This relation can be seen in your distribution's repository (or whatever else your distribution has chosen to name it).
At the time a new version (in our Example $X
= Fedora 39) is made available the repository for that version is locked, specifically version locked, meaning that every package in that repository is now frozen in time. Once frozen it isn't altered. It can only live as long as the version is supported or die when the version is upgraded.
The tools required to build GCC are also in the now frozen repository. If a user attempts to upgrade or downgrade the GCC that was shipped in the frozen repository, the version locking would be broken if you were to succeed. To prevent the breakage from happening, your OS'es Package Manager prevents this.
Read my answer to find out how I overcame $Z
https://nixos.org/manual/nix/stable/introduction.html说
多用户支持
Nix 具有多用户支持。这意味着非特权用户可以安全地安装软件。每个用户都可以有不同的配置文件,即 Nix 存储中出现在用户路径中的一组包。如果用户安装了其他用户之前已经安装过的软件包,则不会再次构建或下载该软件包。同时,一个用户不可能将特洛伊木马注入到另一个用户可能使用的包中。
为什么一个用户不可能将特洛伊木马注入到可能被其他用户使用的包中?
前面的句子是说某个包可能是两个应用程序共享的依赖项吗?
我很高兴dnf5
在我的 fedora 38 上使用它。它既是一个用于依赖关系解析的新库,又是一个新的前端,取代了dnf
/ libdnf
(尽管几乎完全与 的 CLI 兼容dnf
)。
它在执行诸如在包数据库中搜索单词之类的操作时速度要快得多,因此令人耳目一新。说到清爽:
我可以配置dnf5
从不同的远程存储库(Fedora 38、Fedora 38、更新、Fedora 38 openh264、Fedora 38 非自由更新、rpm fusion 更新、rpm fusion 非自由更新……)并行下载元数据吗?
我在 Linux 主机上遇到一个问题,升级软件包 X 会导致软件包 Y 停止工作,而软件包 Y 对于该 Linux 主机的用户至关重要。
该Linux主机使用DNF|YUM作为包管理器。
我知道可以通过编辑系统的 YUM 配置文件或通过“版本锁”应用程序等来永久阻止给定软件包的软件更新;但这不是我想做的。
我希望做的是配置此 Linux 主机,以便它不会升级软件包 X 的一个特定版本,但它将安装软件包 X 的任何较新的升级版本,前提是 X 或 Y 或两者都为“已修复”在未来的版本中。
DNF|YUM 是否能够在升级系统时阻止/排除某个特定版本的软件包 X?