Problem: Linux information seems too vast and complex for the newbie.
Well, I'm learning ... so I may have some idea of what you want to know.
(This guff should blow out to double the size, with the aim of being some use to other newbies who chose Slackware)
It's like bloody DOS.
Text only ...
and there's the prompt and cursor ...
and you are supposed to just know what to do.
The Windows-like displays are very user friendly and get referred to as the GUI environment (or desktop), X11, or just plain "X", KDE and Gnome mainly, I think. Dunno, I've never had anything to do with them, but I know that GUI, graphical user interface covers them all. I have been told that they place megs of overheads onto your system and really slow it down. But there's a tremendous advantage - you can see what's going on and what's about. The bloody console environment is like being in a dark room. You can ask one quesion at a time and get one answer to each, one at a time, and you just have to remember what those answers were, as well as speaking in an alien language (the Linux commands). I love Slackware and the console environment, especially after using Microsoft Windows.
I don't know much but I seem to have picked myself up in the console environment, from the
stage of being a newbie who just wants to know how to do something but can't find out how.
Whenever I try to find a simple answer to a simple question I'm confronted with a huge
structure of technical documentation using terminology that is above my head. I couldn't get
the "X" user interface working so I was confronted with living in the text environment ... and
for that, you have to already know everything. I just wanted to know how to do something and
"all" the documentation is on big, involved topics.
(end waffle)
What to do:
I'm using Slackware Linux and it comes with Midnight Commander ready to go. Maybe many other distributions have it too. "mc" starts it.
You can look for things ... and find things ... and read stuff. There's just heaps of documentation of all sorts (in Slackware you have to load the f package to get all this)
There is another very useful command for getting to the correct man pages: the apropos command. Apropos sector will list all the man pages mentioning "sector".
Then there's the info command. This brings up documentation that is made to be navigated efficiently, using links. info emacs invokes the emacs manual (or is it a condensed manual - anyway it's comprehensive and fast to navigate). But there aren't many info documents written.
Slackware also keeps the documentation that comes with larger programs. You'll mostly find technical notices on those programs, like readme files. They are often useful but sometimes you may even find tutorials and FAQs. Look in /user/doc. The HOWTOs and FAQs are in the same place.
A web info source:
JustLinux is for newbies and the
Linux Documentation Project is for
everybody (that link is to only one of the LDP sites and they have, I
think, their own site but you'll find that soon enough).
Back to the point:
What do you want to do? I wanted to write stuff, use the net and system configuration.
Writing some stuff:
In the console environment there's no easy programs for anything. I don't know what went on in
the old days but nobody made programs with pull-down menus. There actually are a few, but only
the best of them compare well to the old DOS programs where you could just navigate menus, find
what you wanted and just select that option. Most console software in the Unix/Linux world
doesn't have menus at all. You can't see anything and just have to know what to do. Most text
editors are god-awful wierd difficult contraptions that can be useful if you spend months
learning their infernal idiosyncratic ways of doing things.
As for an editor which you can use straight off - there seems to be only one - the editor built into Midnight Commander.
Security first:
The most obvious problem to me was that the simple installation of Slackware provides a lot of
servers ready for remote "users" to get hold of. Then there is no firewall active. Firewall
building blocks are provided with the hernel and iptables is what you will need to work with to
build a firewall. Wade through the Security-Quickstart-HOWTO. It has a simple firewall
building script ready to use.
Servers:
Servers are programs that are made for remote users to get stuff from your computer. Find out
how to stop them if you don't need them. If you aren't providing any services for remote users
then don't run any servers at all (not for the internet). See the Security-Quickstart-HOWTO
and close off unneccessary ways for "people" out on the net to get into your system.
Firewall:
That same HOWTO also talks about building firewalls yourself. Again, if you're just a nobody
minding your own business then your firewall can be simple - just don't let your computer
respond to anything from the internet. Then there are more sophisticated considerations and
things you can do, but I haven't learnt that stuff yet. Just get a basic firewall up now. The
HOWTO provides examples. There are some firewall building programs available but I think we
may not need these since our firewalling specification is so simple ... because we are
nobodies. ipcop and fireHOL are firewall building programs for the console environment (I
think you can drive ipcop from a console). Get them (and any software) from sourcefourge.net
or freshmeat.net.
Net connection:
God knows how I found out but somehow I learned that with Slackware you had to use programs
(scripts actually) called netconfig and pppsetup to start getting the system prepared. There
is a pppsetup package that you should install, but there is a small drawback to this compared
to the ppp-2.4.1 package (install them both). The pppsetup package is probably a bit quicker
and simpler but only handles connection to one ISP. The ppp-x.x.x package handles multiple ISP
accounts may be a little less simple. Getting back to pppsetup: Your connection details go
into a text file called pppsetup and at the end of the configuration process I was told that
there was no kernel support for ppp!
I floundered around some HOWTOs concerning the kernel (see the PPP-HOWTO and the Module-HOWTO), and eventually learned that I had to load some more kernel modules. One of the modules talked about in the HOWTO had a different name in my Slackware system. I gather most Linux distributions need the module called ppp. In my system it's called ppp_generic. But this module also uses another module called serial, except that it's called serial_generic in Slackware. Load them using the modprobe command (see man modprobe) and configure auto loading (see /usr/doc/pppsetup/pppsetup-1.98.README ... I think).
To confirm how your ISP talks to your modem to negotiate the initial connection I used Minicom which comes in the Slackware packages. It was very reassuring to find out what answers my system had to give to what prompts from the ISP. And the connection was made after the above configuration.
Email:
Pine is a great program. You will have to configure a few things in this before it can
sensibly communicate with your ISP's mail server ... basic data like your userID and password,
the outgoing mail server plus some other niceties. It doesn't have what I call pull-down menus
but I found it completely satisfactory - just as good.
Spam:
This can be a killer. I have so much that I just have to first inspect the contents of my
remote mailbox (the one on my ISP's mail server) and delete the spam from it. Then I can use
my email client to download the legitimate mail.
Mutt is another good mail client that facilitates spam deletion over a PPP link from a console. Use the change mailboxes command while online for the name of the mailbox type pop://your_userID@mailserver.your_isp's_domain/ and your remote mailbox is all set out neatly in front of you. You can quickly delete the crap you don't want.
The tedious way of cleaning out your remote mailbox is by telnetting the ISP's mail server. You can get rid of a few spam but this procedure is too slow for any more than several spam. See man telnet and one or two of the HOWTOs about email - commands for the POP protocol are what you need to use. Telnet pop.server.name 110, user yourname, pass yourpassword, and POP commands stat, top, dele and quit. I should be able to make a script to do this in a flash, or fix PopDel, but then I wouldn't be a newbie.
There's a program called PopDel which is made specifically for this but it didn't work properly on my system and I didn't know enough about simple programming to make it work properly (it's just a Python script (Python is a good, modern programming language)).
The thing that saved the day was the 0spam.com service. At that time my ISP wouldn't filter mail comming to your remote mailbox (the one on their network). I got 0spam.com to do that. They are also 100% reliable because they don't use a technological solution. The solution to spam is social, so I can now only get mail from real people.
But without some spam control facility somewhere my Linux system (Linux box) became neglected.
Using the web:
I don't browse or "surf" the web, but anyway the text based Links browser is good. It does have
pull-down menus and is fast because it doesn't deal with all that graphical crap. It's good
for working with sites that deal with information as opposed to crap to look at - they can be
difficult because _everything_ is in bloody graphics.
I tried building the Lynks browser but have some more involved configuration to do to make it work.