这是 Archlinux 升级时经常碰到的老问题。提示如下

问题来了

# yaourt -Syua
==> 警告:使用 root 用户构建软件包存在风险。
请使用非特权用户运行 yaourt 。
:: 正在同步软件包数据库... ... error: failed to prepare transaction (could not satisfy dependencies)
:: 正在进行全面系统更新...
正在解决依赖关系...
正在查找相互冲突...
错误:无法准备事务处理 (无法满足依赖关系)
:: package-query: 要求 pacman<4.2

package-query 是 yaourt 所需要的包。要完成对 pacman 的升级,先要临时卸载 yaourt 和 package-query ,再升级

# pacman -R package-query yaourt
# pacman -Syu

重新安装 yaourt 和 package-query :

# pacman -S yaourt package-query
错误:初始化 alpm 库失败
(数据库版本不对: /var/lib/pacman/)
错误: 请尝试运行 pacman-db-upgrade # pacman-db-upgrade
==> 探测到 4.2 版本以前的数据库格式 - 正在升级中...

看来这次 pacman 升级的内容不少,数据库也升级了。

# pacman -S yaourt package-query
正在解决依赖关系...
警告:无法解决 "pacman<4.2","package-query" 的一个依赖关系
警告:无法解决 "package-query>=1.4","yaourt" 的一个依赖关系
警告:无法解决 "pacman<4.2","package-query" 的一个依赖关系
:: 因为无法解决依赖关系,以下软件包无法进行更新:
yaourt package-query :: 您想在本次更新中跳过上述软件包吗? [y/N] N
错误:无法准备事务处理 (无法满足依赖关系)
:: package-query: 要求 pacman<4.2
:: yaourt: 要求 package-query>=1.4
:: package-query: 要求 pacman<4.2 # pm -S package-query
正在解决依赖关系...
警告:无法解决 "pacman<4.2","package-query" 的一个依赖关系
:: 因为无法解决依赖关系,以下软件包无法进行更新:
package-query :: 您想在本次更新中跳过上述软件包吗? [y/N] ^C

这就是说,惨了。Archlinux 镜像服务器中的 package-query 版本还没有更新。有几个选择:

  1. 等待更新,暂时不使用 yaourt 。

  2. 寻找有最新版本的服务器。

  3. 从 yaourt 服务器, __手工 __ 安装。必须是手工。因为没有 package-query ,就没有 yaourt,也就无法自动安装。

下面是关于第3个选择的,即手工安装 package-query。

先建立新用户 -- pi

因为一直使用 root 用户,而 root 不能使用 makepg 命令手工安装 package-query。

# useradd -m -g users -s /bin/bash pi

设定 pi 的密码

# passwd pi

将 pi 加入可以执行 sudo

# visudo

root ALL=(ALL) ALL 后面加入

pi ALL=(ALL) ALL

切换成为 pi

# su pi

手工安装 package-query

cd /tmp
curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
tar zxvf package-query.tar.gz
cd package-query
makepkg -si
cd ..

安装 yaourt

# pacman -S yaourt
# cd /etc
# ls yaourt*
yaourtrc yaourtrc.pacsave.1 yaourtrc.pacnew yaourtrc.pacsave
# cp yaourtrc.pacsave yaourtrc
# yaourt -Syua

参考

