引言
最近心血来潮开始折腾自己的NAS,把原来的windows系统去掉,安装了一个openmediavault(一个基于debian的操作系统),但在做普通的apt update时,却出现了问题。
错误提示:
# apt update
Get:1 file:/var/cache/openmediavault/archives InRelease
Ign:1 file:/var/cache/openmediavault/archives InRelease
Get:2 file:/var/cache/openmediavault/archives Release
Ign:2 file:/var/cache/openmediavault/archives Release
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives Translation-en_US
Get:5 file:/var/cache/openmediavault/archives Translation-en
Ign:5 file:/var/cache/openmediavault/archives Translation-en
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives Translation-en_US
Get:5 file:/var/cache/openmediavault/archives Translation-en
Ign:5 file:/var/cache/openmediavault/archives Translation-en
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives Translation-en_US
Get:5 file:/var/cache/openmediavault/archives Translation-en
Ign:5 file:/var/cache/openmediavault/archives Translation-en
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives Translation-en_US
Get:5 file:/var/cache/openmediavault/archives Translation-en
Ign:5 file:/var/cache/openmediavault/archives Translation-en
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives Translation-en_US
Get:5 file:/var/cache/openmediavault/archives Translation-en
Ign:5 file:/var/cache/openmediavault/archives Translation-en
Get:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives Translation-en_US
Get:5 file:/var/cache/openmediavault/archives Translation-en
Ign:5 file:/var/cache/openmediavault/archives Translation-en
Ign:6 http://mirrors.ustc.edu.cn/debian stretch InRelease
Get:7 http://mirrors.ustc.edu.cn/debian stretch-updates InRelease [91.0 kB]
Hit:8 http://security.debian.org/debian-security stretch/updates InRelease
Hit:9 http://mirrors.ustc.edu.cn/debian stretch Release
Hit:11 http://packages.openmediavault.org/public arrakis InRelease
Get:12 http://mirrors.ustc.edu.cn/debian stretch-updates/main Sources.diff/Index [8,116 B]
Hit:13 https://download.docker.com/linux/debian stretch InRelease
Get:14 http://mirrors.ustc.edu.cn/debian stretch-updates/main amd64 Packages.diff/Index [8,116 B]
Hit:15 https://openmediavault.github.io/packages arrakis InRelease
Get:16 http://mirrors.ustc.edu.cn/debian stretch-updates/main Sources 2019-03-27-2010.32.pdiff [471 B]
Get:16 http://mirrors.ustc.edu.cn/debian stretch-updates/main Sources 2019-03-27-2010.32.pdiff [471 B]
Get:18 http://mirrors.ustc.edu.cn/debian stretch-updates/main amd64 Packages 2019-03-27-2010.32.pdiff [531 B]
Get:18 http://mirrors.ustc.edu.cn/debian stretch-updates/main amd64 Packages 2019-03-27-2010.32.pdiff [531 B]
Hit:19 https://downloads.plex.tv/repo/deb ./public InRelease
Get:10 http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease [91.9 kB]
Get:20 http://cdn-fastly.deb.debian.org/debian stretch-backports/main amd64 Packages.diff/Index [27.8 kB]
Get:21 http://120.52.51.13/cdn-fastly.deb.debian.org/debian stretch-backports/main amd64 Packages 2019-03-27-2010.32.pdiff [449 B]
Get:21 http://120.52.51.13/cdn-fastly.deb.debian.org/debian stretch-backports/main amd64 Packages 2019-03-27-2010.32.pdiff [449 B]
Ign:22 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch InRelease
Ign:23 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch InRelease
Ign:24 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch InRelease
Get:25 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch Release [4,389 B]
Hit:25 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch Release
Get:27 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch Release [3,540 B]
Hit:27 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch Release
Get:29 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch Release [3,540 B]
Hit:29 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch Release
Fetched 228 kB in 7s (32.1 kB/s)
Exception ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x7fd62f0677b8>
Traceback (most recent call last):
File "/usr/lib/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable
Exception ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x7fd62f0677b8>
Traceback (most recent call last):
File "/usr/lib/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
以上代码中的倒数几行有明显python3.5错误提示,weakref.py的117行执行错误。
解决办法
打开 /usr/lib/python3.5/weakref.py 文件,做如下编辑:
把第109行改为:
def remove(wr, selfref=ref(self), _atomic_removal=_remove_dead_weakref):
并且把第117行改为_atomic_removal(d, wr.key)
解决后运行apt update
# apt update Get:1 file:/var/cache/openmediavault/archives InRelease Ign:1 file:/var/cache/openmediavault/archives InRelease Get:2 file:/var/cache/openmediavault/archives Release Ign:2 file:/var/cache/openmediavault/archives Release Get:3 file:/var/cache/openmediavault/archives Packages Ign:3 file:/var/cache/openmediavault/archives Packages Get:4 file:/var/cache/openmediavault/archives Translation-en_US Ign:4 file:/var/cache/openmediavault/archives Translation-en_US Get:5 file:/var/cache/openmediavault/archives Translation-en Ign:5 file:/var/cache/openmediavault/archives Translation-en Get:3 file:/var/cache/openmediavault/archives Packages Ign:3 file:/var/cache/openmediavault/archives Packages Get:4 file:/var/cache/openmediavault/archives Translation-en_US Ign:4 file:/var/cache/openmediavault/archives Translation-en_US Get:5 file:/var/cache/openmediavault/archives Translation-en Ign:5 file:/var/cache/openmediavault/archives Translation-en Get:3 file:/var/cache/openmediavault/archives Packages Ign:3 file:/var/cache/openmediavault/archives Packages Get:4 file:/var/cache/openmediavault/archives Translation-en_US Ign:4 file:/var/cache/openmediavault/archives Translation-en_US Get:5 file:/var/cache/openmediavault/archives Translation-en Ign:5 file:/var/cache/openmediavault/archives Translation-en Get:3 file:/var/cache/openmediavault/archives Packages Ign:3 file:/var/cache/openmediavault/archives Packages Get:4 file:/var/cache/openmediavault/archives Translation-en_US Ign:4 file:/var/cache/openmediavault/archives Translation-en_US Get:5 file:/var/cache/openmediavault/archives Translation-en Ign:5 file:/var/cache/openmediavault/archives Translation-en Get:3 file:/var/cache/openmediavault/archives Packages Ign:3 file:/var/cache/openmediavault/archives Packages Get:4 file:/var/cache/openmediavault/archives Translation-en_US Ign:4 file:/var/cache/openmediavault/archives Translation-en_US Get:5 file:/var/cache/openmediavault/archives Translation-en Ign:5 file:/var/cache/openmediavault/archives Translation-en Get:3 file:/var/cache/openmediavault/archives Packages Get:4 file:/var/cache/openmediavault/archives Translation-en_US Ign:4 file:/var/cache/openmediavault/archives Translation-en_US Get:5 file:/var/cache/openmediavault/archives Translation-en Ign:5 file:/var/cache/openmediavault/archives Translation-en Ign:6 http://mirrors.ustc.edu.cn/debian stretch InRelease Hit:7 http://mirrors.ustc.edu.cn/debian stretch-updates InRelease Hit:8 http://mirrors.ustc.edu.cn/debian stretch Release Hit:9 http://security.debian.org/debian-security stretch/updates InRelease Hit:11 http://packages.openmediavault.org/public arrakis InRelease Hit:12 https://download.docker.com/linux/debian stretch InRelease Hit:13 https://openmediavault.github.io/packages arrakis InRelease Hit:15 https://downloads.plex.tv/repo/deb ./public InRelease Hit:14 http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease Ign:16 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch InRelease Ign:17 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch InRelease Ign:18 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch InRelease Get:19 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch Release [4,389 B] Hit:19 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch Release Get:21 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch Release [3,540 B] Hit:21 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch Release Get:23 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch Release [3,540 B] Hit:23 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch Release Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date.
可以看到,此处再没有报错。
完美解决~感谢~