filesystem喜闻乐见中招解救
-
- 帖子: 66
- 注册时间: 2008-11-30 12:26
filesystem喜闻乐见中招解救
昨天晚上yaourt -Syua,出现了
filesystem: /bin exists in filesystem
filesystem: /sbin exists in filesystem
filesystem: /usr/sbin exists in filesystem
上网胡搜一通(非官网),据说加了--force可以解决问题(坑爹)
然后运行了
yaourt -Su bash --force
....
略微感觉不妥,不能开新bash了,再yaourt -Syua还是无法更新,于是想着重启应该能够解决(<----教训,重启要慎重啊),结果重启后连系统都进不了,emergency mode键盘无反应。。。。
想起来看官网:https://www.archlinux.org/news/binaries ... ervention/
原来将/bin, /sbin, /usr/sbin里的文件都统一到/usr/bin了。估计是强制更新了bash以后,bash默认安装进/usr/bin,而系统其他软件没有更新,因此启动时在/bin下找不到bash,导致启动失败。
那么解决办法很简单了。
1,用arch启动盘登陆(没有启动盘的悲剧了。。我用的arch安装盘,要支持你的文件系统的)
挂载本地根目录到mnt(sda1换成你本地系统根目录所在分区)
mount /dev/sda1 /mnt
创建bash的软连接
ln -s /mnt/usr/bin/bash /mnt/bin/bash
(因为我的系统默认使用zsh,所以再创建zsh的软连接,没有的忽略此步)
ln -s /mnt/usr/bin/zsh /mnt/bin/zsh
2,现在可以chroot入本地系统了
chroot /mnt
3,清理 /bin /sbin /usr/sbin
非官方源的包查询:
pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm
把这些包记下来,统统卸载掉,一会再装上。
paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'
这个也是,查询好记下来然后卸载掉。<repo>换成非官方源,没有的忽略此步。
确保/etc/pacman.conf的IgnorePkg或IgnoreGroup里的包没有文件在/bin, /sbin, or /usr/sbin,有的话记下来然后处理好。
确保/bin /sbin /usr/sbin里没有任何遗漏的文件(除了了自己建立的/bin/bash,/bin/zsh之外):
find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null
4,由于是chroot进入系统,所以更新时会提示mtab文件错误。
执行如下命令:
mv /etc/mtab /etc/mmmtab
cp /etc/fstab /etc/mtab
更新完毕后再
mv mmmtab mtab
即可。
5,更新时会提示签名错误。
编辑/etc/pacman.conf,在每个源下都加入SigLevel = Never。过后可以删除。
6,
pacman -Su --ignore filesystem,bash
pacman -S bash
pacman -Su
7,删除bin目录,然后建立软链接
rm -rf /bin
ln -s /usr/bin /bin
8,reboot~
之后重新yaourt -Syua一次,结束。
========================
后记,赶紧用btrfs的snapshot去。。。
filesystem: /bin exists in filesystem
filesystem: /sbin exists in filesystem
filesystem: /usr/sbin exists in filesystem
上网胡搜一通(非官网),据说加了--force可以解决问题(坑爹)
然后运行了
yaourt -Su bash --force
....
略微感觉不妥,不能开新bash了,再yaourt -Syua还是无法更新,于是想着重启应该能够解决(<----教训,重启要慎重啊),结果重启后连系统都进不了,emergency mode键盘无反应。。。。
想起来看官网:https://www.archlinux.org/news/binaries ... ervention/
原来将/bin, /sbin, /usr/sbin里的文件都统一到/usr/bin了。估计是强制更新了bash以后,bash默认安装进/usr/bin,而系统其他软件没有更新,因此启动时在/bin下找不到bash,导致启动失败。
那么解决办法很简单了。
1,用arch启动盘登陆(没有启动盘的悲剧了。。我用的arch安装盘,要支持你的文件系统的)
挂载本地根目录到mnt(sda1换成你本地系统根目录所在分区)
mount /dev/sda1 /mnt
创建bash的软连接
ln -s /mnt/usr/bin/bash /mnt/bin/bash
(因为我的系统默认使用zsh,所以再创建zsh的软连接,没有的忽略此步)
ln -s /mnt/usr/bin/zsh /mnt/bin/zsh
2,现在可以chroot入本地系统了
chroot /mnt
3,清理 /bin /sbin /usr/sbin
非官方源的包查询:
pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm
把这些包记下来,统统卸载掉,一会再装上。
paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'
这个也是,查询好记下来然后卸载掉。<repo>换成非官方源,没有的忽略此步。
确保/etc/pacman.conf的IgnorePkg或IgnoreGroup里的包没有文件在/bin, /sbin, or /usr/sbin,有的话记下来然后处理好。
确保/bin /sbin /usr/sbin里没有任何遗漏的文件(除了了自己建立的/bin/bash,/bin/zsh之外):
find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null
4,由于是chroot进入系统,所以更新时会提示mtab文件错误。
执行如下命令:
mv /etc/mtab /etc/mmmtab
cp /etc/fstab /etc/mtab
更新完毕后再
mv mmmtab mtab
即可。
5,更新时会提示签名错误。
编辑/etc/pacman.conf,在每个源下都加入SigLevel = Never。过后可以删除。
6,
pacman -Su --ignore filesystem,bash
pacman -S bash
pacman -Su
7,删除bin目录,然后建立软链接
rm -rf /bin
ln -s /usr/bin /bin
8,reboot~
之后重新yaourt -Syua一次,结束。
========================
后记,赶紧用btrfs的snapshot去。。。
上次由 judai 在 2013-06-06 1:17,总共编辑 4 次。
- 只是说
- 帖子: 1140
- 注册时间: 2012-03-12 22:44
- 系统: 贱兔
- 来自: 株洲
- Boneflame
- 帖子: 420
- 注册时间: 2010-07-10 1:19
- 系统: 洗发水
- 来自: G+阿卡林部
- 联系:
Re: filesystem喜闻乐见中招解救
让你不看官网.. 

