From 156606cd7e449d6d6ccc5dc0b7db2932b5c07509 Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 4 Aug 2023 10:05:38 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E8=BD=AF=E4=BB=B6=E6=BA=90=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E9=A1=B5=E9=9D=A2=E4=B8=8B=E4=B8=80=E6=AD=A5=E6=8C=89?= =?UTF-8?q?=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/MT_repo.html | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/templates/MT_repo.html b/templates/MT_repo.html index b4d331c..72d97f7 100755 --- a/templates/MT_repo.html +++ b/templates/MT_repo.html @@ -49,6 +49,7 @@

+ @@ -73,6 +74,15 @@ alert("确定关闭迁移软件吗"); } + $("#repo_pwd").bind("input propertychange",function(event){ + if ($("#repo_pwd").val() != "") { + document.getElementById('check_repo').style.opacity = 1 + document.getElementById('check_repo').removeAttribute("disabled"); + } else { + document.getElementById('check_id').style.opacity = 0.2 + document.getElementById('check_id').setAttribute("disabled", true); + } + }); -- Gitee From 51f42fed013606971955262daa566b89c209694e Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 4 Aug 2023 10:20:25 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E5=89=8D=E7=AB=AF:=E8=BD=AF=E4=BB=B6?= =?UTF-8?q?=E6=BA=90=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/MT_repo.html | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/templates/MT_repo.html b/templates/MT_repo.html index 72d97f7..4ad8ec4 100755 --- a/templates/MT_repo.html +++ b/templates/MT_repo.html @@ -70,6 +70,23 @@ $("#loading").hide();   } + function save() { + document.getElementById("repo2").style.display = "none" + document.getElementById("check_repo").setAttribute("disabled", true); + document.getElementById("check_repo").style.opacity = "0.2" + var check_repo_data_json={"mod":"check_repo"}; + check_repo_data_json.repo_pwd = document.getElementById("repo_pwd").value; + check_repo_data_json.ip = "tasks" + document.getElementById("repo1").style.display = "" + $.ajax({ + async:true, + type: 'post', + dataType: 'json', + url: 'MT_check_repo', + data: $.toJSON(check_repo_data_json) + }); //ajax end + } + function close_tool() { alert("确定关闭迁移软件吗"); } -- Gitee From 6bdfe0f8ad16d51ea6eb5002dd7785089ad98986 Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 4 Aug 2023 10:26:35 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96repo=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- func/check.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/func/check.py b/func/check.py index 02e27b5..bb0de11 100644 --- a/func/check.py +++ b/func/check.py @@ -125,4 +125,32 @@ def init_remove_oldrepo(): fdst.write(repo+'\n'+backup_comment+content) fdst.close() fsrc.close() - os.remove(path_file) \ No newline at end of file + os.remove(path_file) + + +#初始化repo文件 +def initRepoFile(baseurl): + reposdir = '/etc/yum.repos.d/' + h = 0 + if re.match('file:',baseurl): + str0, path = baseurl.split('://',1) + path = '/' + path.strip('/') + '/' + else: + h = 1 + if re.fullmatch('8',version[0]): + path_appstream = baseurl+'/AppStream' + path_baseos = baseurl+'/BaseOS' + path_310 = baseurl+'/kernel-3.10' + path_418 = baseurl+'/kernel-4.18' + path_510 = baseurl+'/kernel-5.10' + + repostr_uos = '''[UniontechOS-AppStream]\nname = UniontechOS AppStream\nbaseurl = '''+path_appstream.strip('\n')+'''\nenabled = 1\ngpgcheck = 0\n\n[UniontechOS-BaseOS]\nname = UniontechOS BaseOS\nbaseurl = '''+path_baseos.strip('\n')+'''\nenabled = 1\ngpgcheck = 0\n\n[UniontechOS-kernel-4.18.0]\nname = UniontechOS Kernel-4.18.0\nbaseurl = '''+path_418.strip('\n')+'''\nenabled = 0\ngpgcheck = 0\nskip_if_unavailable = 1\n\n[UniontechOS-kernel-5.10.0]\nname = UniontechOS Kernel-5.10.0\nbaseurl = '''+path_510.strip('\n')+'''\nenabled = 0\ngpgcheck = 0\nskip_if_unavailable = 1\n\n +''' + else: + path_310 = baseurl+'/kernel-3.10' + repostr_uos = '''[UniontechOS-AppStream]\nname = UniontechOS AppStream\nbaseurl = '''+baseurl.strip('\n')+'''\nenabled = 1\ngpgcheck = 0\n\n[UniontechOS-kernel-3.10.0]\nname = UniontechOS Kernel-3.10.0\nbaseurl = '''+path_310.strip('\n')+'''\nenabled = 0\ngpgcheck = 0\nskip_if_unavailable = 1\n + ''' + repofile = os.path.join(reposdir, 'switch-to-uos.repo') + with open(repofile,'w') as f_repo: + f_repo.write(repostr_uos) + f_repo.close() \ No newline at end of file -- Gitee From f088c2fa8180a715df33d53584d1e5dfed00e1a8 Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 4 Aug 2023 11:10:41 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E6=A3=80=E6=B5=8Brepo=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- func/check.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/func/check.py b/func/check.py index bb0de11..cacc1b2 100644 --- a/func/check.py +++ b/func/check.py @@ -153,4 +153,25 @@ def initRepoFile(baseurl): repofile = os.path.join(reposdir, 'switch-to-uos.repo') with open(repofile,'w') as f_repo: f_repo.write(repostr_uos) - f_repo.close() \ No newline at end of file + f_repo.close() + + +#检测repo文件创建缓存 +def checkRepoMakeCache(): + os.system('yum clean all') + os.system('yum makecache') + os_version_ret = platform.dist() + version = os_version_ret[1].split('.',-1) + ret = os.path.exists('/var/cache/dnf/UniontechOS-AppStream.solv') + if ret: + ret = os.path.exists('/var/cache/dnf/UniontechOS-BaseOS.solv') + if ret or re.fullmatch('7',version[0]): + return 0 + else: + return 1 + else: + if re.fullmatch('7',version[0]): + ret = os.path.exists('/var/cache/yum/x86_64/7/UniontechOS-AppStream/repomd.xml') + if ret: + return 0 + return 1 \ No newline at end of file -- Gitee From e2dd08086ff02fb747a9c48a51399c0826c70c3b Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 4 Aug 2023 11:14:54 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E5=90=8E=E7=AB=AF:=E8=BD=AF=E4=BB=B6?= =?UTF-8?q?=E6=BA=90=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- func/check.py | 24 +++++++++++++++++++++++- views/migration.py | 1 + 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/func/check.py b/func/check.py index cacc1b2..3d330a1 100644 --- a/func/check.py +++ b/func/check.py @@ -174,4 +174,26 @@ def checkRepoMakeCache(): ret = os.path.exists('/var/cache/yum/x86_64/7/UniontechOS-AppStream/repomd.xml') if ret: return 0 - return 1 \ No newline at end of file + return 1 + + +#检测repo +def check_repo(data_j): + uos_sysmig_conf = json.loads(getSysMigConf()) + AGENT_IP = json.loads(uos_sysmig_conf).get('agentip').strip()[1:-1] + baseurl = json.loads(data_j).get('repo_pwd') + keylist = None + valuelist = None + data = None + init_remove_oldrepo() + initRepoFile(baseurl) + state = checkRepoMakeCache() + + if state == 0: + keylist = ['ip','res','data'] + valuelist = [AGENT_IP,state,'连接成功'] + else: + data = '下载失败,请检查您的软件源' + keylist = ['ip','res','error'] + valuelist = [AGENT_IP,state,data] + return list_to_json(keylist,valuelist) \ No newline at end of file diff --git a/views/migration.py b/views/migration.py index f2f4abb..20157c9 100644 --- a/views/migration.py +++ b/views/migration.py @@ -1,4 +1,5 @@ from flask import * +import os from client_requests import * from func.utils import * -- Gitee From def70175d389f16f9f9bd56be0d2a97f740d97c5 Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 4 Aug 2023 11:17:27 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E5=90=8E=E7=AB=AF:=E8=BD=AF=E4=BB=B6?= =?UTF-8?q?=E6=BA=90=E6=A3=80=E6=B5=8B=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- migration-tools-client.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/migration-tools-client.py b/migration-tools-client.py index c3f899c..7926bde 100644 --- a/migration-tools-client.py +++ b/migration-tools-client.py @@ -11,6 +11,7 @@ mods = { 'check_storage': check.check_storage, 'check_os': check.check_os, 'check_user': check.check_user, + 'check_repo': check.check_repo, } def check_methods(): @@ -44,6 +45,13 @@ def mt_check_user(): return Response(mod, content_type='application/json') +@app.route('/check_repo', methods=['GEt', 'POST']) +def mt_check_repo(): + mod = check_methods() + if mod: + return Response(mod, content_type='application/json') + + if __name__ == '__main__': app.config["JSON_AS_ASCII"] = False uos_sysmig_conf = json.loads(getSysMigConf()) -- Gitee From b302b0d59730b7863344cb42faa6cef4150ccce1 Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 4 Aug 2023 13:28:03 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96repo=E6=96=87=E4=BB=B6=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- func/check.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/func/check.py b/func/check.py index 3d330a1..280b299 100644 --- a/func/check.py +++ b/func/check.py @@ -130,6 +130,8 @@ def init_remove_oldrepo(): #初始化repo文件 def initRepoFile(baseurl): + os_version_ret = platform.dist() + version = os_version_ret[1].split('.',-1) reposdir = '/etc/yum.repos.d/' h = 0 if re.match('file:',baseurl): -- Gitee From e913cd5819b8488a4bdd60827ea970af6e13965d Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 4 Aug 2023 17:08:50 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E5=89=8D=E7=AB=AF:=E8=BD=AF=E4=BB=B6?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/MT_repo.html | 44 ++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/templates/MT_repo.html b/templates/MT_repo.html index 4ad8ec4..bac6a09 100755 --- a/templates/MT_repo.html +++ b/templates/MT_repo.html @@ -70,26 +70,36 @@ $("#loading").hide();   } - function save() { - document.getElementById("repo2").style.display = "none" - document.getElementById("check_repo").setAttribute("disabled", true); - document.getElementById("check_repo").style.opacity = "0.2" - var check_repo_data_json={"mod":"check_repo"}; - check_repo_data_json.repo_pwd = document.getElementById("repo_pwd").value; - check_repo_data_json.ip = "tasks" - document.getElementById("repo1").style.display = "" - $.ajax({ - async:true, - type: 'post', - dataType: 'json', - url: 'MT_check_repo', - data: $.toJSON(check_repo_data_json) + function save() { + document.getElementById("repo2").style.display = "none" + document.getElementById("check_repo").setAttribute("disabled", true); + document.getElementById("check_repo").style.opacity = "0.2" + var check_repo_data_json={"mod":"check_repo"}; + check_repo_data_json.repo_pwd = document.getElementById("repo_pwd").value; + check_repo_data_json.ip = "tasks" + document.getElementById("repo1").style.display = "" + $.ajax({ + async:true, + type: 'post', + dataType: 'json', + url: 'MT_check_repo', + data: $.toJSON(check_repo_data_json), + success: function(res) { + res=$.evalJSON(res); + if (res.res == 1) { + document.getElementById("repo1").style.display = "none" + document.getElementById("check_repo").removeAttribute("disabled"); + document.getElementById("check_repo").style.opacity = "1" + document.getElementById("repo2").style.display = "" + document.getElementById("repo_info").innerHTML = res.error + } + } }); //ajax end } - function close_tool() { + function close_tool() { alert("确定关闭迁移软件吗"); - } + } $("#repo_pwd").bind("input propertychange",function(event){ if ($("#repo_pwd").val() != "") { @@ -104,4 +114,4 @@ - \ No newline at end of file + -- Gitee From 357490babc5e1c06d0a1596e07fc0b2a65ca25a3 Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 4 Aug 2023 17:12:26 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BD=AF=E4=BB=B6?= =?UTF-8?q?=E6=BA=90=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/MT_repo.html | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/templates/MT_repo.html b/templates/MT_repo.html index bac6a09..11b5e6c 100755 --- a/templates/MT_repo.html +++ b/templates/MT_repo.html @@ -42,6 +42,17 @@ +

例如:

+

1.本地仓库

+

file:///mnt/iso/AppStream

+

file:///mnt/iso/BaseOS

+

file:///mnt/iso/Kernel-4.18

+

请输入:file:///mnt/iso

+

1.在线仓库

+

http://0.0.0.0/iso/AppStream

+

http://0.0.0.0/iso/BaseOS

+

http://0.0.0.0/iso/Kernel-4.18

+

请输入:http://0.0.0.0/iso

-- Gitee From ee52cdbb603538c5d1faaa3dc13e155082f2084e Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 4 Aug 2023 17:47:34 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E6=B7=BB=E5=8A=A0kernel=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/MT_kernel.html | 90 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100755 templates/MT_kernel.html diff --git a/templates/MT_kernel.html b/templates/MT_kernel.html new file mode 100755 index 0000000..ed10a4d --- /dev/null +++ b/templates/MT_kernel.html @@ -0,0 +1,90 @@ + + + + + + + 管理首页 | 统信迁移工具 + + + + + + + +
+ +
+ + + + + + +
+

当前系统版本内核为: 5.10.29-amd64

+
+ +
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+ + +
+ +
+
+ + + + + + + + + + + + + -- Gitee