Archlinux 升级 pacman 时遇到的问题及其解决
这是 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 版本还没有更新。有几个选择:
等待更新,暂时不使用 yaourt 。
寻找有最新版本的服务器。
从 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 时遇到的问题及其解决的更多相关文章
- ArchLinux升级后deadbeef无法正常启动的解决办法
deadbeef是一款简约而不简单的音乐播放器, 占资源少, 支持的格式却不少. 昨天对ArchLinux进行了一次全面升级, 经历种种惊险, 终于跨越了从 glibc-2.16 到 glibc-2. ...
- AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布 ...
- AppBox升级进行时 - 扁平化的权限设计
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. AppBox v2.0中的权限实现 AppBox v2.0中权限管理中涉及三个 ...
- Win7升级Win10系统提示错误0x80070057的解决方法
Win7系统用户在通过Windows Update来升级Win10系统时,有时会出现0x80070057的错误代码从而导致无法继续升级.下面好系统重装助手就来告诉大家Win7升级Win10系统出现0x ...
- 每次Xcode 升级之后 插件失效,两步解决
以下内容来源:http://www.cocoachina.com/bbs/read.php?tid=296269 每次Xcode 升级之后 插件失效,两步解决 1.打开终端,输入以下代码获取到DVTP ...
- 爬虫爬数据时,post数据乱码解决办法
最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密.用谷歌自带的抓包工具也不能捕获到数据.于是下了Fiddler. F ...
- paip.navicat form mysql导入文本文件时CPU占用100%的解决
paip.navicat form mysql导入文本文件时CPU占用100%的解决 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:h ...
- MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决 转
MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决 在多线程设计中,许多人为了省事,会将对话框类或其它类的指针传给工作线程,而在工作线程中调用该类的成员函数或成员变量等等. ...
- Bootstrap中关闭第二个模态框时出现的问题和解决办法
Bootstrap中关闭第二个模态框时出现的问题和解决办法 1.关闭第二个模态框时,第一个模态框跟着消失. 解决办法: 第二个模态框的代码不要写在第一个模态框里面,确保两个模态框相对独立; 2.关闭第 ...
随机推荐
- Linux安装配置VPN服务器
一.实验简介 VPN ,中文翻译为虚拟专有网络,英文全称是 Virtual Private Network .现在 VPN 被普遍定义为通过 一个公用互联网络建立一个临时的.安全的连接,是一条穿过混乱 ...
- 小试 Ninja
Ninja 是最近冒出来的一个 build system,它很像 make,然而效率更高,对大项目支持更好.当然我用 Ninja 和效率无关(我又没有那种有几百个中间目标的 C++ 项目要 build ...
- POJ1664(整数划分)
放苹果 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 30894 Accepted: 19504 Description ...
- 关于echarts地图下钻。
在去年十二月份,前端老大交代个任务,关于地图下钻.这里做了个简单的青岛地图下钻,初学echarts,做的不精,凑合看看吧. 第一步呢,先引入echarts等文件,这是最基本的. 第二步,到官网下载 ...
- 【thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法】
非常惭愧的说,由于之前一直使用的是windowservice,安装apache来进行服务器布置的,这种方式也是最简单最直接的方式, 但是由于php的服务大多都是linux栈的,咱们也不能落后呀,在 ...
- Python爬虫:通过关键字爬取百度图片
使用工具:Python2.7 点我下载 scrapy框架 sublime text3 一.搭建python(Windows版本) 1.安装python2.7 ---然后在cmd当中输入python,界 ...
- GTK+基本图元的绘制
// main.c #include <gtk/gtk.h> static void draw_round_rectangle (cairo_t * cr, double x, doubl ...
- c++ 继承类强制转换时的虚函数表工作原理
本文通过简单例子说明子类之间发生强制转换时虚函数如何调用,旨在对c++继承中的虚函数表的作用机制有更深入的理解. #include<iostream> using namespace st ...
- jenkins全局安全设置
如何进入安全设置界面 在Jenkins的主界面,点击 configure Global Security 选项,进入Jenkins的系统安全设置界面.安全界面如下图.在这里我们分别介 ...
- matlab中运用项目思维分析问题并解决问题
我们将沿着以下几步思考:1.State the problem关于这个例子陈述问题很简单.我们想写一个判定二元一次方程的程序:是否有两个实根,重复实根,或者两个复数根2.Define the inpu ...