archlinux下, 怎么能检查一个软件是否有新版本要升级?

多谢您对http://zhidao.baidu.com/question/542392742?quesup2&oldq=1这个问题的回复。

顺着这个问题, 我想再问下, archlinux下, 怎么看某个软件有新版本可以升级?

多谢!

pacman -Su 就会显示你所有可用的更新,如果想知道某个特定软件有新更新,
输入以下命令:
pacman -Su | grep package_name
比如,我想知道firefox有无更新
pacman -Su | grep firefox来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-10-10
Arch有一个易用的二进制包管理系统----Pacman),它可以让你仅凭一条命令就升级整个系统。Pacman用C语言编写,具有轻量、简便和快速的特点。Arch还提供一个类似ports的包构建系统(Arch Build System),通过它可以轻松从源码构建和安装软件包,并用一个命令完成同步。你甚至可以用一个命令重新构建整个系统。
Arch的官方源提供了数千种高质量的i686/x86-64二进制包来满足你的软件需求。另外,为鼓励社区开发和贡献代码,Arch还提供Arch User Repository,它包含了数千个由用户维护的PKGBUILD脚本,配合makepkg工具,从编译到打包一气呵成。用户还能轻松构建和维护属于自己的自定义软件源。

一 升级软件包

一个 pacman 命令就可以升级整个系统。花费的时间取决于系统有多老。这个命令会同步非本地(local)软件仓库并升级系统的软件包:
# pacman -Syu
警告: 由于 Arch 的滚动升级特性,升级系统有着不可预见的结果。因此,除非有着空闲时间并准备好处理突发问题,请谨慎升级。

二 pacman 包管理器是 Arch Linux 的一大亮点。它将一个简单的二进制包格式和易用的构建系统结合了起来(参见makepkg和ABS)。不管软件包是来自官方的 Arch 库还是用户自己创建,pacman 都能方便得管理。
pacman 通过和主服务器同步软件包列表来进行系统更新,这使得注重安全的系统管理员的维护工作成为轻而易举的事情。这种服务器/客户端模式可以使用一条命令就下载/安装软件包,同时安装必需的依赖包。
pacman 用 C 语言编写,使用 .pkg.tar.xz 打包格式。

三 配置

