操作系统为Ubuntu 14.04在Openstack软件包安装过程中,主机的DNS没问题,软件源的仓库也是正确的,为什么总是出现软件包安装错误呢?报错如下:# apt-get install cinder-api cinder-scheduler cinder-volume python-cinderclient -yReading package lists... Done Building dependency tree Reading state information... Done cinder-api is already the newest version. cinder-scheduler is already the newest version. cinder-volume is already the newest version. python-cinderclient is already the newest version. The following packages were automatically installed and are no longer required: libboost-iostreams1.46.1 libclass-isa-perl libswitch-perl Use "apt-get autoremove" to remove them. 0 upgraded, 0 newly installed, 0 to remove and 27 not upgraded. 4 not fully installed or removed. After this operation, 0 B of additional disk space will be used. perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_US:en", LC_ALL = (unset), LC_CTYPE = "UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). 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 cinder-common (1:2015.1.0-0ubuntu1~cloud0) ... /usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/base.py:20: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead. from oslo.config import cfg Traceback (most recent call last): File "/usr/bin/cinder-manage", line 6, in <module> from cinder.cmd.manage import main File "/usr/lib/python2.7/dist-packages/cinder/cmd/manage.py", line 74, in <module> from cinder.common import config # noqa File "/usr/lib/python2.7/dist-packages/cinder/common/config.py", line 105, in <module> help=_("DEPRECATED: Deploy v1 of the Cinder API.")), File "/usr/lib/python2.7/dist-packages/oslo_i18n/_factory.py", line 80, in f return _message.Message(msg, domain=domain) File "/usr/lib/python2.7/dist-packages/oslo_i18n/_message.py", line 51, in __new__ msgtext = Message._translate_msgid(msgid, domain) File "/usr/lib/python2.7/dist-packages/oslo_i18n/_message.py", line 91, in _translate_msgid system_locale = locale.getdefaultlocale() File "/usr/lib/python2.7/locale.py", line 543, in getdefaultlocale return _parse_localename(localename) File "/usr/lib/python2.7/locale.py", line 475, in _parse_localename raise ValueError, "unknown locale: %s" % localename ValueError: unknown locale: UTF-8 dpkg: error processing package cinder-common (--configure): subprocess installed post-installation script returned error exit status 1 dpkg: dependency problems prevent configuration of cinder-volume: cinder-volume depends on cinder-common (= 1:2015.1.0-0ubuntu1~cloud0); however: Package cinder-common is not configured yet. dpkg: error processing package cinder-volume (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of cinder-api: cinder-api depends on cinder-common (= 1:2015.1.0-0ubuntu1~cloud0); however: Package cinder-common is not configured yet. dpkg: error processing package cinder-api (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of cinder-scheduler: cinder-scheduler depends on cinder-common (= 1:2015.1.0-0ubuntu1~cloud0); however: Package cinder-common is not configured yet. dpkg: error processing package cinder-scheduler (--configure): dependency problems - leaving unconfigured No apport report written because the error message indicates its a followup error from a previous failure. No apport report written because the error message indicates its a followup error from a previous failure. No apport report written because MaxReports is reached already Errors were encountered while processing: cinder-common cinder-volume cinder-api cinder-schedulerE: Sub-process /usr/bin/dpkg returned an error code (1) 屏幕上的报错,一下跳到最后,怎么检查都没查出来。于是回头分析报错的根源:perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_US:en", LC_ALL = (unset), LC_CTYPE = "UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). 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 这几个警告是提示系统环境的locale设置,太常见很容易忽略。Setting up cinder-common (1:2015.1.0-0ubuntu1~cloud0) ... /usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/base.py:20: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead. from oslo.config import cfg Traceback (most recent call last): File "/usr/bin/cinder-manage", line 6, in <module> from cinder.cmd.manage import main File "/usr/lib/python2.7/dist-packages/cinder/cmd/manage.py", line 74, in <module> from cinder.common import config # noqa File "/usr/lib/python2.7/dist-packages/cinder/common/config.py", line 105, in <module> help=_("DEPRECATED: Deploy v1 of the Cinder API.")), File "/usr/lib/python2.7/dist-packages/oslo_i18n/_factory.py", line 80, in f return _message.Message(msg, domain=domain) File "/usr/lib/python2.7/dist-packages/oslo_i18n/_message.py", line 51, in __new__ msgtext = Message._translate_msgid(msgid, domain) File "/usr/lib/python2.7/dist-packages/oslo_i18n/_message.py", line 91, in _translate_msgid system_locale = locale.getdefaultlocale() File "/usr/lib/python2.7/locale.py", line 543, in getdefaultlocale return _parse_localename(localename) File "/usr/lib/python2.7/locale.py", line 475, in _parse_localename raise ValueError, "unknown locale: %s" % localename ValueError: unknown locale: UTF-8 但这部分已经说软件包由于系统环境的编码格式导致错误。如果不处理,那在apt安装其他软件时还会报相同的错。很多时候,我们会把这部分与上面的警告混在一起,从而转移注意力到其他地方。解决方法为:echo "LC_ALL="en_US.UTF-8"" >> /etc/default/locale 注:此环境的OS为ubuntu14.04。其他OS根据实际环境设置。退出当前终端,重新登录,查看当前终端环境的locale:# locale LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE="en_US.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=en_US.UTF-8再次使用apt-get安装即可成功。下面是小编为你精选的Openstack相关知识,看看是否有你喜欢的:在Ubuntu 12.10 上安装部署Openstack http://www.linuxidc.com/Linux/2013-08/88184.htmUbuntu 12.04 OpenStack Swift单节点部署手册 http://www.linuxidc.com/Linux/2013-08/88182.htmOpenStack云计算快速入门教程 http://www.linuxidc.com/Linux/2013-08/88186.htm企业部署OpenStack:该做与不该做的事 http://www.linuxidc.com/Linux/2013-09/90428.htmCentOS 6.5 x64bit 快速安装OpenStack http://www.linuxidc.com/Linux/2014-06/103775.htm本文永久更新链接地址