Pages: [1] 2   Go Down
Author Topic: Linux instructions  (Read 3834 times)
0 Members and 1 Guest are viewing this topic.
Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 634
Posts: 34567
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Have you noticed that a lot of instructions on how to do things in Linux are a bit like this picture:-


* HowToDrawAnOwl.jpg (55.7 KB, 700x570 - viewed 71 times.)
Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 137
Posts: 6788
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 5017
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Funny  smiley-mr-green smiley-mr-green smiley-mr-green
Logged

my name is IGOR, not AIGOR

Anchorage, AK
Offline Offline
Edison Member
*
Karma: 42
Posts: 1176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I've found man pages come in two lengths:

1)
Code:
Usage:  command [-vrxtasjagelnh] infile

See also:  ....
Authors:  ....

2)
Code:
Usage:  command [-alnvergh] [-c config] infile outfile

Synopsis:  When I was a young child, my father would bring me along as he hunted for quail.  It was through this early bonding opportunity that I first discovered the ordered rhythm of life.  And so, I began a decade-long journey to devise the ideal algorithm for coordinating the venerable timer (as you might find in /proc/kernel/....

<425 pages later>

... and so you may wish to correlate the oscillation of rubidium to the polling frequency with which you query the server, or otherwise tune the COSMIC_QUANTA_MANIPULATION field to a suitable integer between 7 and the natural log of ....

For the love of... I just want to know how to synchronize the system clock to my time server on boot-up...  smiley-cry  This has got to be a common scenario!  I could've written my own driver by now!
Logged

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 40
Posts: 5594
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I've found man pages come in two lengths

If you want a real fun one to read, check out the man page for "sudoers" (ie - the list of sudo users, more or less).

That file has a particular "grammar" behind it, described in something called "Extended Backus-Naur Form (EBNF)"; because I imagine most people have no idea what that means, the author of the sudoers man page decided to stick a "Quick guide to EBNF" in the middle of the man page.

It's not that it is long, it's just that it is weird and dense - a strange little bit in the overall landscape of *nix...

smiley
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 40
Posts: 5594
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

For the love of... I just want to know how to synchronize the system clock to my time server on boot-up...  smiley-cry  This has got to be a common scenario!  I could've written my own driver by now!

Also, honestly - this doesn't look that difficult (mind you, I've never tried):

http://www.akadia.com/services/ntp_synchronize.html
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 40
Posts: 5594
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Have you noticed that a lot of instructions on how to do things in Linux are a bit like this picture:-

What I have found in my years of linux (been playing with it since 1995 or so) has been either instructions/tutorials to solve an issue tend to be extremely dense (verbiage, or just a lot of steps, or both) - or that they feels like a LISP program (at every turn, there is something different to do, nested lower - and in many cases a lot of dependencies to fight over until it comes back together at "the top").

Yes - sometimes I have run into the "draw an owl" scenario, but more often than not, the above two scenarios seem far more common to me.

Not that I mind - in fact, I enjoy it to an extent. I look upon it as a puzzle to solve - and most of the times I manage to get it figured out (often forgetting why I was there in the first place!). Part of it stems from my personality (and/or lack thereof), but part of it had to do with my masochism of one of my first linux installs a long time ago:

Turbo Linux 2.0 on a 486 laptop with 8 meg of RAM; I had to learn not only how to install it, but also how to re-compile the kernel in order to get the sound card, PCMCIA slots, and other peripheral devices all working properly. Ultimately, I got it done, but not without a lot of reference to man pages, the internet (over a modem back then), and more than a few books.

If that didn't scare me away, nothing will (actually, I had a small amount of prior Unix experience under my belt, so I wasn't all that unfamiliar with the "density" of *nix)...
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 333
Posts: 22973
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Turbo Linux 2.0 on a 486 laptop with 8 meg of RAM; I had to learn not only how to install it, but also how to re-compile the kernel in order to get the sound card, PCMCIA slots, and other peripheral devices all working properly. Ultimately, I got it done, but not without a lot of reference to man pages, the internet (over a modem back then), and more than a few books.
I make my first encounter with Linux in the late '90s, with SUSE Linux 6.something.
I had an average PC so I didn't have problems to install it. But when I tried to install it on my girlfriend's machine, a Pentium I 133 (maybe...) I stucked with the sounc card of her PC, a Creative SoundBlaster32, if my memory is correct... No sound. No module in the default kernel. So I passed several hours recompiling the kernel to add the modules to support it.. and finally I got it.  smiley-wink
Ahhh. the good old days  smiley-yell
Logged


Anchorage, AK
Offline Offline
Edison Member
*
Karma: 42
Posts: 1176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

For the love of... I just want to know how to synchronize the system clock to my time server on boot-up...  smiley-cry  This has got to be a common scenario!  I could've written my own driver by now!

Also, honestly - this doesn't look that difficult (mind you, I've never tried):

http://www.akadia.com/services/ntp_synchronize.html

It's isn't, really.  This is probably a bad example, but it's inspired from a real life event:

