0

I'm new to Linux this week after catastrophic failure of Windows 7 last weekend owing to an update that killed everything in a terminal way. My hardware spec is pretty good for Linux (i3 processor, 6GB RAM, 750GB hard drive) so I opted for Ubuntu 16.04 LTS and it seems to work fine.

I had issues with trying to install Adobe Flash player so I could use iPlayer radio and my son could do is maths homework, both of which use Flash (apparently). No workie in Firefox but forums recommended Chromium where it's built in and now have all that up and running - yay. Problem with installing Flash from a download was that system said I don't have root access.

Came across same problem this morning in trying to download and install Dymo software to run our label maker. No root access.

Found this thread which explained that root user has been disabled in Ubuntu What is the root user so happy with the explanation. Understand from this response and others that I'm going to need to use "sudo" but not sure how to do it.

Thoroughly flummoxed by needing to use a command window to install software. Capable, but flummoxed. Could someone take me through from first principles starting with the step after finding the newly downloaded software in your downloads folder? The readme file that came with the Dymo software says:

//

To compile and install source package you will need: - recent C++ compiler. We used gcc ver. 3.3.5 & 4.0.1 - installed CUPS *.h files (cups/cups.h, cups/raster.h) - installed CUPS libraries (libcups, libcupsimage)

To compile sources run follow commands from the package directory: ./configure make

To install compiled binaries and data files use command (you have to have root privileges): make install

//

Many of the posts I've seen give instructions on how to do stuff from the command line. It was the early 90s last time I did anything with a computer that looked anything like DOS so what I read looks like there's an assumed level of knowledge which I haven't built up yet.

All good fun.

Thanks.

  • Hi Mother Ship! First of all let me say that for the most part installing packages (e.g. software, flash player) is not this hard on Ubuntu! It is very rare for you to have no other option than to build from source...Usually installation is as easy as Methods 1 & 2 in L. D. James's answer...hopefully it is reassuring to know that! – Hee Jin Apr 29 '18 at 13:19
  • Secondly, while it may seem counterintuitive to you if thought you were seeing a ghost when you opened Terminal and saw a command line interface for the first time in ages, you really should know that in Ubuntu, often the command line way of doing things is the best way--even though there is, more often than not, a GUI (graphical user interface) way to do things. For example, the GUI version of sudo apt would be to use Ubuntu Software (or even better, Synaptic). – Hee Jin Apr 29 '18 at 13:20
  • So just brush up a little and don't be scared off by a little command line action because in many situations, being able to use it is going to save you time and resources (like memory and storage space) and may even save your (computer's) life at some point! – Hee Jin Apr 29 '18 at 13:20
  • Finally, for my own curiosity, what is the exact name of the program you're trying to install? I'm assuming you downloaded it, so what is the name of the archived file you had to extract? – Hee Jin Apr 29 '18 at 13:22
  • Hi Emily, Thanks for your kind words. This is a bit more than cd a:, dir a: but yes, just a case of getting familiar with different commands and what they do. We programmed PLCs on my ONC and HNC and that was fine but c++ proved to be my nemesis at university. The piece of hardware I'm trying to run is a Dymo label writer and they have put DYMO Label SDK and CUPS Drivers for Linux up on their website and that's what I've downloaded. Looks like I'll be using Method 3 below as the file has tar gz in the name. – Mother Ship Apr 29 '18 at 19:01
  • You're welcome! I know it wasn't much of a help--you sound quite well-versed in all things computer-related, more so than I am! Good luck to you and if it's any help, I also found this. – Hee Jin May 01 '18 at 22:31

2 Answers2

0

Quick Answer:

You can install 3rd party software on 16.04 LTS by using root access.

The first user account created on the computer has root access by preceding the command with sudo.

This same user also has access to grant the root power to any other user, intended to be able to manage the system, such as installing software.

The process of how to install a third party software depends on the method the third-party software provider has provided for installing their software.

Method #1

Very common ways are providing a *.deb file. It could be installed by using the GUI Ubuntu Software package, but since you are referring to using terminal commands, the process for installing a *.deb file is:

$ sudo dpkg -i [packagename].deb

in that case, package name is replaced by the name of the deb file.

Method #2

Another common method third-parties use for distributing their software is in the form of a PPA. The distributor will provide instructions for installing their package. In this case, the method is these commands.

$ sudo add-apt-repository ppa:[repository]/[ppaapplication]
$ sudo apt-get update
$ sudo apt install [ppaapplication]

Method #3

Another method is to provide an applicaton.run file. Third-party programs distributed by this method is usually packaged in a tar archive or a compressed tar archive. As mentioned above, the third-party provider will provide a method for installing their application. The instructions are usually contained in the archive by the name of install.txt or Readme.txt. Those files will contain steps for installing such as:

$ sudo chmod +x [application].run
$ sudo ./[application].run

In this case [applicaton] is the name of the application being installed.

Some third-party providers will provide an archive source of their package that the user can create their own binaries. This method can take a lot of work. It will include instructions of which packages the source will depend on for being installed. The user will have to study the list from the particular package and proceed according to the list. It's common that this distribution method will include a ./configure script to check the user's system and provide an output of what is needed to continue. It's unlikely that a default Ubuntu install will have all the packages that the program will need, including as you mentioned in your question the version of the c++ compiler. The output of the program will show what it's looking for and what is missing. You would then install that application then run ./configure again. You may have to run it between 5 and 10 time and more, getting a little further on each run, until it finishes with success. The configure script will create a Makefile when it completes successfully. The readme file will tell you what to do from there, which would be these steps:

$ ./configure
$ make
$ sudo make install

The last of the three lines is the command to install the third-party application you have compiled.

The last method can take a lot of work, where even a very experienced programmer could spend days to get the process completed. It would depend on how well the developer of the third-party program provider has programmed their code and process. If the third-party program developer has done a good enough job with the portability to the system it's intended for it could take minutes for anyone including a first computer user.

I'm sure I understand your question and hope I have made it clear for you. Each third party program is unique and would depend on the instructions provided by the third-party program distributor.

Non-Third-party method (Programs from the repostory)

All the non-third-party programs can be installed the same way:

$ sudo apt install [programname]

Important Note:

If you have a question or a problem with a specific program you'll have to create a question by the subject of the program and include in your question any error or problems that you get while working with that specific program.

L. D. James
  • 25,036
  • Awesome answer! You may want to specify that building from source is a separate method, since the user seems unfamiliar with package management in general. Also in my experience adding PPAs has caused problems with Ubuntu Software and apt so maybe include or link to more specific directions about removing PPAs. – Hee Jin Apr 29 '18 at 13:14
  • Thanks for your answer. It looks extremely comprehensive. I think I'm straight in with method 3 (baptism of fire?) so it's really reassuring to be warned to expect multiple compilations before achieving any level of success. Ironically, I'm just hoping the drivers I've found work for the piece of kit I'm hoping they'll work on. I'll keep you posted. – Mother Ship Apr 29 '18 at 19:29
  • @MotherShip You're welcome. You might consider putting a check mark to accept the answer. This would be a contribution back to the system, to help others to find good answers to similar questions. – L. D. James Apr 29 '18 at 23:28
0

The best way for a prior Windows user to think of the way Ubuntu and other Linux distributions install software as something like the Apple App Store, or the Windows 8/10 store. In most Linux distributions the place to get software (store) is in a repository, and one system can have many repositories. What a repository looks like to you is a website with some special qualifiers at the end of it.

There are two main ways to process the install of whatever software, through the GUI and via the command line.

This Wikihow site shows both in a basic overview

The GUI way you go to Dash or other software discovery app (it varies by Linux flavor) find the software and click install/open, simple.

The difference from Windows is that since whenever Linux has been around, the GUI is always based on command line commands, so that is why you get recommendations to use it instead. It is a bit of a learning curve but the benefit is that at some point managing Ubuntu will become very easy.

Normally there will be some software that you will be able to find that is already available to be installed such as Adobe Flash (or open source alternatives). Below would be how to install the Adobe flash version.

sudo apt update
sudo apt install adobe-flashplugin

Seen above the sudo command precedes the package installer apt with it's own command update which tells apt to go off and pull the list of the latest versions of everything, so that when you tell it to install the package adobe-flashplugin it gets the most current version. If you issue the commands above and you get something like "[yourusername] is not part of the sudoers file..." you can try this askubuntu post to set it up.

A word of caution, Adobe Flash will one of these years cease to be updated and therefore should be considered unsafe to run on any operating system. The web is littered with the talk of it for years.

To find what to install normally a quick web search such as "Install Filezilla Ubuntu 16.04" should yield some sort of step by step result or package. If it doesn't you can try searching for the package in the default Ubuntu repositories by using a GUI package manager tool different from Dash that lists packages in a searchable chart format. The one that is mostly recommended is Synaptic. Run this command:

sudo apt install synaptic

It is fairly straight forward to use, you can search for package and then sort by name, read the details, and then click install. Be very careful with this tool though, as if you remove packages, you can mess up your system in a hurry.

When you cannot find whatever package you are looking for and the driver disk like your label maker says "compile this by.." then before you go start trying to compile drivers you should try to search for precomplied binaries for your Ubuntu version.

For example my Samsung printer has a repository that has precompiled drivers for all the printers that Samsung makes. When you google say "Brother Label Maker ubuntu repository" or "Brother Label Maker Ubuntu PPA" (PPA is a label for a repository) you may find specific instructions on how to add it. You should make sure that the repository is maintained by a reputable official looking source before you add it. BUT generally they are, and for 16.04 there are two methods to add it.

If it gives you a PPA you can add it by issuing commands like

sudo add-apt-repository ppa:[repositoryname]
sudo apt update

If for example it does not mention a PPA but gives you something that looks like an internet address you can do something like this. I will use virtualbox as an example.

On their install website they say add the following line to the sources.list file:

deb https://download.virtualbox.org/virtualbox/debian <mydist> contrib

Where <mydist> refers to the codename of your version, for 16.04 it is xenial. To find this run the following command:

lsb_release -a

So after that you should have:

deb https://download.virtualbox.org/virtualbox/debian xenial contrib

Now to add the repository to the sources.list file run the command:

sudo nano /etc/apt/sources.list

Use the arrow keys or PG DN keys to go to the bottom of the file, and add the line in. Press CTRL + X to exit and say Y to save the file.

Next, you need to get the key for the newly added repository, so that Ubuntu knows that the added repository is signed and a valid source. There are many methods to do this, but basically they will ask you to add a text file with the key to your system. Either you download the text file, or you issue commands to combine the downloading with the command to add the key file. If you download the key file run the command:

sudo apt-key add keyfilename.asc

Or combine the downloading of the keyfile with downloading

wget -q https://www.website.com/download/keyfilename.asc -O- | sudo apt-key add -

Once the key is added run:

sudo apt update

FYI there is a new version of Ubuntu 18.04 and it may already have drivers for some of your hardware built in as the kernel is newer. As a FYI brand new hardware sometimes takes a while to have full support on Ubuntu as kernel versions are fixed and branched to the release.

If you are then left with compiling a driver from source you should specifically search for an example of how to first set your system to compile drivers, and then find an example that matches your situation.

willm
  • 121
  • 1
  • 6
  • Thanks willm, there's loads of really useful stuff in your response so it will probably take a little while for me to work my way through the links and digest all the information. Much appreciated. – Mother Ship Apr 29 '18 at 19:17
  • No problem! Happy learning Ubuntu! – willm Apr 30 '18 at 21:19