Archlinux 升级 pacman 时遇到的问题及其解决的更多相关文章

  1. ArchLinux升级后deadbeef无法正常启动的解决办法

    deadbeef是一款简约而不简单的音乐播放器, 占资源少, 支持的格式却不少. 昨天对ArchLinux进行了一次全面升级, 经历种种惊险, 终于跨越了从 glibc-2.16 到 glibc-2. ...

  2. AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式

    AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布 ...

  3. AppBox升级进行时 - 扁平化的权限设计

    AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. AppBox v2.0中的权限实现 AppBox v2.0中权限管理中涉及三个 ...

  4. Win7升级Win10系统提示错误0x80070057的解决方法

    Win7系统用户在通过Windows Update来升级Win10系统时,有时会出现0x80070057的错误代码从而导致无法继续升级.下面好系统重装助手就来告诉大家Win7升级Win10系统出现0x ...

  5. 每次Xcode 升级之后 插件失效,两步解决

    以下内容来源:http://www.cocoachina.com/bbs/read.php?tid=296269 每次Xcode 升级之后 插件失效,两步解决 1.打开终端,输入以下代码获取到DVTP ...

  6. 爬虫爬数据时,post数据乱码解决办法

    最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密.用谷歌自带的抓包工具也不能捕获到数据.于是下了Fiddler.     F ...

  7. paip.navicat form mysql导入文本文件时CPU占用100%的解决

    paip.navicat form  mysql导入文本文件时CPU占用100%的解决 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:h ...

  8. MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决 转

    MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决   在多线程设计中,许多人为了省事,会将对话框类或其它类的指针传给工作线程,而在工作线程中调用该类的成员函数或成员变量等等. ...

  9. Bootstrap中关闭第二个模态框时出现的问题和解决办法

    Bootstrap中关闭第二个模态框时出现的问题和解决办法 1.关闭第二个模态框时,第一个模态框跟着消失. 解决办法: 第二个模态框的代码不要写在第一个模态框里面,确保两个模态框相对独立; 2.关闭第 ...

随机推荐

  1. PHP那些最好的轮子

    PHP那些最好的轮子 Databse 数据库ORM Doctrine 2 License : MIT Source Code Allo点评:Doctrine是功能最全最完善的PHP ORM,社区一直很 ...

  2. Clojure发音

    Clojure的发音和单词closure是一样的.Clojure之父是这样解释Clojure名字来历的 “我想把这就几个元素包含在里面: C (C#), L (Lisp) and J (Java). ...

  3. github使用及代码同步

    github是近两年比较火的分布式版本控制工具,很多nb的开源项目代码都托管在github上,比如Facebook.JQuery.Node.js等等,这里简单介绍一下github使用方法以及和本地工程 ...

  4. Android笔记:Fragment与ViewPager组合时,如何在FragmentActicity获取Fragment对象

    项目中有一处需要监听宿主的控件,再去更新Fragment页面,由此必须去获取Fragment里的对象; 在FragmentActivity + Fragment组合里是可以使用以下方案: MedicF ...

  5. 爱你不容易 —— Stream详解

    作为前端,我们常常会和 Stream 有着频繁的接触.比如使用 gulp 对项目进行构建的时候,我们会使用 gulp.src 接口将匹配到的文件转为 stream(流)的形式,再通过 .pipe() ...

  6. DTLS-PSK算法抓包解析

    一.DTLS -PSK PSK 是DTLS 定义的密钥交换方案之一,相对于公钥证书方案(如 ECDHA_RSA) 来说,其具备更加轻量化.高效的优点: 而目前 PSK方案应用也比较广泛. 关于DTLS ...

  7. 【4Large-Style】前端框架设计——Button 的设计思路

    Button 的设计 Button 作为基本的 Web 元素,看似简单,却需要非常用心的设计,因为 Button 作为按钮,是具有多个不同的状态,每种状态都基本上需要进行一些特殊的优化设计,以让组件更 ...

  8. Linux(Ubuntu)下载安装破解Matlab2016

    跳过废话, 直接看教程 前言 笔者平常不是很喜欢用Matlab, 因为所需要的功能都能被Python替代, 而Matlab的肥和慢实在令人难以忍受. 在Linux系统下安装Matlab也比Window ...

  9. 基于服务的SOA架构_后续篇

    今天是元宵节,首先祝各位广大博友在接下来的光阴中技术更上一层,事事如意! 昨天简单介绍了一下本人在近期开发过的一个电商购物平台的架构流程和一些技术说明:今天将详细总结一下在项目中用到的各个架构技术的环 ...

  10. c#入门系列——基础篇

    c#与VB的区别 刚接触c#发现c#与vb还是有所不同的--它可以在控制台显示.它比vb多出来了一些东西.代码规范上跟VB也稍有不同.....暂时就发现这么多,正在努力发现中. c#的代码结构     ...