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

问题来了

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

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

  1. # pacman -R package-query yaourt
  2. # pacman -Syu

重新安装 yaourt 和 package-query :

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

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

  1. # pacman -S yaourt package-query
  2. 正在解决依赖关系...
  3. 警告:无法解决 "pacman<4.2""package-query" 的一个依赖关系
  4. 警告:无法解决 "package-query>=1.4""yaourt" 的一个依赖关系
  5. 警告:无法解决 "pacman<4.2""package-query" 的一个依赖关系
  6. :: 因为无法解决依赖关系,以下软件包无法进行更新:
  7. yaourt package-query
  8. :: 您想在本次更新中跳过上述软件包吗? [y/N] N
  9. 错误:无法准备事务处理 (无法满足依赖关系)
  10. :: package-query: 要求 pacman<4.2
  11. :: yaourt: 要求 package-query>=1.4
  12. :: package-query: 要求 pacman<4.2
  13. # pm -S package-query
  14. 正在解决依赖关系...
  15. 警告:无法解决 "pacman<4.2""package-query" 的一个依赖关系
  16. :: 因为无法解决依赖关系,以下软件包无法进行更新:
  17. package-query
  18. :: 您想在本次更新中跳过上述软件包吗? [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

  1. cd /tmp
  2. curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
  3. tar zxvf package-query.tar.gz
  4. cd package-query
  5. makepkg -si
  6. cd ..

安装 yaourt

  1. # pacman -S yaourt
  2. # cd /etc
  3. # ls yaourt*
  4. yaourtrc yaourtrc.pacsave.1 yaourtrc.pacnew yaourtrc.pacsave
  5. # cp yaourtrc.pacsave yaourtrc
  6. # 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. 迈向新纪元编辑器Atom

    第一次听说Atom是半年前天猫的学姐说她在用这款这款编辑器,期间我从dw到st再到webstorm都分别做了项目~,但是作为一名拥抱开源的FE,怎么能拒绝github社区维护的项目呢?接着就让我们感受 ...

  2. CodeForces 456A

    Laptops Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  3. WebForm 全局对象、commend

    Repeater的增删改 内置对象:页面之间的数据交互为什么要用这些玩意? HTTP的无状态性 Response:响应请求 Request:获取请求 Cookies:保存登录状态----------- ...

  4. 简单的Elf逆向Writeup

    ElfCrackMe1 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acrony ...

  5. Github+Hexo搭建静态博客

    开始 在安装hexo之前,必须确认你已经安装了Node.js和Git,并且注册了一个Github账号. 1.创建Github仓库 1) 仓库名为xxx.github.io 创建一个以"用户名 ...

  6. 将图片保存成png 或者jpg格式

    -(void)saveImage:(UIImage*)image{    NSString  *pngPath = [NSHomeDirectory() stringByAppendingPathCo ...

  7. TCP协议详解

    TCP协议详解 一.TCP协议 1.TCP 通过以下方式提供可靠性: ·  ◆ 应用程序分割为TCP认为最合适发送的数据块.由TCP传递给IP的信息单位叫做报文段. ·  ◆ 当TCP发出一个报文段后 ...

  8. VSCode从非根目录编译golang程序

    1.问题提出 "习惯在项目目录里建src放源码文件,根目录里放配置文件或者别的什么,在交付时直接忽视掉src目录就行了,但vscode好像不能这样愉快的玩耍..."??? 要实现把 ...

  9. 理解javascript中参数的按值传递

    有人认为 JS 中参数传递:基本数据类型按值传递:引用类型按引用传递.呵呵 javascript中所有参数是按值传递的 但是当传入的参数是引用类型时,便带来了疑惑 引用类型值保存在内存中,而JS是不能 ...

  10. 智能打印SDK---官方博客

    (开源准备:开源为百度云打包开源,GIT太慢,SVN没有免费的,TFS有免费的也慢的要命) 开源地址:http://pan.baidu.com/s/1miobLoO 电子商务越来越成熟,提供的服务越来 ...