One of the facts which I’ve blogged about was, that I had used an Android app (that does not require root) in order to install a Linux Guest System, on my Google Pixel C Tablet. The version of Linux it’s subscribed to is Debian 10 / Buster. And, the CPU of that tablet is an ARM-64. One of the considerations which need to be made, when setting up this Guest System, is that both RAM and Storage are scarce, the latter because the entire Linux Guest System consists of Application Data, belonging to this one Android app.
One idea which I was pursuing until last night was, to get the Synaptic GUI to work, where the ‘apt-get’ command-line does already work. Either would provide the main way to install software. But the GUI is much nicer, in allowing searches for packages to take place, instead of just package-names being burped on the command-line (blindly), and also, displaying lengthy descriptions of the packages first.
The way I’d need to launch Synaptic is like so:
$ xhost + $ sudo synaptic
The first bug which needs to be dealt with, is This Bug. But, even when that bug has been dealt with, there are more problems facing the use of Synaptic under Debian / Buster. And they all have to do with the fact that the new Synaptic can no longer be used effectively, to search for packages.
First off, in order for the Search Field to display in the toolbar of Synaptic, one needs to install the following:
$ sudo apt-get install apt-xapian-index $ sudo update-apt-xapian-index
This is a process that takes about an hour to complete, and when it has completed, its only result is that the Search Field displays in the Tool-Bar of Synaptic. By itself, this Search Field is useless because it only acts as a filter, on the actual search results, that we get when clicking on the Search Button. And, this process is not optimal in a ‘proot’ed environment, on an Android tablet, because the fully built database takes up more than 200MB.
The actual Search Button has been rendered useless. When told to search both the names and descriptions of packages, the resulting search takes about 20 minutes to complete, and does not become faster the second time, even when we have ‘apt-xapian-index’ installed and set up.
The only other possibility is, only to search the names of packages, which defeats the entire purpose of using Synaptic.
I once had a (Debian 8 / Jessie) Linux Guest System installed the same way, on a Samsung Galaxy Tab S, first generation, and the searches within Synaptic were quick and painless.
(Updated 9/07/2019, 15h15 … )
I could make a guess, as to where the problem really lies, in my attempting to get ‘synaptic’ and ‘apt-xapian-index’ working in the ‘proot’ed environment that I described. The problem might not stem from these two Linux packages, but rather, from how ‘nice’ gets executed from within this environment.
On my ‘real’, Linux computers, every time I launch Synaptic, I see my process monitoring widget display, that ‘update-apt-xapian-index’ is running in nice-time. But there, it never seems to run for more than 20 seconds. And there, I’ve never attempted to perform a search, until that process has finished running. If I did, I might find out that performing a search requires an unreasonable amount of time, on those systems as well.
Well, on my Google Pixel C Tablet, ‘synaptic’ may also be launching ‘update-apt-xapian-index’ to run in the BG, using nice-time. But the way it may be there is, that nice-time slows down a process way too much, just because nice-time is competing with the entire, Android, Host-System. And so the way it may be on that tablet is, that I simply need to wait for ?5 minutes? before performing a search using ‘synaptic’ (after having launched that application), and that then, the search might become faster.
Only, I don’t have a process-monitoring widget under this ‘proot’ed Linux Guest System, and still have the option of performing my inquiries (efficiently) using:
$ apt-cache search <string> $ apt-cache show <package-name>
If I really wanted to follow up on this subject, I could perform the following command, directly after having installed the package:
$ sudo update-apt-xapian-index
And then, after waiting for an hour, I could give the command, just to see how long it takes to run:
$ sudo time nice update-apt-xapian-index -u
If I obtain that for the second time, running this command is much faster than it was for the first time, I’d also know for sure, how long I need to wait, after launching ‘synaptic’, before that application is ready to carry out a search…
But, as I wrote above, I’m presently not comfortable with ‘apt-xapian-index’ taking up 200MB of storage to begin with, so I’ve dropped my pursuit of this subject. Also, simply knowing that, in this delicate environment, I have a database which takes 1 hour to build for the first time, and which can become corrupted, thus requiring a full rebuild, is not satisfactory either.
(Update 9/06/2019, 18h45 : )
There is one avenue which I have followed up on: Simply clicking the Reload Button. All that does, is the equivalent of ‘apt-get update’. It downloads the new package contents from the repositories.
In other words, when certain other testers were restarting Synaptic, and clicking on the Reload Button, they were performing an apt-get update, and then complaining that Synaptic was rebuilding its ‘xapian’ index.