s3cmd读取配置文件但声称它不存在

时间:2017-07-22 16:34:47

标签: ubuntu-16.04 s3cmd ceph

我使用s3cmd访问我的云提供商提供的Ceph存储空间。我在我的VM上创建了一个最小.s3cfg文件来执行此操作。当我尝试列出存储桶时,它声称它无法找到配置文件,尽管--debug输出显示它正在解析它:

$ s3cmd ls --debug
DEBUG: s3cmd version 1.6.1
DEBUG: ConfigParser: Reading file '/home/ubuntu/.s3cfg'
DEBUG: ConfigParser: access_key->...-3_chars...
DEBUG: ConfigParser: secret_key->...-3_chars...
DEBUG: ConfigParser: enable_multipart->True
DEBUG: ConfigParser: host_base->storage.datacentred.io
DEBUG: ConfigParser: host_bucket->%(bucket)s.storage.datacentred.io
DEBUG: ConfigParser: use_https->True
ERROR: /home/ubuntu/.s3cfg: None
ERROR: Configuration file not available.
ERROR: Consider using --configure parameter to create one.

我使用的是Ubuntu 16.04.2 LTS。知道我做错了什么吗?是否有一个缺少的关键属性会使s3cmd认为该文件不存在?

1 个答案:

答案 0 :(得分:2)

前一行/home/ubuntu/.s3cfg: None表示解析配置文件时出错。遗憾的是,None表示无论错误是什么,都没有显示好的字符串: - (。

这里是s3cmd来源的相关块:

try: 
    cfg = Config(options.config, options.access_key, options.secret_key, options.access_token)
except IOError, e:
    if options.run_configure:
        cfg = Config()
    else:
        error(u"%s: %s"  % (options.config, e.strerror))
        error(u"Configuration file not available.")