适用于 Linux Mint 18.3、32 位、MATE 桌面 1.18.0。
在 BASH 中,键入calendar
会产生以下错误。
rbv@rbv-F80Q ~ $ calendar
In file included from /usr/share/calendar/calendar.all:23:0,
from <stdin>:16:
/usr/share/calendar/calendar.croatian:10:0: fatal error: hr_HR/calendar.all: No such file or directory
#include <hr_HR/calendar.all>
^
compilation terminated.
Feb 15 Galileo Galilei born in Pisa, Italy, 1564
------ list of dates ------
Feb 16 Stephen Decatur burns US frigate in Tripoli, 1804
rbv@rbv-F80Q ~ $
我找到了引用的文件calendar.croatian和违规行:
/*
* Croatian calendar files
*
* $FreeBSD$
*/
#ifndef _calendar_croatian_
#define _calendar_croatian_
/* THIS IS THE LINE CITED IN THE ERROR */
#include <hr_HR/calendar.all>
#endif /* !_calendar_croatian_ */
但我不知道该怎么做。删除线路?编辑它?或者?
还是编辑calendar.all
并简单地删除该行的最佳解决方案#include <calendar.croatian>
?虽然如果可能的话我想实际解决问题而不是简单地删除东西......
编辑#1:无法重新安装 bsdmainutils
尝试了重新安装basmainutils的建议,但它似乎在我的系统上不存在,并且我无法使用apt-get下载和安装它。
rbv@rbv-F80Q ~ $ sudo apt-get install --reinstall bsdmainutils
[sudo] password for rbv:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reinstallation of bsdmainutils is not possible, it cannot be downloaded.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
rbv@rbv-F80Q ~ $
具体到重新安装,这台 32 位 Linux Mint / MATE 计算机上似乎不存在。
编辑#2:尝试使用 dpkg-query 来识别 basmainutils 的所有者
为了回应评论者的建议,运行以下内容:
rbv@rbv-F80Q ~ $ dpkg-query -S /usr/share/calendar/calendar.all
bsdmainutils: /usr/share/calendar/calendar.all
这似乎表明虽然我无法使用about
orwhich
或apropos
orman
找到任何关于bsdmainutils的信息,但它显然是calendar.all的所有者。
另请注意,该locate bsdmainutils
命令产生了以下内容:
rbv@rbv-F80Q ~ $ locate bsdmainutils
/etc/cron.daily/bsdmainutils
/etc/default/bsdmainutils
/usr/share/doc/bsdmainutils
/usr/share/doc/bsdmainutils/README
/usr/share/doc/bsdmainutils/calendarJudaic.py.gz
/usr/share/doc/bsdmainutils/changelog.gz
/usr/share/doc/bsdmainutils/copyright
/usr/share/doc/bsdmainutils/source.data.gz
/usr/share/lintian/overrides/bsdmainutils
/var/lib/dpkg/info/bsdmainutils.conffiles
/var/lib/dpkg/info/bsdmainutils.list
/var/lib/dpkg/info/bsdmainutils.md5sums
/var/lib/dpkg/info/bsdmainutils.postinst
/var/lib/dpkg/info/bsdmainutils.prerm
rbv@rbv-F80Q ~ $
因此,一方面bsdmainutils似乎不适用于apt-get等,但系统上存在一些basmainutils文件。
编辑#3:发现规避,请参阅我对自己问题的回答,如下
尽管apt-get
无法找到并重新安装bsdmainutils,但Synaptic包管理器确实列出了它,因此可以重新安装它。详情如下。
我没有一个 Linux Mint 系统来尝试这个,所以我基于几个-其他-展示了该选项的页面:
--reinstall
这里的假设是某些东西无意中删除了
/usr/share/calendar/hr_HR/calendar.all
文件。我们要求包管理器重新安装包,它应该替换该文件。好吧,我“修复”了这个问题——但我对它最终得到修复的方式并不满意。
解决方案是使用Synaptic而不是
apt-get
在命令行上重新安装bsdmainutils。之后,不再发生日历错误。但这反映了我遇到的另一个反复出现的问题 ala Synaptic 不会列出 apt-get 将安装的程序...?
在这种情况下,与现有帖子的问题相反:Synaptic“知道”一个
apt-get
CLI 上不知道的包。重点是我无法弄清楚为什么apt-get
经常会找到Synaptic未列出的程序。在这种情况下,相反...编辑 #1:可能会出现问题,因为Bleachbit删除日历文件
如果您重新安装bsdmainutils并且日历再次正常工作,并且稍后再次出现相同的问题,那么请注意,根据设置, Bleachbit可能正在删除
/usr/share/calendar/
. 使用编辑->首选项->白名单->添加文件夹/usr/share/calendar
->从删除中排除包含的文件。请注意,您可能需要以root 身份对 Bleachbit 和在用户帐户模式下对 Bleachbit执行此操作...