我以 root 身份登录。
每当我想在本地或远程安装新应用程序时,我都会得到以下信息:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up postgresql-9.3 (9.3.14-0ubuntu0.14.04) ...
* Starting PostgreSQL 9.3 database server * The PostgreSQL server failed to start. Please check the log output:
2016-09-06 15:47:37 CEST FATAL: could not create lock file "/var/run/postgresql/.s.PGSQL.5433.lock": Permission denied
[fail]
invoke-rc.d: initscript postgresql, action "start" failed."
为什么 Ubuntu 会启动 Postgre 服务器?
这是怎么回事?
请给出简单的答案...我是菜鸟。
输出locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
答案1
看来这里有 3 个不同的问题。
系统上似乎有一个半安装的 postgresql-9.3,因此当您尝试
apt-get install
任何新包时,它会首先尝试完成 postgresql 安装。这是正常的 APT 行为。/var/run/postgresql 的权限不正确,因此出现错误
could not create lock file "/var/run/postgresql/.s.PGSQL.5433.lock": Permission denied
,即使其余部分都没有问题,也可能会发生这种情况。您的
locale
设置en_US.UTF-8
已损坏,好像有人删除了底层文件,因此@Zanna 建议使用以下方法重新生成它们sudo locale-gen en_US.utf8
如果你主要想修复 #1,我认为你需要卸载半安装的 postgresql-9.3
对于你的情况,我会从这样的命令开始:
dpkg-query -W -f='${db:Status-Abbrev}\t${binary:Package}\n' 'postgres*'
获取 postgres 软件包列表及其状态。然后卸载并清除有错误或半安装的软件包。