pacman 的配置文件位于/etc/pacman.conf。 man pacman.conf 可以查看配置文件的进一步信息。
通用选项
通用选项都在[options]段。阅读 man 手册或者查看默认的 pacman.conf 可以获得有关信息和用法。
1 不升级软件包
如果由于某种原因,用户不希望升级某个软件包,可以加入内容如下:
IgnorePkg = 软件包名
多软件包可以用空格隔开,也可是用 glob 模式。如果只打算忽略一次升级,可以使用 --ignore 选项。
忽略了的软件包可通过 pacman -S 升级。
2 不升级软件包组
和软件包一样,也可以不升级某个软件包组:
IgnoreGroup = gnome
3 跳过
要跳过某些文件夹的安装,可以将它们放到 NoExtract 中,例如不想安装 systemd unit 文件:
NoExtract=usr/lib/systemd/system/*
4 软件仓库
这部分定义使用的软件仓库,在 /etc/pacman.conf 中引用,可以直接设置或者从其它文件包含。
所有官方软件仓库都使用同一个包含了'$repo' 的 /etc/pacman.d/mirrorlist文件,因此只需要维护一个列表。 下面例子中使用官方软件仓库,用 mirrorlist 设定镜像的一个范例。
#[testing]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist

[core]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[extra]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

#[community-testing]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist

[community]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

# 如果打算在 x86_64 系统上运行32位软件,启用 multilib 软件仓库。

#[multilib-testing]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist

#[multilib]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist

# 自定义软件仓库实例,如何创建软件仓库参见 pacman man手册页。
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
警告: 使用 [testing] 仓库的时候要谨慎,这个仓库里面开发比较活跃,可能导致某些软件包不能工作。推荐使用 [testing] 的用户订阅 arch-dev-public 邮件列表以获得最新信息。
软件包的安全性
pacman 4 支持软件包签名。语句 SigLevel = Required DatabaseOptional 将启用全局签名验证,但会被每个软件仓库的 SigLevel 行所覆盖。详情参见 pacman-key.
用法

pacman 的其他示例请阅读man pacman。下面只是一个可执行操作的小部分示范。

安装软件包
安装指定的包
安装或者升级单个软件包,或者一列软件包(包含依赖包),使用如下命令:
# pacman -S package_name1 package_name2 ...
用正则表达式安装多个软件包(参见 pacman 小贴士和这个帖子):
# pacman -S $(pacman -Ssq package_regex)
有时候在不同的软件仓库中,一个软件包有多个版本(比如[extra]和[testing])。可以选择一个来安装:
# pacman -S extra/package_name
安装包组
一些包属于一个可以同时安装的包组。例如,运行下面的命令
# pacman -S gnome
会提醒用户选择 gnome 内需要安装的包。
有的包组包含大量的软件包,有时用户只需其中几个。除了逐一键入序号外,pacman 还支持选择或排除某个区间内的的软件包:
Enter a selection (default=all): 1-10 15
这将选中序号 1 至 10 和 15 的软件包。而
Enter a selection (default=all): ^5-8 ^2
将会选中除了序号 5 至 8 和 2 之外的所有软件包。
想要查看哪些包属于 gnome 组,运行:
# pacman -Sg gnome
也可以访问 https://www.archlinux.org/groups/ 查看可用的包组。
注意: 如果列表中的包已经安装在系统中,它会被重新安装,即使它已经是最新的。可以用 --needed 选项覆盖这种行为。
Warning: 未更新系统前,不要在安装软件包时更新软件包数据库(pacman -Sy package_name),否则会有依赖问题。参见#不支持部分升级和 https://bbs.archlinux.org/viewtopic.php?id=89328.
删除软件包
删除单个软件包,保留其全部已经安装的依赖关系
pacman -R package_name
删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:
pacman -Rs package_name
要删除软件包和所有依赖这个软件包的程序:
# pacman -Rsc package_name
警告: 此操作是递归的,请小心检查,可能会一次删除大量的软件包。
要删除软件包,但是不删除依赖这个软件包的其他程序:
# pacman -Rdd package_name
pacman 删除某些程序时会备份重要配置文件,在其后面加上*.pacsave扩展名。-n 选项可以删除这些文件:
pacman -Rn package_name
pacman -Rsn package_name
注意: pacman 不会删除软件自己创建的文件(例如主目录中的 .dot 文件不会被删除。

清理软件包缓存
pacman 将下载的软件包保存在 /var/cache/pacman/pkg/ 并且不会自动移除旧的和未安装版本的软件包,因此需要手动清理,以免该文件夹过于庞大。
使用内建选项即可清除未安装软件包的缓存:
# pacman -Sc
警告:
仅在确定当前安装的软件包足够稳定且不需要降级时才执行清理。旧版本的软件包能系统更新崩溃时派上用场。如果旧版本的软件包被清理掉了,那只能从其他地方获取了,如 Arch Rollback Machine。
pacman -Scc 可以清理所有缓存,但这样 pacman 在重装软件包时就只能重新下载了。除非空间不足,否则不应这么做。
由于以上种种局限,建议使用专门的脚本去处理清理哪些、清理多少缓存:
pacman 提供的 paccache 命令默认会删除近3个版本前的软件包:
$ paccache -r
但是 paccache 不会检查某一个包是否安装了,因此会遗留未安装的包。运行一次,再运行
$ paccache -ruk0
可解决此问题。更多功能参见paccache -h。
除了 paccache,还可以使用 Arch User Repository 中的 pkgcachecleanAUR:
# pkgcacheclean
其它命令
升级系统时安装其他软件包:
# pacman -Syu package_name1 package_name2 ...
下载包而不安装它:
# pacman -Sw package_name
安装一个本地包(不从源里下载):
# pacman -U /path/to/package/package_name-version.pkg.tar.xz
小贴士: 要将本地包保存至缓存,可执行:
# pacman -U file://path/to/package/package_name-version.pkg.tar.xz
安装一个远程包(不在 pacman 配置的源里面):
# pacman -U http://www.example.com/repo/example.pkg.tar.xz
不支持部分升级
Arch Linux 是滚动发行版,新库 版本将不断被推送到源。开发者和信任用户会按照需要重新构建源中的所有软件包。如果有本地安装的版本(例如 AUR 软件包),需要在它们的依赖关系升级了soname时重新编译。
也就是说,部分升级是不被支持的。不要使用 pacman -Sy package 或等价命令如 pacman -Sy 之后再 pacman -S package。在安装软件包前请更新源并升级。同理请特别注意 IgnorePkg/IgnoreGroup 的使用。
如果进行了部分升级,二进制包因为找不到链接库而损坏,不要通过简单的符号链接进行修正。库升级 soname 是因为它们不再向前兼容。只要 pacman 可以运行,使用更新的源进行 pacman -Syu 就能修复这些问题。
一般注意事项
警告: 小心使用 --force 开关。使用不当会造成大问题。 请只在 Arch 新闻里要求这么做的时候才用。
pacman 附带了许多实用工具能让系统使用更加便捷。所有工具功能都能通过 --help 开关查看。运行:
$ pacman -Ql pacman | awk -F"[/ ]" '/\/usr\/bin/ {print $5}'

参见:https://wiki.archlinux.org/index.php/Pacman_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

archlinux下, 怎么能检查一个软件是否有新版本要升级?
pacman -Su 就会显示你所有可用的更新,如果想知道某个特定软件有新更新,输入以下命令:pacman -Su | grep package_name 比如,我想知道firefox有无更新 pacman -Su | grep firefox

怎么在软件Termux中安装archLinux?
方法如下:一、如图所示,安装终端。接着在窗口中输入命令【pkg install git】:二、将“y”填入到相应的位置上:三、如图所示,继续在窗口中输入命令:四、结束上述步骤后,即可将系统安装到手机中了:五、但如果我门退出终端软件,安装软件后的系统也会随之退出。要切回去,就需要输入图一的命令。跟...

linux 安装后没有图形界面怎么回事?
1、第一步,安装X(X Window System),命令是‘yum groupinstall "X Window System"’,然后按“Enter”键,如下图所示。2、第二步,检查已安装的软件以及安装后可以安装的软件。 使用命令“yum grouplist”,然后按“Enter”键,如下图所示。3、第三步,安装所需的图形界面软件GNOME(GNOME Deskto...

来求教一个pacman更新的问题,求高手指导
忽略了的软件包可通过 pacman -S 升级。2 不升级软件包组和软件包一样,也可以不升级某个软件包组:IgnoreGroup = gnome3 跳过要跳过某些文件夹的安装,可以将它们放到 NoExtract 中,例如不想安装 systemd unit 文件:NoExtract=usr\/lib\/systemd\/system\/*4 软件仓库这部分定义使用的软件仓库,在 \/etc\/pacman.conf...

哪里有linux下的gba模拟器?
visualboyadvance 这个模拟器似乎有linux版本,至少我的archlinux的社区软件包里有,你查一下。如果没有,到这里下载tar.gz的包来编译安装吧。http:\/\/linux.softpedia.com\/get\/System\/Emulators\/Visualboy-Advance-3469.shtml 装好以后,终端里输入VisualBoyAdvance --help看一下用法吧,网上有配置教程。

Linux为什么始终无法取代Windows?
1.有些专业软件没有Linux版本; Windows 1983年, 微软正式宣布开始设计Windows, 定位是: 一个为个人电脑用户设计的图形界面操作系统. Windows 1.0 发布时间:1985年11月20日 重大升级:无 关键词: MS-DOS图形界面化,多任务执行 历史 地位:命名“Windows”,奠定Windows的方向 Windows2.0 发布时间:1987年11月1日 重...

步步高家教机上怎么下载王者荣耀?
详情请查看视频回答

三星A8000升级到6.0.1系统怎么root?
按照条例不属于包修范围。三星为了提升顾客满意度,对Root顾客提供免费升级固件服务,如果Root已影响到手机硬件需要更换主板,则需要收取主板费用。若您的机器Root后需将机器恢复到原来的系统版本,请将机器送到三星服务中心,由售后工程师帮助检查处理。自行将设备恢复出厂设置是无法取消Root权限的。

oppo手机上方一直有“发现您的手机被ROOT”怎么去除root警告?
若手机提示安全警告, 可通过以下方法进行关闭;1、进入手机设置--安全服务--个人信息安全,关闭即可;2、ColorOS 2.0版本在手机桌面,打开安全中心--权限管理--关闭权限监控开关。

OPPO手机上面显示手机被root了怎么回事?
其具有系统中所有的权限,如启动或停止一个进程,删除或增加用户,增加或者禁用硬件等等。而被ROOT了是指的手机获取了更高级别的权限,如果不想ROOT可以通过恢复出厂设置来还原系统,但是恢复出厂设置会将手机内数据全部清空,如需恢复出厂设置需提前备份手机数据。

相似回答