I’m new to Linux, so doing something as simple as installing a new piece of software is a real experience. Anyways, I installed a new web browser, and I noticed it’s not showing up in the list of installed software in the Software Manager. Let’s say I wanted to update or uninstall this web browser, how would I go about doing this if it isn’t showing up in the Software Manager?
NOTE: I installed this web browser by right-clicking the .deb package, and selecting “Open With Other Application”. From there, I selected “Software Install”. Is this the correct way to install software in Linux? Should I have done this a different way? Any advice would be helpful.
Either use the GUI application to install software (which in the case of PureOS would be the PureOS Store application) or use the shell command line (sudo apt install xxx) where xxx is the correct name of the package (which may require some researching on the internet).
Using the PureOS Store application, you won’t be able to install any software that is not in a repository - and that is what you appear to be attempting to do.
My advice: For where you are at the moment in your Linux journey, it may be best to avoid installing random software.
But OK let’s say you really really want to install SlimJet. You need to ask them whether they are providing a repository or whether they are just providing a .deb file. Particularly in the latter case, you need to ask them what the dependencies are i.e. what other software you need installed in order for that browser to work and, for that other software, what versions are required. You should ask them what distros and release versions they in some sense “support” e.g. Debian 99? Ubuntu 99.99? I doubt they have heard of PureOS so it is unlikely that they specifically provide a download for PureOS (amberorbyzantium).
I guess you would check their web site periodically and see whether an updated version has been released and is available for download - then repeat the original process on the new .deb file.
sudo dpkg -P xxx
to remove the software and all the associated configuration and settings
or
sudo dpkg -r xxx
to remove the software but keep the associated configuration and settings
Or you could take a punt e.g. sudo dpkg-query --list | grep slimjet
or such other plausible guesses as may be needed.
If you find it then the output from this command should comprise 5 columns (in an unfortunately long line that messes up the formatting). Those five columns are:
package status
package name
package version
architecture
description
I would expect the package status to be ii.
I don’t think you have mentioned what hardware you are using. Assuming Librem 14 then I would expect the architecture to be amd64.
The description should obviously be something that suggests that you are looking at the right package.
Wait…so what you’re saying is that, in Linux, there’s no way to know what software is installed to your machine at any given point in time, or even what the name of the software is? That’s insane! Obvious, glaring security issues aside, this is extremely user unfriendly. In Windows, all installed programs are listed under the Control Panel’s “Programs and Features” list which makes removal of said programs extremely easy. And that’s even if you use it. Since it’s easy enough to find all programs and their relevant files, finding and running the uninstaller file is just as easy as using the Control Panel. Heck, most software developers bundle the uninstaller in the same Start Menu folder as the executable shortcut.
Here in Linux, this all seems like a mess. Installing a program is hard enough. Removing a program is an impossible task. Aren’t you guys supposed to be touting user freedom?? This is more locked down than MacOS!
tells you exactly what packages are installed on your machine.
What I was suggesting is that if you installed something without knowing its name then it can be difficult to find out the name retrospectively - and that is also true in Windows from what I remember from decades ago. If you list all the software installed in Windows, much of it will have obscure unrecognised names and you won’t be sure who installed it and why or when - and the longer the Windows computer has been in use, the more that will be true (because there will be more “cruft” installed).
It probably does seem like that if you come at it with the mindset that it is going to be the same as Windows. My advice would be to accept from Day 1 that things will work differently from Windows - and to take the time to understand how things do work.
That’s closer to what I’m looking for, though it seems to also throw every single System file and library into the mix. That makes it difficult to find what I’m looking for (it ended up loading 1,780 items; it’s not practical to sort through them all).
All right, here’s your chance to prove it. Here are screenshots of the Windows Control Panel Programs and Features. Show me what you’d be confused about or what is unrecognizable. I’ll PayPal you $10 per item:
What doesn’t make sense about any of those images? It’s simple, informative, and even the most technologically illiterate of people can figure this out. All the programs that are installed on the computer are listed here (with no system files/DLLs/etc. cluttering the list) with the program name, the install date, and the publisher listed in neat rows. Even if you don’t understand something, or feel like something shouldn’t be in this list, removal is a breeze! You simply select the item you don’t want, and click the Uninstall button in the top right corner of the header (second picture)!
Again, if you can show me something about this setup that a reasonable person wouldn’t be able to understand, I’ll PayPal you $10 per thing. Compare that to having to type some obscure command into Terminal, and sifting through 1,000+ system files/libraries/etc. in hopes of finding a program that you may or may not have installed and it’s the technological equivalent of finding a needle in a haystack. Linux desperately needs a Windows-esque Control Panel in order to make this operating system approachable to the general public.
wget https://www.slimjetbrowser.com/release/slimjet_amd64.deb sudo dpkg -i slimjet_amd64.deb
Selecting previously unselected package slimjet.
(Reading database … XXXXXX files and directories currently installed.)
Preparing to unpack slimjet_amd64.deb …
Unpacking slimjet (33.0.0.0) …
If no dependency problems preventing configuration of slimjet: sudo dpkg-query --list | grep slimjet
iU slimjet 33.0.0.0 amd64 Fast, smart and powerful browser based on Blink
Thanks, there is always something that I learn from you! Anyway (just this time ) my very next command was: sudo apt-get --purge remove slimjet.
Not all Linux distros are the same. On my system (Linux Mint with MATE desktop environment), I click on Menu, then Applications, then All (if I want to see all programs in one list). That excludes all the system files/libraries/etc.
We may have got off on a tangent here, as I think one of the implied points up-thread was that the package name may differ from the installed program name sometimes. For instance, you may see the program “Dictionary” in your menu, but the actual package name might be “gnome-dictionary.” Which is where the command line can help. But there are other non-command ways of finding those package names as well, such as searching the installed packages in Synaptic Package Manager (if that’s installed), or entering the edit function of the main menu to display properties about a specific program, etc.
Many Linux users, when helping new adopters, have the habit of starting with command-line help rather than GUI methods, because GUIs can differ drastically from one flavor of Linux to the next. Plus the command-line method can do more and reveal more, especially when there are errors. But I think you will find that there are nearly always multiple ways of accomplishing what you want to do.
Does that work if the program is installed directly via the backdoor? (refer OP)
If this topic has taught us anything … it is troublesome that a newb can install a package via a GUI (right click a .deb file) but then no other GUI operations are available (e.g. list installed software, uninstall) because apt / the package manager has not been used to install the package, if that is the case.
I typically don’t download programs directly, unless you count adding a repo, then the .deb via command line (for instance, Pale Moon browser), which does place it in the menu. Also, installing the Protonmail bridge in this manner adds it in the menu.
Not sure if these amount to the same thing, ultimately, as double-clicking a .deb (or using an installer) to add a program…?
On some occasions I’ve had to enter the Edit function of the main menu to enable (i.e. make visible in the menu) a newly installed program that wasn’t showing in the menu yet, but it generally takes care of itself after a a while, or a reboot, etc. Haven’t had to do that lately, though.
Neither do I - unless that is the only option because the provider does not offer a repo.
The behaviour may depend on the particular “software manager” because I just had a look on a computer running Raspbian where I know that I installed a .deb directly from the command line (using dpkg -i ...) and it shows up in “Add/Remove Programs” (with the same caveat as above that you have to know the package name or a word in the description in order to search for it in among thousands of installed packages).
Don’t suppose you have installed any .deb files directly on your Librem 5 so that you could check the behaviour on PureOS?
The way things are packaged is mostly a matter of convention, so if you jump from one ecosystem to another, you will almost always be confused. This also appliesto switching Linux distributions, because distributing software is their core competence.
That being said, most distributions package everything inside packages, including a thousand libraries at work on your system. So if you install another program from a .deb, there’s no guarantee that the package author included the necessary information to tell that this program is important enough to be in the store. You could ask the distributor of your package to do that.
If you want to manage the browser, I am guessing the package name is “slimjet”.
PureOS is not any more locked down than Windows, it just avoids the pitfall of being able to install software in secret. In the old times, software dropped tons of random files into the system, and Windows would slow down. I think Microsoft tried to make it more regular, but, as far as I can tell, an entry in the list of software is still voluntary, especially if you accepted an UAC prompt during the installation.
PureOS takes care of this problem by vetting each aplication in the software store: they register to the software list, and none of them will do things behind your back.
But that also means that if you install software from third parties, you’re somewhat on your own, as PureOS cannot make any guarantees about it.
Anyways, while this is a far cry from the simplicity and elegance of the Windows Control Panel, it’s certainly a hundred steps in the right direction. It should also be noted that I can Upgrade or Remove any installed package using this package manager at any time. In fact, I was able to use this Synaptic Package Manager to upgrade a stuck “fwupd” (whatever that is) package that wouldn’t update as mentioned in this other forum I posted here. Honestly, this should come preloaded on the operating system. It’s insane that a tool this useful isn’t installed by default! [Hint, hint for any developers that might be reading this post]
I think the biggest problem with Linux (in my experience thus far) is the gratuitous dependency on the Terminal. Most of these functions (list installed software, update outdated software, uninstall software) should be done within a GUI similar to the Windows Control Panel. Having to use the Terminal to do what otherwise should be mundane tasks adds unnecessary complexity where it doesn’t need to be. As I mentioned in my previous post, Synaptic Package Manager is a hundred steps in the right direction, but this could be so much more. As a lifetime Windows user who just switched to Linux, believe me when I say that we’re going to need such a thing to be a default way of managing packages if we want Windows users to actually want to use Linux. Going from having an easy-to-use Control Panel (or even native uninstaller executables) to having to do everything installation related via the Terminal is a HUGE jump for a Windows user.