I believe I've totally lost myself.

theambitiousguy's picture

Forums: 

O Wise Forum,

I'm fairly new to Debian, having jumped to it after Windows got boring and Mint was too straight forward and--frankly--not fast enough on my Frankenstein-rebuilt machine.

My question today is how to go about getting stuff downloaded. I want Midori and I want Flash Player for IceWeasel.

What I've done so far:

I've entered the following into the terminal:

$ su
#sudo apt-get update
Ign cdrom://[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Binary 20150425-15:14] jessie InRelease
Ign cdrom://[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Binary 20150425-15:14] jessie Release.gpg
Ign cdrom://[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Binary 20150425-15:14] jessie Release
Ign cdrom://[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Binary 20150425-15:14] jessie/main i386 Packages/DiffIndex
Ign cdrom://[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Binary 20150425-15:14] jessie/main Translation-en_US
Ign cdrom://[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Binary 20150425-15:14] jessie/main Translation-en
Hit http://security.debian.org jessie/updates InRelease
67% [Working]
Hit http://security.debian.org jessie/updates/main Sources
Hit http://security.debian.org jessie/updates/main i386 Packages
Hit http://security.debian.org jessie/updates/main Translation-en
Reading package lists... Done

And then I'll go and try this:

# sudo apt-get install midori
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package midori

And a very similar thing happens when I tried to get my paws on Adobe Flash. I'm guessing my repositories are FUBAR'd somewhere along the line or something, but I'm not sure where to go from here. My extensive search of the interwebs has yielded only frustration and confusion. Help me, Obiwan Kenobie. I am only an egg.

Yours,
Derek

Re: I believe I've totally lost myself.

IntnsRed's picture

Debian is free software -- that's "free" as in "freedom/liberty", not necessarily "free" as in "free beer". Debian gives users the freedom to install restrictive, non-free software with apt-get, but that is not Debian's default.

What happens when at a command line you run the command:

cat /etc/apt/sources.list

(That command requires you to be the root/superuser.) Does it include "non-free" in the information it types out? For example, mine includes one line that reads:

deb http://ftp.us.debian.org/debian/ jessie main contrib non-free

/etc/apt/sources.list is the file that lists out the various *.deb file repositories that apt-get and package managers use.

By default Debian does not include the "contrib" or "non-free" repositories, so you'll have to edit the /etc/apt/sources.list file (again, as the root/superuser) and add them onto the end as per the above and then run "apt-get update". (An aside: Many people also add the deb-multimedia.org repository too.)

Flash is definitely non-free software. So you'll have to change /etc/apt/sources.list to add the non-free repository to access that. Then you can just use apt-get or a package manager such as "aptitude" to add whatever version of Flash that you want.

I believe (not sure) that Midori was removed from Jessie due to bugs or other problems, but an Internet search shows that some are installing it on Jessie by using an appropriate/compatible Ubuntu package.

I see!

theambitiousguy's picture

Here's what happens:
# cat /etc/apt/sources.list
#

# deb cdrom:[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Binary 20150425-15:14]/ jessie main

deb cdrom:[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Binary 20150425-15:14]/ jessie main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

I guess what I was really asking was "How do I add to my repositories?" I can't find any way to do so. Is it a command to run from the terminal? I think there's just one small step I'm missing somewhere and then I'll be good to go for a good, long while.

Ah.

theambitiousguy's picture

I found access to my repository list and the instructions to fix it here:
http://www.debianuserforums.org/viewtopic.php?f=9&t=388

My current (now updated) repository list looks like this:

deb http://ftp.us.debian.org/debian/ wheezy main
deb-src http://ftp.us.debian.org/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

deb http://ftp.us.debian.org/debian wheezy-updates main
deb-src http://ftp.us.debian.org/debian wheezy-updates main

deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free

If there's anything else you think I should add, hit me up. I'm all ears and eager to try something new.

Re: sources.list generator

IntnsRed's picture

That's a slick tool.

Unfortunately, with Jessie now being the newly-released stable version of Debian, it's a bit outdated (though it still generates a proper "stable" sources.list). I'd also suggest more verbosity/better explanations on the various 3rd party repositories. But still, that's a nice piece of work and a great idea!

Far out, man.

theambitiousguy's picture

Arochester, you're like the oracle or something. That majorly simplified everything. Thanks a bunch!

Re: sources.list

IntnsRed's picture

That looks like a pretty normal sources.list file.

But a big caution: Are you running the "Wheezy" version of Debian (the old version) or the "Jessie" version (the current stable version, Debian 8, that was released semi-recently)?

If you're running the current version of Debian, change all of the "wheezy" instances to "jessie" (or to "stable") and then run "apt-get update".

Those names are important since they tell apt-get what version of Debian that you're running. Various Debian versions are given code names after the characters in the Toy Story movies (years ago the original Toy Story movie was rendered on Debian, a big event in Linux history) -- so those are critical. The latest released (current) version of Debian is also given the nickname/alias "stable".

Since your original post listed apt-get output talking about "jessie" you'll want to change that back to ensure you're getting the correct version. (Trying to move back to an old version is unsupported and will almost surely cause all sorts of headaches.)

A couple of suggestions:

• If you're not going to do any compiling and/or to create new *.deb software packages, comment out the various "deb-src" lines by putting a # character to the left of the "d" in deb-src (i.e. "# deb-src..."). That will inactivate those source code repositories and will make things run a bit faster. (Just remember that you commented them out if you ever need the source code packages.)

• I would add the "contrib non-free" to the end of all of the various "deb..." lines. You may need them for some software packages and you'll no doubt want the non-free/contrib packages to have the latest updated versions.

• Also, read up on deb-multimedia.org and the sort of software that *.deb repository adds to your system. If you're going to be doing any multimedia then it's likely you'll want to add a:

deb http://www.deb-multimedia.org jessie main non-free

line to your /etc/apt/sources.list. The FAQ for deb-multimedia will answer some questions about the repository, and you can explore packages in its repository here.

• And FWIW, many people have no problems with using apt-get to install and remove software packages. But even with apt-get, dealing with many packages can be cumbersome. If you're not comfortable with apt-get, try using "aptitude" or "synaptic" or one of the many text or graphical package managers that are included with Debian.

Wheezy shmeezy

theambitiousguy's picture

I copied the code across before I caught that I had simply copy/pasted the code from the website I referenced.
Below is what it now looks like, based off what you guys have told me to do.

#

# deb cdrom:[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL $

deb cdrom:[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Bi$

#List of Repositories

#Main
deb http://ftp.us.debian.org/debian/ jessie main
#deb-src http://ftp.us.debian.org/debian/ jessie main

#Security
deb http://security.debian.org/ jessie/updates main
#deb-src http://security.debian.org/ jessie/updates main

#Stable Updates
deb http://httpredir.debian.org/debian jessie-updates main contrib
#deb-src http://httpredir.debian.org/debian jessie-updates main contrib

I'm not sure what you mean by adding "contrib non-free." Where's that supposed to go? I'm a simple man. I need examples.

Put a # in front of the

arochester's picture

Put a # in front of the second deb cdrom so it reads
# deb cdrom:[Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Bi$

Add: contrib non-free to various line so they read

#Main
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
#deb-src http://ftp.us.debian.org/debian/ jessie main

#Security
deb http://security.debian.org/ jessie/updates main contrib non-free
#deb-src http://security.debian.org/ jessie/updates main

#Stable Updates
deb http://httpredir.debian.org/debian jessie-updates main contrib non-free
#deb-src http://httpredir.debian.org/debian jessie-updates main contrib

Then do an (as Root)
apt-get update
apt-get upgrade
apt-get dist-upgrade