设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 发行版讨论区 —— LinuxSir.cn
›
Archlinux讨论区
›
pacman是否可以重建数据库?
返回列表
查看:
1150
|
回复:
9
pacman是否可以重建数据库?
[复制链接]
light-blue
light-blue
当前离线
积分
54
IP卡
狗仔卡
发表于 2005-5-21 04:56:03
|
显示全部楼层
|
阅读模式
[root@Blue local]#pwd
/var/lib/pacman/local
[root@Blue local]#ls
atk-1.9.1-1/ gimp-2.2.6-1/ gtk2-2.6.7-1/
[root@Blue local]#
不小心把/var/lib/pacman下的东东都删了,现在装什么东东都提示这样:
[root@Blue local]#pacman -S openssh
Targets: glibc-2.3.4-2 openssl-0.9.7g-1 zlib-1.2.2-1 ncurses-5.4-2
readline-5.0-3 bash-3.0-6 filesystem-0.7-5 binutils-2.15-1
gcc-3.4.3-2 db-4.3.27-2 pam-0.79-1 tcp_wrappers-7.6-6 openssh-4.0p1-1
Total Package Size: 50.1 MB
Proceed with upgrade? [Y/n]
选择y后,下载回的package,但无法正常升级,提示XXX已经存在系统里了。。。
想问问pacman是否有重建数据库功能?
十分谢谢!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
diony
diony
当前离线
积分
2162
IP卡
狗仔卡
发表于 2005-5-21 14:55:29
|
显示全部楼层
pacman -U pkgname.pkg.tar.gz这样能添加吗?
试过pacman -Sy没有?
试过pacman.static -Sy没有?
不行的话,从服务器上自己取回current.db.tar.gz之类的文件,解压到/var/lib/pacman下。
local的恐怕没有办法……
暂时没有重建数据库的方法,我再去找找。
回复
支持
反对
使用道具
举报
显身卡
diony
diony
当前离线
积分
2162
IP卡
狗仔卡
发表于 2005-5-21 15:34:47
|
显示全部楼层
看起来没有自动重建数据库的办法,因为/var/lib/pacman/local目录本身是唯一的记录。
/var/lib/pacman下的其他目录,可以通过pacman -Sy获得。
local下的内容,比较愚笨的处理方式是:
建立脚本,读取/var/log/pacman.log的内容,挑出包含install的行,去头去尾,结构合适后,传递给pacman -Sf --noconfirm。
虽然愚笨,但是看起来是目前唯一的办法……
回复
支持
反对
使用道具
举报
显身卡
light-blue
light-blue
当前离线
积分
54
IP卡
狗仔卡
楼主
|
发表于 2005-5-21 23:26:46
|
显示全部楼层
看来也只好这样了。。 以后一定要谨慎。。。
回复
支持
反对
使用道具
举报
显身卡
diony
diony
当前离线
积分
2162
IP卡
狗仔卡
发表于 2005-5-21 23:48:01
|
显示全部楼层
嗯。主要是local文件夹里多一些filelist文件,否则直接写脚本从相应库里拷就行了。
/var/lib/pacman下的文件夹,尤其是local文件夹,可以说是arch系统很重要的数据。要谨慎对待。
回复
支持
反对
使用道具
举报
显身卡
tx-cary
tx-cary
当前离线
积分
2467
IP卡
狗仔卡
发表于 2005-5-22 15:00:24
|
显示全部楼层
pacman没有使用数据库来管理软件包,可以以后会尝试使用SQL lite,但是现在没有。
如果下载回来的包无法安装,你可以试试“强行”:pacman -Af package.tar.gz
回复
支持
反对
使用道具
举报
显身卡
diony
diony
当前离线
积分
2162
IP卡
狗仔卡
发表于 2005-5-22 15:47:04
|
显示全部楼层
呵呵。强行安装是可以的。不过/var/lib/pacman/local下的东西没有了的话,对系统的影响是非常大的。pacman -Q将完全不正常。安装任何软件都有可能遇到一系列麻烦。所以对待local文件夹一定得谨慎。
不过,奇怪的是,楼主这种情况为什么会说已经在系统里了呢。按理说不应该的……在local下找不到的东西,pacman 就会认为是系统上没有的东西。
哦,原因可能是这样,系统以为你要安装的某个软件包没有安装(因为local下没有),而其实系统里你已经有了,所以它提示的是某些文件已经存在,而不是某个包已经存在。pacman对于包存在不存在判断的唯一依据,就是/var/lib/pacman/local
回复
支持
反对
使用道具
举报
显身卡
ganloo
ganloo
当前离线
积分
1823
IP卡
狗仔卡
发表于 2005-5-22 18:14:27
|
显示全部楼层
我想你最好还是重新安装一下。我曾经有过这样的经验,最后还是重新覆盖安装了一道,pacman才算正常。
回复
支持
反对
使用道具
举报
显身卡
light-blue
light-blue
当前离线
积分
54
IP卡
狗仔卡
楼主
|
发表于 2005-5-22 22:26:18
|
显示全部楼层
是的, 提示文件已经存在系统中,无法升级成功.
还好系统是新装好的,只装到了kde,不太大. 用chroot方式又重新安装个新的,再从这个里把local cp到主系统里........
原来一直在用lfs,还不太习惯pacman,apt这种升级系统方式,总觉得不塌实,看来要慢慢习惯了
谢谢各位大侠帮助
以后还请多多关照
回复
支持
反对
使用道具
举报
显身卡
diony
diony
当前离线
积分
2162
IP卡
狗仔卡
发表于 2005-5-22 23:06:43
|
显示全部楼层
如果你装个新的和这个版本装的包一模一样,就没有问题。如果不一样,还是需要调整的。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
shell进阶应用、shell编程
Mandriva Linux
小企鹅新闻图书馆
开源软件专题讨论
Redhat/Fedora/CentOS Linux
C\C++
Gentoo Linux
硬件设备 Linux 驱动
计算机认证考试学习与经验交流
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表