INTRODUCTION TO DEBIAN LINUX
I do love Penguins!
Is it possible to fall in love with a penguin?
Yes, it happened to me!
Well, I am talking about:
Gnu / Linux
the operative system I have embraced after many years with the
dreadful Microsnot Windoze ...sorry... Macroscam Win$O$ ...gosh, what was the name?..
[alert: profanity] Microshaft Copulation Windblows [end of alert] ...alright, I mean, you know what I am talking about,
don't you BSOD survivors?
Yes, right that one with Internet Exploder and viruses a go go; with air conditioning,
that stops working as soon as you open windows... damn, I have forgotten everything about that remote era.
Anyway, rejoice! Why use windows when you can use doors?
And the Linux doors are always open, it's free for everyone, Open Source, safe, collaborative, comes in all possible flavors,
serves you breakfast, and Tux is sooo cute.
The shift was a serious and difficult challenge, admit, but I would never go back again, as I have experienced how wonderful it is to get free, off proprietary and closed systems, from office / business / money / power environments and discover there is a whole world of co-working, sharing, enthusiasm, creativity.
Linux has come a long way by now. If you are going to use it as a 'standard', average user, then it is fully usable for you.
Right out of the box in most cases.
Only if you need it for special uses, like me as a musician, then it will challenge you, no doubt. You'll have to learn it,
to get beyond the apparently impossible technicality of it (or nasty rude nerdiness at times), and discover its logic and its
commands. At some point it will click, and the reward will be huge.
In case you still languish somewhere, like I did in my first hard, heroic and solitary times with learning Linux, here it comes
some help!
It is by no means a complete, unbiased and authoritative guide, way far from it, and the usual disclaimer:
⚠ use it at your own risk! ⚠
is much needed.
Rather: just my personal collection of all what I have
found out, little by little (or curse by curse if you prefer). Like when a printer suddenly is not working any more, or
your fingers got stuck in the cd-rom burner. It is handy to have the command needed to avoid annoying amputations right at hand
(no pun intended).
So that you don't have to bang your head on the same problems more than necessary.
What Linux?
Linux is not just Linux, rather hundreds (thousands) of different distributions (or 'distros' for short).
Have a look here and you will probably faint:
- List of Linux distributions
- DistroWatch
Still there?
All have the same core in common (the kernel), but differ greatly in functionalities, appearance, 'taste',
specialization for specific tasks.
That is one of the most confusing aspects for the beginner:
what distribution should I choose???
I would humbly suggest to choose the Debian one, as I did.
Without starting the usual religion war, and perfectly aware of the fact it is namely the distro that is usually not
suggested to a beginner, I still maintain that it is unbeatable, and you won't regret it in the long run.
First of all because it is the most rock-solid thing in the Universe. I haven't experienced one single crash for years,
that's a fact. And I am not even using its 'Stable' edition, the 'Testing' one in fact.
You can alternatively start with other distros, easier on beginners, like:
Ubuntu
Linux Mint
or such.
Just consider: they are definitely more bulky, bloated, unstable, compared to Debian, even if based on the very same O.S.
In the beginning they might appear familiar, esthetically pleasant, fun, but in the long run you will realize my warning was
wise, and what mentioned was actually just one of the problems you might experience.
Anyway, the above mentioned distros are very popular, have a big users base, and plenty of documentation, forums, help
[in Linux usually consisting in kind and loving "R.T.F.M.!" encouragements],
that can assist you in case you need.
The problem can be more for smaller or specialized distros that suddenly stop being maintained [the developer got a
full-time job or a bad Kundalini awakening, tipically], or if you have special hardware,
I mean your computer has.
There it comes Debian to your rescue again, the most universal OS. Really: I suspect it could even run on a vintage Maine
wooden toothpick.
A screenshot of my super-cool-minimalistic LucOs, my personal multimedia Debian OS (an installed from scratch and
customized Debian Testing, with a low-latency multimedia kernel, an IceWm window manager, and a few
optimizations)
Voilà: the best multimedia station in the world! (and such a modest and proud owner :)
FREE ALTERNATIVES TO PROPRIETARY FORMATS, CODECS AND SOFTWARE
Before finally getting into all the Debian tips, I would like to write a bit about what is available,
of the free and OpenSource kind.
Talking about software, it is a very simple choice here:
do you want to be a slave to commercial owners or do you want to be free?
I don't think many would choose the first, if they were fully conscious about it.
Being free, is a gorgeous feeling, a motivation and inspiration that is not the least comparable
to passive slavery.
Be surprised now: free software is way better than proprietary, under many respects,
because the OpenSource method is intrinsically superior.
Being the way to go, our future, things are going to be even better and better with time.
Besides, free software is not only "free as in speech", it is also "free as in beer". in most cases.
That's also intrinsically superior, believe me...
Not all comes by itself though, you need to sustain its development.
Refusing to use closed source facilities, and supporting the free ones in stead.
A shift to Linux is one fundamental way, Or using ogg in stead of mp3 is another one.
The same with all other formats, software, systems.
Following will come a list of what I am using in my own Debian box.
Again: not at all exhaustive, just what I personally like.
Apart from a few bugs now and then, it all works quite stably and smoothly though,
so this will be a real daily life list, and useful as such:
you can safely use it too.
In case you want a larger choice, a good place to find most available alternatives is:
| FREE | PROPRIETARY | |
| OPERATIVE SYSTEM | Linux | Windows, Apple |
| GRAPHICS | .bmp .tif | |
| .png | .jpg (is it proprietary?) | |
| .svg (Scalable Vector Graphics) | .wmf | |
| VIDEO | Openshot | |
| MULTIMEDIA | ||
| web video | .webm | .swf (Adobe Flash) |
| AUDIO | ||
| lossy compression | .ogg (can carry both audio/vorbis and video/theora) |
.mp3 (Fraunhofer Institute) .aac (Microsoft) .wma (Microsoft) |
| lossless audio | .flac | |
| OFFICE | ||
| office suite | LibreOffice | Microsoft Office |
| formatted documents | .odt (Open Text Document) | .doc (Microsoft Word Document) |
| pdf viewers | Evince | Acrobat Reader (Adobe) |
| COMMUNICATION | ||
| softphones | Firefox Hello | |
| instant messaging | Pidgin | |
DEBIAN LINUX COMMANDS AND HACKS
Now: don't let the following scare you, as a beginner.
In general you don't need all this, you can use easy graphical interfaces.
But what is beautiful with Linux is that you can use the command line and terminals to do all kind of actions.
So, it is a very good idea to learn a lot of this stuff, your experience with Linux will be greatly enhanced!
DO NOTICE:
[do not confuse it with the same # used to start a comment in system files]
such as leafpad , gnome-editor or vim
but you can substitute it with apt-get if you prefer it
| TERMINAL | |||
| to open the terminal window | in the desktop menu, look after: | "terminal" or "x-terminal" or "gnome-terminal" The "x-terminal as root" will ask you for the root password and will open the terminal as administrator [careful what you do there!] . In case you are in the normal user terminal (you see the dollar $ prompt) you can switch to root by typing "su", writing your root password and hitting "enter" key (then the prompt will switch to #) |
|
| the output of a command, instead of just scrolling very fast to the end, has to be shown screen by screen | add | more to your command: | $ | your-command | more |
| HELP | |||
| get help for a specific command | for ex., if you need help for the command aplay then type: |
$ | aplay --help | more |
| COMMANDS | ||||
| COMMAND | PARAMETERS | DESCRIPTION | ||
| $ | a prompt, what you see in an empty terminal, when logged in as a non-root user. | |||
| # | a prompt, what you see in an empty terminal, when logged in as a root / superuser. | |||
| $ | aplay | keyword | lists alsa (sound server) devices (sound-cards typically). | |
| $ | apropos | keyword | searches the manual pages for occurrences of the specified keyword and prints short descriptions from the beginning of matching manual pages | |
| # | apt-get | see next: 'aptitude' (I prefer aptitude because it has wider possibilities) | ||
| # | aptitude | update | updates the list of available packages | |
| install | installs the updated/new packages. If you type the name of a specific package after 'apt-get install' only that specific package will be installed | |||
| upgrade | upgrades all your packages to the newest available version | |||
| $ | bg | puts a process in the background; the opposite is 'fg' | ||
| $ | clear | clears the screen | ||
| # | dselect | lets you browse a list of packages available in the apt-get repositories you are using | ||
| $ | fg | puts a process in the foreground, opposite of 'bg' | ||
| $ | free | displays the amount of used and free system memory | ||
| $ | glxgears | graphics demo drawing some rotating gears, with framerate information in the command line | ||
| # | hdparm | /dev/hda | some hardware info about the harddisk, in particular if DMA is enabled | |
| $ | jobs | displays all background jobs | ||
| kill | it kills (closes, stops, terminate etc.) a running process, program, job. To know what to use as an id for the process just type jobs or ps in the command line. | |||
| $ | locate | name | When you install a program, its files will typically to be found in the /usr/share and /usr/bin folders, but where are all the others? They are usually spread all over, and it can be tricky, not to say bloody frustrating, to find them out. 'Locate' lists where all the files related to a specific program are in fact located on the hard disk. | |
| $ | lsmod | lists of running modules, their size and what is using them | ||
| modinfo | modulename | will display data about that specific module | ||
| $ | mount | |||
| -a | looks into /etc/fstab and accordingly mounts all filesystems | |||
| $ | ps | displays the processes associated with the current userid (the name of a user, like yourself or someone else) | ||
| -aux | displays a description of each process | |||
| # | shutdown | now -h | the system will shut down | |
| now -r | the system will shutdown and then reboot | |||
| $ | su | lets you switch from the current userid to root | ||
| - | with a default environment for the userid | |||
| # | su | userid | changes the current userid to the specified userid | |
| - userid | with a default environment for the userid | |||
| $# | |||
| $# | |||
| $# | |||
| $# | |||
| $# | |||
| $# | |||
| $# | |||
| HARDWARE: CDROM | |||
| MOUNTING | the official documentation about "mount" | $# | man mount |
| mounting | $ # | man mount | |
| unmounting | $ # | umount | |
| THE CD IS STUCK IN THE DRIVE | If the cd-rom is not ejected when pressing the button, then, even if nothing seems running, it is likely the cd is still used by some program. Try to run this command: | $# | lsof /dev/cdrom |
| If you get as an output a list of processes going on, that's why the disk doesn't want to be expelled. Then notice there is a column called "PID", it is the identification number for the processes. You need to stop them issuing: | $ | kill PID | |
| Repeat this for all the PIDs listed, and then you will be able to eject the cd, by pressing the usual button. | |||
| If it does not work, then you can write in a terminal window: | $ | eject /dev/cdrom | |
| USB | |||
| Info about your curently connected USB devices | $ # | lsusb | |
| QUIETEN THE BEAST | |||
| Temporary solution: | switch the damn bell off! | $ | xset b off |
| visual bell in stead of audio bell | $ | setterm -blength O | |
| Permanent: | permanently disable the damn bell! | $ | bluefish /etc/inputrc |
| find the lines: | # do not bell on tab-completion # set bell-style none |
||
| uncomment the "set bell-style none" one: | # do not bell on tab-completion set bell-style none |
||
| in case that is still not enough to eliminate all belling, do not smash the computer with a hammer, as a last resort you can edit: | # | bluefish /etc/modprobe.d/blacklist | |
| and insert at the end of the file: | # finally in peace blacklist pcspkr |
||
| CLEANUP YOUR SYSTEM | |||
| What is using my hard disk's space? | fancy to know what uses your hard disk? | # | aptitude install xdiskusage |
| Eliminate unused packages | empty the packages cache | # | apt-get (or aptitude) clean |
| remove partial packages | # | apt-get (or aptitude) autoclean | |
| $# | |||
| $# | |||
| $# | |||
| $# | |||