 |
 | Who's Online
 |  |  | | MEMBERS ONLINE | |  You are an anonymous user. You can register for free by clicking here |
| |
|  |  |  |  |  |
|
 |
 |  |  |  |
| Author |
Message |
NoClue
|
|
Post subject:
Posted: May 23, 2010 - 07:10 PM
|
|
Site Admin

Joined: Jan 17, 2001
Posts: 10454
Location: Blackwood, NJ USA
Status: Offline
|
|
There are a few ways to install software on your Linux box, depending on your distribution (distro).
Compiling software from source is distribution-agnostic. Any Linux box with a compiler (usually gcc) will allow you to download the source code (usually in a compressed, zip-like file referred to as a tarball), untar it, run ./configure on it, run make on it, then run make install on it.
But. sometimes, compiling software is a real pain. Most software has 'requirements' or 'dependencies'...other software on which it depends for certain functionality. If a piece of software won't compile for you, it's probably the case that you are missing a dependency. You can usually figure out what the problem is by deciphering the error messages that show up during configure or make, but it's not always easy to decipher them.
To make software installation easier, many distros include some kind of 'package manager'. The software is rolled up into a 'package', which contains both the program's data and the control information needed to install it.
The two most common package formats are RPM (first developed by Red Hat) and deb (first developed by Debian). There are, of course, console (think 'Command Line' in Windows) -based tools to let you manage either kind. There are GUI front-ends for those console-based apps too.
Back in the Dark Ages, I once put up a Red Hat box. Anytime I wanted to install software (and didn't want to go through compiling it), I'd have to hunt down the RPM for it, then run the package manager. More often than not, it would fail, because there was some dependency I was missing. So I'd hunt down the RPM for that dependency, and try to install that. Rinse. Repeat.
As time wore on, somebody got the great idea to put all the software packages for a certain distribution in a 'repository' on the web. Package managers evolved so that they could keep a record of all the software in the repository (a/k/a repo).
So, if the package you are installing, Package A, for example, depends on another (not-already-installed) package to operate correctly, let's call it Package B, the package manager will look through its list of software in that repo to see if Package B exists, and if so, automagically download and install it for you.
As you can probably guess, this has made installing software much easier.
Also, there are now lots of repos, usually broken down into types of software.
Debian's console-based package manager is called apt. Ubuntu is Debian-based, and also uses apt. There is a GUI frontend called Synaptic.
openSUSE is an RPM-based distro. Its console-based package manager is zypper. The GUI version is a YaST module called 'Software Management'.
I'm much more familiar with the YaST module, so I'll describe how I install software in openSUSE:
When you open the 'Software Management' module, it will default to a search box. I type in the name of a package. It searches for it. When it finds it, I check off the box next to it. It automagically checks for any missing dependencies. If it finds any, it will search the repos for them. If it can resolve the dependencies easily, it automagically checks off the boxes next to the dependency packages. If it has any questions about what it should do, it'll pop up a box explaining the problem, and listing a few ways that it can resolve it. When we've solved all the dependencies, I'll click the 'Accept' button.
If it has found any dependencies for you, and automagically checked the box(es) for you, it'll next prompt you to see if you want it to install those packages for you as well. I'll agree, and the package manager will begin to download and install the necessary packages.
All that works great, and I use it all the time.
A couple of weeks ago, however, I did a little KDE updating on my 'bleeding-edge' box, using the 'SuSE Factory' repos. The Factory repos contain the very newest RPM packages, the ones that will be rolled into the upcoming version.
When I was finished, I had broken YaST...both the GUI and console version. Ew. The more I fiddled with it, the more I broke, so that when I booted the box, it would only boot to a console, the GUI was broken. Bummer.
No sweat, I logged into the box via the console, and started adding repos and updating packages with the zypper command. In the end, I did a 'distribution update' and took it from 11.2 to 11.3. 11.2 is the current release, 11.3 is at a milestone release, and is expected to be released in July, 2010 (Roadmap). Everything seems to be working well for me, though.
I realize that there are some things that seem foreign to Windows users, and can be difficult for them to get their heads around, like:
- In the world of closed-source software, if you are a application developer, and you want your app to have a certain bit of functionality, you need to write it yourself. In the end, an end-user might have a handful of apps that do exactly the same thing, and all do it differently.
In the open-source world, you don't have to reinvent the wheel. If any existing bit of software handles the functionality for you, use it. If a bit of somebody else's code will, with modification, do what you need it to do, use it...modify it, add it to your application, and make the source code available.
- Software is constantly evolving, and because of the nature of open source, constantly available. 'Unstable' software only means that its featureset is likely to change...not that it is likely to blow up your system. Pre-1.0 releases work, for the most part, just fine. Again, an author has decided that the 1.0 version will contain a certain featureset...any version that's missing features is considered pre-1.0. Don't be afraid to read the roadmap.
- In fact, read everything.
Most open-source software is very well documented. There are man (manual) pages. There are readme files. There are heavily-commented config files. For the most part, any questions you may have about a program can be answered in the documentation. If not...well, I am always amazed how often Google has the answer I'm looking for.
- There is always more than one way to complete a task. If some website says I should run zypper in coolpackage, I'll probably just go into YaST, search for 'coolpackage', and install it that way. No one way is necessarily better than another. Do it the way you feel most comfortable.
- You really can learn this stuff.
There are a lot of things I do now that cannot easily be done in Windows...or cannot be done at all.
Once you get the hang of it, there are many things that are much easier in Linux than they are in Windows...
- Let's say I install a new package. I find it in the menu, click on it, and it looks like it wants to start, but it never does.
In Windows, I would look first in one of the error logs in the MMC. Thoroughly confused by the cryptic error messages, I would begin to search support.microsoft.com for the Event ID numbers. I would find that most of them are 'normal' errors. If I'm lucky, I'll find the answer I'm looking for.
In Linux, I'll try to run the command from the console, then read any error messages. Maybe it something as simple as my forgetting to edit a config file. If it is, it will tell me. Clearly.
If it's not something as straightforward, I'll google the error message. The one error message. Chances are good that the answer will be at the top of the list.
- Let's say a program is working, but not working right.
In Windows, the problem probably lies in the registry. I'll open the registry editor and begin to search for the application's name...or its author/publisher. If I'm lucky, I'll find an entry that describes the problem I'm having. If I'm not lucky, I'll google the problem, and hope that someone has posted a registry hack.
If the problem is with a program by Symantec, and I need to search for 'Symantec', I may be searching for the rest of my life.
In Linux, I look in the /etc folder. I look for a folder, or a file, named after the app I'm having trouble with. I open the (text) file, and read the comments in the file. I make my changes save save the file.
- You won't need a virus scanner. You won't need any spyware apps. You'll never have to defrag the hard drive.
In fact there are a lot of little apps you need to make a Windows machine useful. In Linux...well, if you need something to make it useful, why isn't included in the default install?
Usually, the first thing I install after Windows is an office suite. I think almost all Linux distros install OpenOffice by default nowadays, don't they? Near enough.
Most machines now come with a DVD burner. They've gotten so cheap you'd be foolish not to include one. Usually in Windows, there is some sort of stripped down version of a manufacturer-supplied burning software. Want one that's full-featured? Buy one.
Linux distros install a full-featured burning app by default.
There are countless other examples of this.
|
|
|
| |
|
|
|
 |
Alpha1
|
|
Post subject:
Posted: May 23, 2010 - 07:46 PM
|
|
Member

Joined: Jan 19, 2007
Posts: 262
Location: Edgewater Park, NJ
Status: Offline
|
|
I've gotten pretty good at zypper.I like it.
Zypper should always be run as root.
Zypper install [package-name] installs whatver you want it to
zypper rm [package-name] removed a package
zypper se [search time] searches your repos
zypper si [packages-name] install source packages and build deps
zypper install-new-recommends -installs recommended deps for installed packages
zypper shell or zypper sh gives you the ability to multitask
zypper refresh updates repos
zypper --help gives up a list of commands, but those are the ones I use most. |
|
|
| |
|
|
|
 |
beanie219
|
|
Post subject:
Posted: May 27, 2010 - 08:29 PM
|
|
Member
Joined: Jul 04, 2002
Posts: 157
Location: Cape Coral, Fl
Status: Offline
|
|
NoClue, the following is only part of what I get when I go to the link you posted:
""" "getPub" failed: Unknown column 'nuke_group_membership.pn_gid' in 'on clause' while executing: SELECT pubTable.pg_id, pubTable.pg_pid, pubTable.pg_approvalState, pubTable.pg_online, pubTable.pg_revision, pubTable.pg_topic, nuke_topics.pn_topicname as core_topic_name, nuke_topics.pn_topictext as core_topic_text, nuke_topics.pn_topicimage as core_topic_image, pubTable.pg_showInMenu, pubTable.pg_showInList, pubTable.pg_author, pubTable.pg_creator, UNIX_TIMESTAMP(pubTable.pg_created) as pg_created, nuke_pagesetter_pubheader.pg_hitcount, ""
That is why I asked for a translater.
Ubuntu 9.10 has a software package installer that is easy to use. My main problem is using the .tar.gz.
I did dowload the avast antivirus .tar.gz without a problem. (Thought antivirus would be a good thing to have, since I used Window$ & it needs it.)
I "untared" it but don't know where to find it & what to do when I do find it.
I now have ClamAv installed but ClamTk (gui) tells me that the av and gui are both reporting outdated engines. I have googled alot & can not find out how to update either the av engine or the gui engine.
At least the definitions update automatically for me.
I was hoping that avast would be easier for me to operate. But I don't have to use avast if I can get the ClamAv & Tk to update regularly.
This I know is easy for you folks familiar with *ix, but I am unfortunately still a Noob with *ix.
Steve  |
|
|
| |
|
|
|
 |
hubtones
|
|
Post subject:
Posted: May 28, 2010 - 06:52 AM
|
|
Member
Joined: Feb 28, 2001
Posts: 1035
Location: Philadelphia, PA USA
Status: Offline
|
|
One more comment, Ubuntu has now moved onto 10.04 LTS (LTS implies long term support, they release one every two years). With ClamAV, you often have to learn to either compile the new version yourself (not really fun) or you learn to live with updating the virus signatures until an update for Karmic is released. You're using Karmic and Ubuntu has moved onto Lucid, which means that you'll be dependent on the goodwill of whoever does the packaging in Lucid to backport. One of the downsides of the Ubuntu approach is precisely that some things like Samba and ClamAV trail what's available in other distros. If I were dependent on Ubuntu, I'ld install the Debian version of Clamav and then upgrade to the Debian Volatile version whatever that happened to be at the time.
Finally let me categorically state that you don't want to try to compile until you learn how to deal with missing dependencies and unfortunately ClamAV has lots of dependencies for compilation. The real use for Clamav incidentally is either scanning email or alternatively scanning Windows partitions, it's not of much real use in a Linux distribution otherwise. |
|
|
| |
|
|
|
 |
NoClue
|
|
Post subject:
Posted: May 28, 2010 - 04:52 PM
|
|
Site Admin

Joined: Jan 17, 2001
Posts: 10454
Location: Blackwood, NJ USA
Status: Offline
|
|
|
beanie219 wrote:
"getPub"
Thanks for the heads up.
When I was logged in, I saw the document. When I logged off, I saw what you saw.
I guess that explains why alpha1 felt the need to post commands that were already in the cheatsheet.
getPub errors are usually caused by the TopicAccess module and newer versions of MySQL. I disabled TopicAccess for that pubtype, and we should be good to go...
I hope...can everybody see the zypper Cheatsheet? |
|
|
| |
|
|
|
 |
NoClue
|
|
Post subject:
Posted: May 28, 2010 - 06:48 PM
|
|
Site Admin

Joined: Jan 17, 2001
Posts: 10454
Location: Blackwood, NJ USA
Status: Offline
|
|
It's time I did a little catchup on things that I missed...
beanie219 wrote:
Unfortunately, using the command line is still confusing for me.
I used to be pretty good at the command line back in the DOS days, and somehow, I've never lost it. The Linux console is a little different...but it's not that different.
There are a few commands that you'll need to get the hang of so you can navigate around your filesystem:
pwd - print working directory (display the folder you're currently working in)
ls - list (list the contents of the current folder)
cd - change directory
md - make directory
Quote:
And for some reason I can NOT get the hang of using .tar.gz.
...
I can get the file on my computer in Downloads but after that I get lost.
When I can extract it using the 'tar -zxvf source file.gz ' I can't find it afterwards.
How do I direct the file to where I can find it & work with it?
You need to know which directory you're working in...
Quote:
Is there somewhere I can find a step-by-step to download, extract, install to the directory (hopefully of my choosing) & then find it & use it?
Or can one of you helpful people instruct me in how to do it?
I can try.
I would download the file to its own folder using Firefox, just like I would in Windows (IOW, using the 'Save' dialog).
Let's say we want to get a tarball named coolapp.tar.gz. You mentioned a Downloads folder. I'm going to assume that it's a subfolder of your home folder. If we use the same username you use here, your home folder would be:
/home/beanie219
...and your Downloads would be:
/home/beanie219/Downloads
...and yes, case counts. /Downloads would be a different folder than /downloads.
The tilde (~) is shorthand for your home folder, so your Downloads folder would also be:
~/Downloads
Okay, when I was in Firefox's 'Save As' dialog, I'd wend my way into the /Downloads folder and create a new folder. I'd call it /coolapp, and I'd save the tarball there.
Then I'd open a console. Usually, you'll be in your home folder by default (if you're not sure, you can always type pwd to check.)
We need to get into the new folder where we downloaded the tarball:
cd ~/Downloads/coolapp
To make sure everything is where it's supposed to be, I'd type:
ls
...and make sure it returns the name of the tarball. If so, I'd then run the tar command you posted above:
tar -zxvf coolapp.tar.gz
While it's possible to continue navigating in the console, at this point, I'd switch back to the GUI's file manager. In Gnome, I think it's nautilus.
I'd wend my way into the extracted folder(s), and look for a README and other documentation. I'd read them and follow their directions. For them most part, they would be:
./configure
make
su -c "make install"
If everything configures correctly, we then run 'make'. If everything 'makes' (compiles) correctly, we then run 'make install' (and we do it as root, to save us any permissions hassles).
Actually, if everything configures and compiles correctly, we thank our lucky stars, because that hardly ever happens.
That's how I would do it if I were stuck on an Ubuntu/Gnome box.
If I were on a KDE box, I could do most of this in the GUI. When viewing a tar file in Konqueror (my preferred file manager, but I'm pretty sure this works the same in Dolphin...the new kid in town), you can right-click on it and choose either 'Extract Here' or 'Extract to coolapp'.
Also in Konqueror, I can click on a toolbar button and get a little console pane across the bottom of the window. As I click on folders in the top pane, it cd's to the same folders in the bottom pane. I can compile it from there.
All that said, everybody else is right...see if you can find a package and install that instead.
One thing I've noticed about compressed archive files (tar, zip, etc.), if the person creating the archive works primarily in Linux, there will be a folder in the archive that contains all the other files. If the archiver works primarily in Windows, there won't be a folder...the files will be 'loose' when extracted. This seems to be true more often that not. I don't know why.
That's why the 'Extract to foldername' option is so handy.
Also, in Konqueror, you can click on the archive file and see its contents.
hubtones wrote:
The real use for Clamav incidentally is either scanning email or alternatively scanning Windows partitions, it's not of much real use in a Linux distribution otherwise.
hubtones is absolutely right, beanie219. I wouldn't sweat the AV. |
|
|
| |
|
|
|
 |
Alpha1
|
|
Post subject:
Posted: May 29, 2010 - 04:25 AM
|
|
Member

Joined: Jan 19, 2007
Posts: 262
Location: Edgewater Park, NJ
Status: Offline
|
|
Similar to Ls, is dir which provides the same idea, but in a verticle list instead of a block.
also available is tree, but first you must install it.
zypper install tree is the install command.
Its handy for some things, but be careful using it in say home, because it lists every document in every folder thats a child of home.
Some other useful programs are Whois (needs to be installed, zypper install whois), traceroute, and of course ping.
Whois looks up domain registry intro, ping, well, uhh, its pings what you tell it to.
Traceroute is my favorite, as it lists every server, your request goes on, to get where it needs to go.
For fun, run "traceroute google.com" The first hit is always the router, shows the IP and how long it takes to get here.
From there, it shows every server your request hits while making its trip to your location.
In my case, 12 hops on comcast DNS servers to get to google.com all in about 3 seconds.
Do we all know how to run .sh files and .bin files or Do we need to post a how to for that? |
|
|
| |
|
|
|
 |
|
|
|
|
|  |  |  |  |  |
|
 |