2017-11-16 1 views
1

은 내가 아래업그레이드 후 Python dist-package에서 동일한 권한을 유지하는 방법은 무엇입니까?

enter image description here

같은 권한을보고하고 ls -lrt /usr/local/lib/python2.7/dist-packages/ 일에 우분투 (14)에 파이썬 패키지 patroni 버전 1.0을 사용하고 있습니다하지만이 명령을 통해 patroni를 업그레이드하면 sudo pip install patroni --upgrade 나는의 권한을보고 있어요 업그레이드 후 patroni 변경

enter image description here

설치 출력은 -

sudo pip install patroni --upgrade 
The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. 
    InsecurePlatformWarning 
Collecting patroni 
Requirement already up-to-date: requests in /usr/local/lib/python2.7/dist-packages (from patroni) 
Collecting cdiff (from patroni) 
Requirement already up-to-date: six>=1.7 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Collecting python-etcd<0.5,>=0.4.3 (from patroni) 
Requirement already up-to-date: prettytable>=0.7 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: tzlocal in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: boto in /usr/local/lib/python2.7/dist-packages (from patroni) 
Collecting python-consul>=0.7.0 (from patroni) 
    Downloading python_consul-0.7.2-py2.py3-none-any.whl 
Requirement already up-to-date: psycopg2>=2.6.1 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: kazoo==2.2.1 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: urllib3>=1.9 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: click>=4.1 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: python-dateutil in /usr/local/lib/python2.7/dist-packages (from patroni) 
Collecting psutil (from patroni) 
Requirement already up-to-date: PyYAML in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: certifi>=2017.4.17 in /usr/local/lib/python2.7/dist-packages (from requests->patroni) 
Requirement already up-to-date: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/dist-packages (from requests->patroni) 
Requirement already up-to-date: idna<2.7,>=2.5 in /usr/local/lib/python2.7/dist-packages (from requests->patroni) 
Requirement already up-to-date: dnspython>=1.13.0 in /usr/local/lib/python2.7/dist-packages (from python-etcd<0.5,>=0.4.3->patroni) 
Requirement already up-to-date: pytz in /usr/local/lib/python2.7/dist-packages (from tzlocal->patroni) 
Installing collected packages: cdiff, python-etcd, python-consul, psutil, patroni 
    Found existing installation: python-etcd 0.4.3 
    Uninstalling python-etcd-0.4.3: 
     Successfully uninstalled python-etcd-0.4.3 
    Found existing installation: python-consul 0.6.0 
    Uninstalling python-consul-0.6.0: 
     Successfully uninstalled python-consul-0.6.0 
    Found existing installation: patroni 1.0 
    Uninstalling patroni-1.0: 
     Successfully uninstalled patroni-1.0 
Successfully installed cdiff-1.0 patroni-1.3.6 psutil-5.4.1 python-consul-0.7.2 python-etcd-0.4.5 
You are using pip version 7.1.2, however version 9.0.1 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 
나는 그때는 아래의 오류와 함께 실패 단지 pip install patroni --upgrade을 할 경우 sudo를 사용했다 : -

pip install patroni --upgrade 
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. 
    InsecurePlatformWarning 
Collecting patroni 
    Downloading patroni-1.3.6.tar.gz (90kB) 
    100% |████████████████████████████████| 94kB 1.0MB/s 
Requirement already up-to-date: urllib3>=1.9 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: boto in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: psycopg2>=2.6.1 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: PyYAML in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: requests in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: six>=1.7 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: kazoo==2.2.1 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Collecting python-etcd<0.5,>=0.4.3 (from patroni) 
    Downloading python-etcd-0.4.5.tar.gz 
Collecting python-consul>=0.7.0 (from patroni) 
    Downloading python_consul-0.7.2-py2.py3-none-any.whl 