The NTP package maintainers are threatening to remove ntpdate from the distribution.  "This functionality is now available in the ntpd program ... after a suitable period of mourning, the ntpdate program is to be retired..."

Now, if you didn't already have ntp.conf set up for continual synchronization or time serving, the procedure has effectively changed from a simple "ntpdate  some.ntpserver.com" into an exercise in configuring permissions and one-executable-to-rule-them-all-ness.  Not a very Unix-like philosophy (do one thing, well), and otherwise not an improvement in any meaningful way.

Since I literally just wanted to set the time, once, and get on with what I was doing, I ended up using the manual "date" command instead.  I just needed the clock to be in the right year.
Logged

Dubuque, Iowa, USA
Offline Offline
Faraday Member
**
Karma: 49
Posts: 2544
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The NTP package maintainers are threatening to remove ntpdate from the distribution.  "This functionality is now available in the ntpd program ... after a suitable period of mourning, the ntpdate program is to be retired..."

The reasoning behind that is because there's no one to maintain the code and it's fallen into disrepair over the years. So you could say it's being dropped because all of its users are too lazy to take it on and fix it up.
Logged

field road, jupiter creek
Offline Offline
Sr. Member
****
Karma: 6
Posts: 354
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If you look in /usr/doc/how_to, there are more than a few pages that have

"....the the the..."

this should tells us the author typed them just before dawn, after WAY too much coffee
Logged

Anchorage, AK
Offline Offline
Edison Member
*
Karma: 42
Posts: 1176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Keep in mind, he may just have had a stutter.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I hope I understand the main point of this discussion and that is: man pages for gnu/linux tools are not a good resource for beginners.
as far as I know, man pages are not intended to be the primary resource to learn new things (i.e.,, they typically lack examples which is a crucial feature for newcomers), man pages are designed to act as exact reference for the linux tool/binary (specification).

To use man page to learn e.g., vim compares to use npn transistor datasheet to learn how transistors work.
Logged

Anchorage, AK
Offline Offline
Edison Member
*
Karma: 42
Posts: 1176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It's not specific to man pages, I don't think.  I've read several walk-throughs that were intended to be consumed by beginners, and had lots of step by step instructions before turning into something like:  "Then edit your network configuration files as necessary."

Part of it is the experience gap between the user reading the guide, and the programmer / enthusiast writing it.  It's hard to know or remember what things are going to go over the heads of an inexperienced audience.  Then there's the complexity of a modern Linux system, where you could be doing any of a hundred different things.  Documenting them all, exhaustively, without reading like a Choose-Your-Adventure novel would be a considerable undertaking.  There's also laziness, as the author runs out of motivation after writing five pages of elementary text.
Logged

field road, jupiter creek
Offline Offline
Sr. Member
****
Karma: 6
Posts: 354
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It's not specific to man pages, I don't think.  I've read several walk-throughs that were intended to be consumed by beginners, and had lots of step by step instructions before turning into something like:  "Then edit your network configuration files as necessary."

Part of it is the experience gap between the user reading the guide, and the programmer / enthusiast writing it.  It's hard to know or remember what things are going to go over the heads of an inexperienced audience.  Then there's the complexity of a modern Linux system, where you could be doing any of a hundred different things.  Documenting them all, exhaustively, without reading like a Choose-Your-Adventure novel would be a considerable undertaking.  There's also laziness, as the author runs out of motivation after writing five pages of elementary text.

This where distros like Ubuntu come into play.
If you've wrestled with Debian or (god forbid) any redhat distro, installing and running Ubuntu feels like you're back in ME land.

My first Linux system was a DX4-100, which is still running Potato and DR-DOS, configuring things like X was a bit of a trial, the network stuff was easy, right up until I tried using samba to get the 'doze machines into the fray.
Netatalk, for the older Mac's I have was pretty simple, but I never did get the bridge on the Mac side of things to work, which meant the Linux and 'doze machines couldn't print directly to the LaserWriter.

I'm really not sure why a "beginner" would run vi or emacs, right from the get go I always used MC's internal editor.
That being said my mate who got me into Linux threw me in the deep end straight away by getting me started on compiling a custom kernel.

With ANY Linux package compiling starts with

Code:
./configure

from there you get to see if all the tools are there and working, you follow it up with

Code:
make

for a kernel it's

Code:
make bzlilo modules modules_install

Things are a bit different with grub, but it's a similar process
Compiling quake(n) or mjpegtools or what ever is a similar process.

But it's not something a beginner is going to NEED to do, not unless you have a video capture card or get into SDR or something.

It is actually quite hard to really "break" a Linux system badly enough you will need to re-install.
As for man-pages being hard to read, I don't get it.
Most man pages and the newer doc system have groovy little examples right at the end.

Under a Debian based distro, either vanilla Debian or Ubuntu, go to your package management weapon of choice, install the Linux How To's, there is some great reading in there.

These days configuring X, CUPS and a network is a hell of a lot easier than it ever has been.
Logged

Pages: [1] 2   Go Up
Jump to: