认为已/etc/skel/.profile
被修改,我试图找到哪个包提供了这个文件:
$ dpkg -S /etc/skel/.profile
bash: /etc/skel/.profile
$ apt-file list bash | head
bash: /bin/bash
bash: /bin/rbash
bash: /etc/bash.bashrc
bash: /etc/skel/.bash_logout
bash: /etc/skel/.bashrc
bash: /etc/skel/.profile
bash: /usr/bin/bashbug
bash: /usr/bin/clear_console
bash: /usr/share/debianutils/shells.d/bash
bash: /usr/share/doc/bash/COMPAT.gz
因此,我移动了该文件并尝试:
$ sudo apt --reinstall install bash
然而,该文件/etc/skel/.profile
并未重新创建。
- 为什么会这样?我在想,如果某些文件(包中的)被删除或损坏,我可以使用该
--reinstall
选项轻松恢复它们。 - 我怎样才能从它提供的包中恢复丢失的文件?
显然,$ sudo apt purge bash ; sudo apt install bash
在这种特殊情况下这不是一个选择!
答案1
根据您的评论,强制重新安装:
sudo apt install --reinstall -o dpkg::Options::="--force-confask,confnew,confmiss" bash
您可以获取源包,并从中获取 skel.profile。
sudo apt-get 源 bash
该软件包将以 xz 压缩的 tar 文件形式放入您当前的目录中,提取 debian/skel.profile 并在 /etc/skel 中重命名为 .profile