# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # https://cloudlinux.com/docs/LICENCE.TXT # from concurrent.futures import ThreadPoolExecutor from typing import Iterator from clconfigure import task, run from clconfigure.packages import install_package def initialize_linksafe(): # NOTE(vlebedev): Also we need to trigger linksafe scriptlets to properly initialize relevant UNIX groups. # Otherwise this problem may occur: # https://cloudlinux.zendesk.com/hc/en-us/articles/ # 115004139173-What-does-Error-failed-to-create-symlink-13-Permission-denied-mean install_package('cloudlinux-linksafe', reinstall=True) assign_linksafe_group() @task("Assigning linksafe group to files of 'alt-*' packages residing under /opt/alt") def assign_linksafe_group(concurrency: int = 5): with ThreadPoolExecutor(max_workers=concurrency) as tp: for package in _installed_packages_iter( "alt-php*", "alt-python*", "alt-ruby*", ): tp.submit(run, ['/usr/bin/cl-linksafe-apply-group', package]) def _installed_packages_iter(*patterns: str) -> Iterator[str]: result = run(["rpm", "-qa", *patterns]) lines = result.stdout.strip().splitlines() for line in lines: yield line
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
cli | Folder | 0755 |
|
|
spec | Folder | 0755 |
|
|
Readme.md | File | 1.61 KB | 0644 |
|
__init__.py | File | 2.76 KB | 0644 |
|
awp.py | File | 1.75 KB | 0644 |
|
cagefs.py | File | 1.81 KB | 0644 |
|
clpro.py | File | 867 B | 0644 |
|
files.py | File | 933 B | 0644 |
|
limits.py | File | 2.75 KB | 0644 |
|
linksafe.py | File | 1.38 KB | 0644 |
|
lve.py | File | 965 B | 0644 |
|
packages.py | File | 2.57 KB | 0644 |
|
services.py | File | 2.29 KB | 0644 |
|
watcher.py | File | 5.04 KB | 0644 |
|