NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
smst
Jul 18, 2023Aspirant
ReadyNAS 104 [6.10.8] - Python 2.7 has disappeared
Hi all, I have a ReadyNAS 104. Last night I checked the dashboard and saw that firmware 6.10.8 was available to install, so I installed it. One of my apps stopped working, and some command-line in...
StephenB
Jul 19, 2023Guru - Experienced User
smst wrote:
So a follow-up: is cups installed as part of the usual firmware?
This is what I see when I look in my own OS partition:
find . *cups* | grep -i cups
./usr/lib/x86_64-linux-gnu/libcups.so.2
./usr/lib/cups
./usr/lib/cups/backend
./usr/lib/cups/backend/smb
./var/lib/dpkg/info/libcups2:amd64.list
./var/lib/dpkg/info/libcups2:amd64.symbols
./var/lib/dpkg/info/libcups2:amd64.shlibs
./var/lib/dpkg/info/libcups2:amd64.postrm
smst
Jul 19, 2023Aspirant
I have a lot more than that, even in /usr/lib, which makes me think I have in fact installed some extras at some point. Since I'm not using the NAS as a print server anyway, I wonder if I should just force the apt-get to update everything then -- it doesn't matter to me if cups breaks, as long as it isn't going to matter to some app that thinks it needs cups to work.
Thanks for the reply -- would you be able to check what you have in terms of /usr/bin/python* please?
- StephenBJul 19, 2023Guru - Experienced User
smst wrote:
Thanks for the reply -- would you be able to check what you have in terms of /usr/bin/python* please?
root@NAS:~# ls -als /usr/bin/python* 4 lrwxrwxrwx 1 root root 9 Mar 16 2015 /usr/bin/python -> python2.7 4 lrwxrwxrwx 1 root root 9 Mar 16 2015 /usr/bin/python2 -> python2.7 root@NAS:~#
# ls /usr/lib/python2.7 _abcoll.pyc dircache.pyc _LWPCookieJar.pyc pstats.py sunau.py abc.pyc dis.pyc macpath.py pstats.pyc sunau.pyc aifc.py dist-packages macpath.pyc pty.py symbol.py aifc.pyc distutils macurl2path.py pty.pyc symbol.pyc antigravity.py doctest.py macurl2path.pyc pyclbr.py symtable.py antigravity.pyc doctest.pyc mailbox.py pyclbr.pyc symtable.pyc anydbm.py DocXMLRPCServer.py mailbox.pyc py_compile.pyc _sysconfigdata.pyc anydbm.pyc DocXMLRPCServer.pyc mailcap.py pydoc_data sysconfig.pyc argparse.egg-info dumbdbm.py mailcap.pyc pydoc.py tabnanny.py argparse.py dumbdbm.pyc markupbase.py pydoc.pyc tabnanny.pyc argparse.pyc dummy_threading.py markupbase.pyc _pyio.py tarfile.py ast.py dummy_threading.pyc md5.pyc _pyio.pyc tarfile.pyc ast.pyc dummy_thread.py mhlib.py Queue.py telnetlib.py asynchat.py dummy_thread.pyc mhlib.pyc Queue.pyc telnetlib.pyc asynchat.pyc email mimetools.py quopri.py tempfile.pyc asyncore.py encodings mimetools.pyc quopri.pyc test asyncore.pyc ensurepip mimetypes.py random.pyc textwrap.pyc atexit.pyc filecmp.py mimetypes.pyc repr.pyc this.py audiodev.py filecmp.pyc MimeWriter.py re.pyc this.pyc audiodev.pyc fileinput.py MimeWriter.pyc rexec.py _threading_local.py base64.pyc fileinput.pyc mimify.py rexec.pyc _threading_local.pyc BaseHTTPServer.py fnmatch.pyc mimify.pyc rfc822.py threading.py BaseHTTPServer.pyc formatter.py modulefinder.py rfc822.pyc threading.pyc Bastion.py formatter.pyc modulefinder.pyc rlcompleter.py timeit.py Bastion.pyc fpformat.py _MozillaCookieJar.py rlcompleter.pyc timeit.pyc bdb.py fpformat.pyc _MozillaCookieJar.pyc robotparser.py toaiff.py bdb.pyc fractions.py multifile.py robotparser.pyc toaiff.pyc binhex.py fractions.pyc multifile.pyc runpy.pyc tokenize.pyc binhex.pyc ftplib.py multiprocessing sched.py token.pyc bisect.pyc ftplib.pyc mutex.py sched.pyc traceback.pyc bsddb functools.pyc mutex.pyc sets.py trace.py calendar.pyc __future__.pyc netrc.py sets.pyc trace.pyc CGIHTTPServer.py genericpath.pyc netrc.pyc sgmllib.py tty.py CGIHTTPServer.pyc getopt.pyc new.py sgmllib.pyc tty.pyc cgi.py getpass.py new.pyc sha.pyc types.pyc cgi.pyc getpass.pyc nntplib.py shelve.py unittest cgitb.py gettext.py nntplib.pyc shelve.pyc urllib2.py cgitb.pyc gettext.pyc ntpath.py shlex.py urllib2.pyc chunk.py glob.pyc ntpath.pyc shlex.pyc urllib.py chunk.pyc gzip.py nturl2path.py shutil.pyc urllib.pyc cmd.py gzip.pyc nturl2path.pyc SimpleHTTPServer.py urlparse.py cmd.pyc hashlib.pyc numbers.py SimpleHTTPServer.pyc urlparse.pyc codecs.pyc heapq.pyc numbers.pyc SimpleXMLRPCServer.py UserDict.pyc codeop.py hmac.py opcode.pyc SimpleXMLRPCServer.pyc UserList.py codeop.pyc hmac.pyc optparse.pyc sitecustomize.pyc UserList.pyc code.py hotshot os2emxpath.py site.pyc user.py code.pyc htmlentitydefs.py os2emxpath.pyc smtpd.py user.pyc collections.pyc htmlentitydefs.pyc os.pyc smtpd.pyc UserString.py colorsys.py htmllib.py _osx_support.py smtplib.py UserString.pyc colorsys.pyc htmllib.pyc _osx_support.pyc smtplib.pyc uuid.py commands.py HTMLParser.py pdb.doc sndhdr.py uuid.pyc commands.pyc HTMLParser.pyc pdb.py sndhdr.pyc uu.py compileall.pyc httplib.py pdb.pyc socket.pyc uu.pyc compiler httplib.pyc __phello__.foo.py SocketServer.py warnings.pyc ConfigParser.pyc ihooks.py __phello__.foo.pyc SocketServer.pyc wave.py contextlib.pyc ihooks.pyc pickle.pyc sqlite3 wave.pyc cookielib.py imaplib.py pickletools.py sre_compile.pyc weakref.pyc cookielib.pyc imaplib.pyc pickletools.pyc sre_constants.pyc _weakrefset.pyc Cookie.py imghdr.py pipes.py sre_parse.pyc webbrowser.py Cookie.pyc imghdr.pyc pipes.pyc sre.pyc webbrowser.pyc copy.pyc importlib pkgutil.pyc ssl.pyc whichdb.py copy_reg.pyc imputil.py platform.pyc stat.pyc whichdb.pyc cProfile.py imputil.pyc plat-x86_64-linux-gnu statvfs.py wsgiref cProfile.pyc inspect.pyc plistlib.py statvfs.pyc wsgiref.egg-info csv.py io.pyc plistlib.pyc StringIO.pyc xdrlib.py csv.pyc json popen2.pyc stringold.py xdrlib.pyc ctypes keyword.pyc poplib.py stringold.pyc xml curses lib2to3 poplib.pyc stringprep.pyc xmllib.py dbhash.py lib-dynload posixfile.py string.pyc xmllib.pyc dbhash.pyc lib-tk posixfile.pyc _strptime.py xmlrpclib.py decimal.py LICENSE.txt posixpath.pyc _strptime.pyc xmlrpclib.pyc decimal.pyc linecache.pyc pprint.py struct.pyc zipfile.py difflib.py locale.pyc pprint.pyc subprocess.pyc zipfile.pyc difflib.pyc logging profile.py sunaudio.py dircache.py _LWPCookieJar.py profile.pyc sunaudio.pyc
I am running 6.10.9. Though I never explicitly installed python, I did install plex a long time ago - which does include python2.7 I might not have installed plex on one of my backup NAS - I'll check when I have a chance and I'll follow up..
- StephenBJul 19, 2023Guru - Experienced User
Definitely due to plex. My backup Pro 6 NAS doesn't have Plex installed, and just has this:
root@PRO:~# ls -als /usr/lib/python2.7 total 0 0 drwxr-xr-x 1 root root 26 Aug 27 2018 . 0 drwxr-xr-x 1 root root 1680 Jun 4 15:11 .. 0 drwxr-xr-x 1 root root 20 Jun 4 15:10 dist-packages
- SandsharkJul 19, 2023Sensei - Experienced User
smst wrote:Since I'm not using the NAS as a print server anyway, I wonder if I should just force the apt-get to update everything then -- it doesn't matter to me if cups breaks, as long as it isn't going to matter to some app that thinks it needs cups to work.
If you mean doing an apt-get upgrade, then absolutely not. That will break a whole lot more (assuming you've already dealt with the Debian 8 repository being archived, so it works at all).
- smstJul 19, 2023Aspirant
I didn't, but I appreciate the warning. I mean that apt says in its error output that I could run:
apt-get -f install
to make the python2.7 install run. I just want Python 2.7 back, to be able to run an app that relies on it. (As I said, I don't get why a firmware update would remove python2.7 but leave python2.6.)
- smstJul 21, 2023Aspirant
I have decided to simply build Python 2.7 from source, and have now discovered that there's no 'make' here! Before I go looking for how to install that, I'd like to check here again: is there a ReadyNAS-specific solution here, perhaps a NetGear repo where I can get a working 'make'?
Related Content
NETGEAR Academy

Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology!
Join Us!