Requirement already up-to-date: click>=4.1 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: prettytable>=0.7 in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: tzlocal in /usr/local/lib/python2.7/dist-packages (from patroni) 
Requirement already up-to-date: python-dateutil in /usr/local/lib/python2.7/dist-packages (from patroni) 
Collecting psutil (from patroni) 
    Downloading psutil-5.4.1.tar.gz (408kB) 
    100% |████████████████████████████████| 409kB 1.1MB/s 
Collecting cdiff (from patroni) 
    Downloading cdiff-1.0.tar.gz 
Requirement already up-to-date: certifi>=2017.4.17 in /usr/local/lib/python2.7/dist-packages (from requests->patroni) 
Requirement already up-to-date: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/dist-packages (from requests->patroni) 
Requirement already up-to-date: idna<2.7,>=2.5 in /usr/local/lib/python2.7/dist-packages (from requests->patroni) 
Requirement already up-to-date: dnspython>=1.13.0 in /usr/local/lib/python2.7/dist-packages (from python-etcd<0.5,>=0.4.3->patroni) 
Requirement already up-to-date: pytz in /usr/local/lib/python2.7/dist-packages (from tzlocal->patroni) 
Building wheels for collected packages: patroni, python-etcd, psutil, cdiff 
    Running setup.py bdist_wheel for patroni 
    Stored in directory: /home/ubuntu/.cache/pip/wheels/86/5a/e3/cb4ac4ecf20bc7a2956062d3c3ad15c660a993a0cc3aa23d35 
    Running setup.py bdist_wheel for python-etcd 
    Stored in directory: /home/ubuntu/.cache/pip/wheels/d1/79/df/26facc508cdb5fefaf3d574fb634d848754a7e69d95f53f056 
    Running setup.py bdist_wheel for psutil 
    Stored in directory: /home/ubuntu/.cache/pip/wheels/05/a2/2a/2015d6af91fb5a4cc5bcdfa9699034e2f624fc9cc5acde7ab9 
    Running setup.py bdist_wheel for cdiff 
    Stored in directory: /home/ubuntu/.cache/pip/wheels/d9/67/dc/d53a3cfea638a5652d0d2054b447d67a7d2a2bdebf0f67765e 
Successfully built patroni python-etcd psutil cdiff 
Installing collected packages: python-etcd, python-consul, psutil, cdiff, patroni 
    Found existing installation: python-etcd 0.4.3 
    Uninstalling python-etcd-0.4.3: 
Exception: 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 211, in main 
    status = self.run(options, args) 
    File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 311, in run 
    root=options.root_path, 
    File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 640, in install 
    requirement.uninstall(auto_confirm=True) 
    File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 716, in uninstall 
    paths_to_remove.remove(auto_confirm) 
    File "/usr/local/lib/python2.7/dist-packages/pip/req/req_uninstall.py", line 125, in remove 
    renames(path, new_path) 
    File "/usr/local/lib/python2.7/dist-packages/pip/utils/__init__.py", line 315, in renames 
    shutil.move(old, new) 
    File "/usr/lib/python2.7/shutil.py", line 303, in move 
    os.unlink(src) 
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/etcd/__init__.py' 
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. 
    InsecurePlatformWarning 
You are using pip version 7.1.2, however version 9.0.1 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 

누군가가 나를 왜 권한은 업그레이드 후 변화

  1. 를 알려 수 있습니까?
  2. 업그레이드 후에도 어떻게 동일한 권한을 가질 수 있습니까?
+1

** 참고 : 저는 Enterprise Linux/Fedora 사용자 **로 말하고 있습니다. 시스템 글로벌 패키지를 업데이트하는 것은 현명하지 않습니다. EL (Centos 7)의 경우 시스템을 쉽게 사용할 수 없도록 만들 수 있습니다. –

답변

0

확실한 문제는 sudo입니다. sudoroot 사용자 아래 새 쉘을 실행하고 새 쉘은 /root/ 디렉토리에서 구성 파일을 읽습니다. /root/.bash_profile에는 umask 027 명령이 있습니다. 022으로 변경하면 문제가 해결됩니다.

관련 문제