∧_∧::
(´・ω・`)::
/⌒ ⌒)::
/ へ__/ /::
(_\\ミ)/::
| `-イ::
/y )::
// /::
/ /::
( く:::
|\ ヽ:::
(´・ω・`)::
/⌒ ⌒)::
/ へ__/ /::
(_\\ミ)/::
| `-イ::
/y )::
// /::
/ /::
( く:::
|\ ヽ:::
- 只是说
- 帖子: 1140
- 注册时间: 2012-03-12 22:44
- 系统: 贱兔
- 来自: 株洲
Re: filesystem喜闻乐见中招解救
其实我是安照官网的步骤去升级的,中间有一步好像说"|"这个符号有问题,我pass了,最后升级filesystem的时候就提示error,升级不了。然后点重启,不能,按复位键,就进不去了。Boneflame 写了:让你不看官网..
Sent from my Lenovo_A2105 using Tapatalk 2
我的博客。
- 只是说
- 帖子: 1140
- 注册时间: 2012-03-12 22:44
- 系统: 贱兔
- 来自: 株洲
- 雨坤毅
- 帖子: 232
- 注册时间: 2010-08-28 14:34
- 系统: ArchLinux
- 联系:
Re: filesystem喜闻乐见中招解救
我直接把所有安装在/sbin和/bin下的软件包全卸载了~~更新完了在安装.



-
- 帖子: 132
- 注册时间: 2009-10-31 12:00
Re: filesystem喜闻乐见中招解救
我也是中间有一步说"|"这个符号有问题,我pass了,最后升级filesystem的时候就提示error
-
- 帖子: 18
- 注册时间: 2007-07-24 10:27
Re: filesystem喜闻乐见中招解救
重启就进不去了- -,现在进arch显示ERROR:Root device mounted successfully,but /sbin/init does not exist.
Bailing out,you are on your own.Good luck.
sh:can't access tty; job control turned off
[rootfs /]#
pacman什么的也用不了
如何解决?
谢谢!!
Bailing out,you are on your own.Good luck.
sh:can't access tty; job control turned off
[rootfs /]#
pacman什么的也用不了
如何解决?
谢谢!!
- 只是说
- 帖子: 1140
- 注册时间: 2012-03-12 22:44
- 系统: 贱兔
- 来自: 株洲
- bigsun
- 帖子: 301
- 注册时间: 2009-01-11 16:05
Re: filesystem喜闻乐见中招解救
我把在/sbin /bin下的包都卸载了,重新安装时全提示没有这些包。但系统运行正常。
- nyfair
- 帖子: 1067
- 注册时间: 2007-12-07 12:49
- 系统: winnux10
- 来自: Tree New Bee
Re: filesystem喜闻乐见中招解救
chakra要是敢跟着arch这么玩我就改用贱兔
本人在此论坛仅负责吐槽,问题急需解决请支付宝转账5毛至{我的[email protected]},将会竭诚为您服务
linux常见多媒体问题处理指南
1. 视频播放有问题->卸载gstreamer
2. 音频播放有问题->卸载pulseaudio
3. 远程播放有问题->卸载avahi
4. 系统全都有问题->卸载systemd,远离Lennart这傻逼让你从此轻松自在
⇩自由网络⇩
https://github.com/nyfair/freeweb
linux常见多媒体问题处理指南
1. 视频播放有问题->卸载gstreamer
2. 音频播放有问题->卸载pulseaudio
3. 远程播放有问题->卸载avahi
4. 系统全都有问题->卸载systemd,远离Lennart这傻逼让你从此轻松自在
⇩自由网络⇩
https://github.com/nyfair/freeweb
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: filesystem喜闻乐见中招解救
你们这群呆子……把「<repo>」换成你的第三方源的名字啦……jr0501 写了:我也是中间有一步说"|"这个符号有问题,我pass了,最后升级filesystem的时候就提示error
-
- 帖子: 66
- 注册时间: 2008-11-30 12:26
Re: filesystem喜闻乐见中招解救
这个可能是盘没有刻好,检查下载的iso的md5,或者用别的机器虚拟机看看能不能正常启动。只是说 写了:用了最新的archlinux-2013.6.1的镜像作启动盘,结果一直停在这个画面,进不去,点哪个都没有用。
如果是用dd入u盘的方式的话,另外一个原因可能是接口老化,u盘不稳定等硬件原因,建议换u盘(我曾出现过此问题)。
-
- 帖子: 66
- 注册时间: 2008-11-30 12:26
Re: filesystem喜闻乐见中招解救
参考顶楼的方法,用启动盘chroot进入本地系统重新更新一次。mwyz 写了:重启就进不去了- -,现在进arch显示ERROR:Root device mounted successfully,but /sbin/init does not exist.
Bailing out,you are on your own.Good luck.
sh:can't access tty; job control turned off
[rootfs /]#
pacman什么的也用不了
如何解决?
谢谢!!
- 只是说
- 帖子: 1140
- 注册时间: 2012-03-12 22:44
- 系统: 贱兔
- 来自: 株洲
Re: filesystem喜闻乐见中招解救
lilydjwg 写了:你们这群呆子……把「<repo>」换成你的第三方源的名字啦……jr0501 写了:我也是中间有一步说"|"这个符号有问题,我pass了,最后升级filesystem的时候就提示error

我的博客。