mirror of https://gitee.com/openkylin/genmai.git
编写limit和system_bus_list脚本
This commit is contained in:
parent
e304e3e6b7
commit
8a955b3958
|
@ -0,0 +1,91 @@
|
||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
def remove_file(file_path):
|
||||||
|
if os.path.exists(file_path):
|
||||||
|
os.remove(file_path)
|
||||||
|
#print(f"文件 {file_path} 已被删除")
|
||||||
|
|
||||||
|
|
||||||
|
def copy_file(source_path, backup_path):
|
||||||
|
try:
|
||||||
|
shutil.copy2(source_path, backup_path)
|
||||||
|
#print(f"文件已成功从 {source_path} 复制到 {backup_path}")
|
||||||
|
except IOError as e:
|
||||||
|
print(f"文件复制失败: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def add_limit(limit_file):
|
||||||
|
data_to_write =f"""[servicecontrol]
|
||||||
|
status=off
|
||||||
|
"""
|
||||||
|
with open(limit_file, 'w') as file:
|
||||||
|
file.write(data_to_write)
|
||||||
|
|
||||||
|
def popen_exec(command):
|
||||||
|
#print(f"command: {command}")
|
||||||
|
process = subprocess.Popen(command, stdout=subprocess.PIPE)
|
||||||
|
stdout, stderr = process.communicate()
|
||||||
|
stdout_str = stdout.decode('utf-8')
|
||||||
|
return stdout_str
|
||||||
|
|
||||||
|
def calc_verify(limit_file,arch):
|
||||||
|
calc_prog_path=f"{os.getcwd()}/../data/DBus/SystemBus/calc_verify_{arch}"
|
||||||
|
absolute_path = os.path.abspath(calc_prog_path)
|
||||||
|
command = [absolute_path,limit_file]
|
||||||
|
verify=popen_exec(command)
|
||||||
|
#print(f"verify:{verify}")
|
||||||
|
with open(f"{limit_file}.verify", 'w') as file:
|
||||||
|
file.write(verify)
|
||||||
|
return
|
||||||
|
|
||||||
|
def bakup_limit(dbusname,arch):
|
||||||
|
try:
|
||||||
|
limit_file="/etc/dbus-1/conf/"+dbusname+".limit"
|
||||||
|
bak_limit_file=limit_file+".bak"
|
||||||
|
verify_file="/etc/dbus-1/conf/"+dbusname+".limit.verify"
|
||||||
|
bak_verify_file=verify_file+".bak"
|
||||||
|
tmp_limit_file=limit_file+".tmp"
|
||||||
|
tmp_verify_file=tmp_limit_file+".verify"
|
||||||
|
if (not os.path.isfile(bak_limit_file)) and (not os.path.isfile(bak_verify_file)) and os.path.isfile(limit_file) and os.path.isfile(verify_file):
|
||||||
|
copy_file(limit_file,bak_limit_file)
|
||||||
|
copy_file(verify_file,bak_verify_file)
|
||||||
|
#prog_path=os.getcwd()+"/../data/DBus/SystemBus/system_bus_check.py"
|
||||||
|
#absolute_path = os.path.abspath(prog_path)
|
||||||
|
#print(f"absolute_path={absolute_path}")
|
||||||
|
add_limit(tmp_limit_file)
|
||||||
|
calc_verify(tmp_limit_file,arch)
|
||||||
|
copy_file(tmp_verify_file,verify_file)
|
||||||
|
copy_file(tmp_limit_file,limit_file)
|
||||||
|
remove_file(tmp_verify_file)
|
||||||
|
remove_file(tmp_limit_file)
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f"bakup_limit failed: {e}")
|
||||||
|
|
||||||
|
def restore_limit(dbusname,arch):
|
||||||
|
try:
|
||||||
|
limit_file="/etc/dbus-1/conf/"+dbusname+".limit"
|
||||||
|
bak_limit_file=limit_file+".bak"
|
||||||
|
verify_file="/etc/dbus-1/conf/"+dbusname+".limit.verify"
|
||||||
|
bak_verify_file=verify_file+".bak"
|
||||||
|
if os.path.isfile(bak_limit_file) and os.path.isfile(bak_verify_file):
|
||||||
|
copy_file(bak_verify_file,verify_file)
|
||||||
|
copy_file(bak_limit_file,limit_file)
|
||||||
|
remove_file(bak_limit_file)
|
||||||
|
remove_file(bak_verify_file)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"restore_limit failed: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
if len(sys.argv) <= 3:
|
||||||
|
print('\n%s -h for help.' % (sys.argv[0]))
|
||||||
|
exit(0)
|
||||||
|
if sys.argv[1] == "bakup":
|
||||||
|
bakup_limit(sys.argv[2],sys.argv[3])
|
||||||
|
elif sys.argv[1] == "restore":
|
||||||
|
restore_limit(sys.argv[2],sys.argv[3])
|
|
@ -0,0 +1,47 @@
|
||||||
|
FormatVer: 20240508
|
||||||
|
ListNames:
|
||||||
|
- org.ukui.GreeterDaemon
|
||||||
|
- com.kylin.file.system.fuse
|
||||||
|
- com.ukui.search.qt.systemdbus
|
||||||
|
- com.kylin.network.enhancement.optimization
|
||||||
|
- com.kylin.screen.rotation
|
||||||
|
- com.settings.daemon.qt.systemdbus
|
||||||
|
- org.ukui.powermanagement
|
||||||
|
- com.miracast.uibcctl
|
||||||
|
- com.kylin.systemupgrade
|
||||||
|
- com.kylin.daq
|
||||||
|
- com.ksc.virus
|
||||||
|
- org.freedesktop.activation
|
||||||
|
- org.ukui.Biometric
|
||||||
|
- org.ukui.libinput.proxy
|
||||||
|
- com.kysec.auth
|
||||||
|
- com.kylin.software.properties
|
||||||
|
- com.kylin.secriskbox
|
||||||
|
- com.kylin.system.proxy
|
||||||
|
- com.kylin.kydevmonit.domainhook
|
||||||
|
- com.kylin.UpgradeStrategies
|
||||||
|
- com.ukui.bluetooth
|
||||||
|
- com.kylin.backupserver
|
||||||
|
- com.kylin.backup
|
||||||
|
- com.kylin.ProcessManagerDaemon
|
||||||
|
- org.freedesktop.miracle.wifi
|
||||||
|
- com.kylin-os-manager
|
||||||
|
- com.ksc.scan
|
||||||
|
- com.kylin.connectivity.manager
|
||||||
|
- com.kylin.preinstall
|
||||||
|
- com.ksc.kysdkinit
|
||||||
|
- com.kylin.boxmanage
|
||||||
|
- com.kylin.logview
|
||||||
|
- com.kylin.network.qt.systemdbus
|
||||||
|
- com.kylin.os.manager.sessionbus
|
||||||
|
- com.kylin.os.manager.systembus
|
||||||
|
- com.kylinusbcreator.systemdbus
|
||||||
|
- org.ukui.groupmanager
|
||||||
|
- org.ukui.KSplash
|
||||||
|
- org.ukui.samba.share.config
|
||||||
|
- com.kylin.kim.backend
|
||||||
|
- com.ksc.defender
|
||||||
|
- com.drivermanager.USBMonitor
|
||||||
|
- com.control.center.qt.systemdbus
|
||||||
|
- com.kylin.kydoctor
|
||||||
|
- com.kylin.kysdk.conf2
|
Loading…
Reference in New Issue