# Linux Sea - Complete Linux handbook with Gentoo as OS

## Sven Vermeulen

Hi all,

I've been writing an online handbook on using GNU/Linux (mainly command-line driven). The idea was to elaborate a bit more on the Linux architecture (processes, file system, users and permissions, etc.) and use Gentoo Linux as the distribution to show the various aspects. Although the document is still far from "production-ready" (read: it still needs lots of information, many parts need to be written more elaborate, etc.) I believe it is quite usable for many people already.

The document is available online, a PDF version is available as well. I'd like to know what you think about the document. Mind you, it is not my intention to bring in the graphical aspects of (Gentoo) Linux (of course, extending the current introduction is possible).

----------

## Yttrium

Great! It's written very nice (I've only read parts of it though). I started using gentoo (and linux in general) ~6-12 months ago. It would have been great if I knew this before, because I spent a lot of time getting more or less simple tasks to work. There's still much I can learn from it now and I am surely going to read more of it. I'll recommend this to everyone who wants to know more about linux.

I also like the included exercises and that it focuses important commands and principles: It follows a central theme and might even answer questions you don't even know you've had.

I guess you've spent much time on it. Thanks for sharing this!

----------

## XQYZ

Looks great, I bet I'll be able to learn some new tricks from it, so thanks a lot for making it available for us.

----------

## Mike Hunt

I've been using it for a while, especially chapter 7 - Manually Configuring a Kernel. The step-by-step guidance helped me get a small, fast, very efficient kernel.  :Smile: 

----------

## ppurka

Very nice documentation. Thank you!

----------

## Sven Vermeulen

Talking about the kernel configuration, I'm going to update this in the near future with information on using Pappy's kernel seeds (they are popular and well designed) for the default settings.

----------

## unixbhaskar

Kudo to you. 

Keep up the good work man!   :Smile: 

----------

## few

I have some notes about chapter 9.

In chapter 9 -> "Masked Packages"

At least masked by backtracking, by license and by EAPI are missing.

In chapter 9 -> "Uninstalling Software" 

You use emerge -C when there are better alternatives. -C is only for cases when emerge --depclean doesn't want to remove it and you know what you are doing. First use

emerge --deselect <pkg>

to get it out of your world file and then either use

emerge --depclean

or

emerge --depclean <pkg>

In chapter 9 -> "Compiler Directives"

I would prefer -march="native". You might want to mention -mtune.

In chapter 9 -> "Portage Behavior"

You suggest using FEATURES="collision-protect" when emerge changed the default to FEATURES="-collision-protect protect-owned".

You might want to mention FEATURES="buildsyspkg".

In chapter 9 -> "Switching System Profiles"

There is a footnote talking about virtuals. This footnote only applies to old style virtuals.

other ideas for chapter 9:

You might want to mention app-portage/autounmask.

----------

## sera

Holy cow! Amazing what you have put together.

One of the more difficult concepts in Linux is the split between OS and WM/DM and the accompanying diversity. Mentioning Gnome and KDE is a must, but having xfce as the only other example isn't sufficient as this one fits in the very same category.

It would be nice if you could expand on this chapter. Wikipedia has a nice article: http://en.wikipedia.org/wiki/Window_manager

As we are talking about Gentoo mentioning Xresourses and app-defaults would probably fit this guide as well.

Keep it up.

----------

## d2_racing

Thanks for this great book  :Razz: 

----------

## aidanjt

Good work.

One thing I'd like to see in.. well.. any Linux documentation is a crash course in email handling (both local delivery and forwarding).

----------

## pappy_mcfae

Sven Vermeulen,

I am very honored by your words. Thank you for including my project in yours.

Blessed be!

Pappy

----------

## d2_racing

Yep, Pappy is doing a great job  :Razz: 

----------

## mjf55

Wow, great information, well written.  Kernel configurations have always been problematic for me, now with your help in the book, those days will be gone.  Thank you....

----------

## d2_racing

In fact, nowdays we need some extra info when we configure a kernel,because each time that there is a new kernel, there is a lot of new stuff  :Razz: 

----------

## cach0rr0

this is pretty awesome work man, many thanks - now bookmarked!

----------

## Sven Vermeulen

 *few wrote:*   

> I have some notes about chapter 9.
> 
> In chapter 9 -> "Masked Packages"
> 
> At least masked by backtracking, by license and by EAPI are missing.
> ...

 

These functions are only available from Portage 2.2 onwards. I'm waiting with integrating this in the documentation until Portage 2.2 (or higher) is generally available. At that time, I will probably rewrite some paragraphs with new (imo better) best practices for Gentoo.

 *few wrote:*   

> 
> 
> In chapter 9 -> "Switching System Profiles"
> 
> There is a footnote talking about virtuals. This footnote only applies to old style virtuals.
> ...

 

I'm not sure what you mean with this. Are there many types of virtuals?

Thank you for your feedback. Your other proposals have been integrated.

----------

## Sven Vermeulen

 *sera wrote:*   

> Holy cow! Amazing what you have put together.
> 
> One of the more difficult concepts in Linux is the split between OS and WM/DM and the accompanying diversity. Mentioning Gnome and KDE is a must, but having xfce as the only other example isn't sufficient as this one fits in the very same category.
> 
> It would be nice if you could expand on this chapter. Wikipedia has a nice article: http://en.wikipedia.org/wiki/Window_manager
> ...

 

You're right about the window managers versus desktop environments. I do talk about window managers at the beginning, but leave it at a single paragraph as most users use desktop environments anyway. There should definitely be a "Going Graphical Gentoo" explaining (Gentoo) Linux fully graphically, and only resorting to the console for rescue operations. Sadly, I'm one of those people who have little experience with graphical environments (I'm on Xfce just for firefox, all the other things I do are within uxterm with screen).

----------

## Sven Vermeulen

 *AidanJT wrote:*   

> 
> 
> One thing I'd like to see in.. well.. any Linux documentation is a crash course in email handling (both local delivery and forwarding).

 

Good suggestion... although I'm not sure if local delivery / forwarding is something I want to include at this point. Rather, most users would probably have enough "work" with integrating their e-mail client with the IMAP server of their provider.

I think I'll sit on this for a few days  :Wink: 

----------

## nenemsis5

nice book . thanks alot could u try to make an pdf with an index plz

----------

## Sven Vermeulen

Hi nemesis5,

The PDF can be downloaded and has an index.

----------

## slangdaddy

Hi Sven,

I just read the intriduction of your book and I have to say that I like it very much. I see that you use docbook to create the web pages, would you mind to share the sources ? I am using docbook for some documents at work and would like to see how other people use it.

Also, I'd like to translate your book into German, If you're interested.

----------

## sera

Hi Sven,

I went through the alsa section and have a few comments I'd like to add.

The default setup comes with the dmix plugin enabled. And most of the time there is nothing to be done at all. Also the default pcm devices could be mentioned.

The command aplay -l (instead of cat /proc/asound/cards maybe) and aplay -L could be mentioned too as they give quite a good overview of your hardware and pcm devices.

What are pcm devices/streams? If you can put that in words would be just great and probably unique on the whole Internet.  :Rolling Eyes: 

What happens if two different soundservers are needed at the same time because the stupid apps won't talk to alsa directly or to the other soundserver. How to setup those two? One using the other or both using dmix. Setting the useflags for soundservers when they are not required is asking for troubles in my experience.

Using alsactl when /etc/asound.conf and /.asoundrc can do the same is in my eyes wrong for fix setups. Alsactl is more of an audio development tool. The api at http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html for the default plugins and the files at /usr/share/alsa/ the pcm concept covers most of what's needed to understand the a bit special configuration system.

Instead of using the asound init script or alsactl one can for instance have a script or initscript asoundPPHome containing:

```
amixer set Master 60% unmute
```

one asoundPPOffice containing:

```
amixer set Master 20% unmute
```

and one asoundPPParty containing:

```
amixer set Master 100% unmute
```

This way you can have profiles and you do not run the risk of a very noisy startup of your laptop in a library.  :Wink: 

A common use case is to upmix 2.0 to 5.1. An example on how to do that could be discussed and shed some more light on configuring alsa.

If you know of a good way to search for third party plugins like a low-pass filter (which would be needed for the upmixing example) would be nice as this is something I struggle myself.

Hope you can use some of the above.

Cheers,

sera

PS: About the wm/dm thingy, I meant all that people want is a wm plus a set of tools and that a dm is nothing more than a bundle of a wm plus a fix set of tools and this is a huge conceptual difference to MS. Not knowing you can choose that fine grained many think there is kde or gnome and nothing beside that.

----------

## nenemsis5

would be nice if we can make this book to an wiki and ppl can all time update it. why not make it to open source document too. XD

----------

## gentoo-dev

 *nenemsis5 wrote:*   

> would be nice if we can make this book to an wiki and ppl can all time update it. why not make it to open source document too. XD

 Did you read it from the very beginning? *author wrote:*   

> You are free to share (copy, distribute and transmit) the work as well as remix (adapt) the work under the conditions of the Creative Commons Attribution Noncommercial Share Alike 2.0 license, available at http://creativecommons.org/licenses/by-nc-sa/2.0/be/deed.en 

 

----------

## gregool

really amazing job! very useful ! congratulations

----------

## keet

I'm enjoying reading it so far; thank you for such a good work.  I wasn't looking for spelling errors, but I did find the non-word 'beneith' (it should be beneath) in chapter one under 'Linux is non-graphical'.

----------

## Sven Vermeulen

Thanks; I indeed need to run the texts through grammar and spelling checkers, but nevertheless I've already changed beneith to beneath  :Wink: 

The document is progressing, now with more information on services (runlevels) and a few updates on the resolving sections (resolving boot failure, build failure, install failure).

----------

## Sven Vermeulen

Part of the book I'm also trying to create a sort-of on-line questionnaire. It's a set of files (HTML/XML/XSLT) and javascript support that allows you to fill in questions on the various chapters of the book.

The questionnaire can be tried online; I do appreciate feedback (even though only a few chapters have received questions, I'm going to continue extending it) of course. If you want more information on the file-set, there's a page on-line describing it in more detail.

----------

## Mike Hunt

Man this book still soooo rocks it baby, and I've been through it so many times now it's crazy.

Great contribution Sven.

Smile  :Smile: 

Cheers,

MH

----------

## mikegpitt

This is a tremendous work!  Congratulations on writing a book... a lot of people have book ideas, not many actually turn into an actual book!  Good luck on its continued progress   :Smile: 

----------

## StarLab

A quick look has already enlightened me to a few things. Can't wait to dive into it deeper.  :Smile: 

Thanks for this contribution! Exactly what I've been looking for. All the basics in one document!

Great job!

----------

## slackline

Just come across this, and from a quick skim it looks brilliant, well written and detailed.

Will be flicking through in due course, thanks for making it available.

slack

----------

## Mike Hunt

Starting to have too many problems with the manual kernel config examples. 

With the newer hardware too much stuff is gone from the examples.

Case in point:

nvidia drivers need PCI_MSI nowadays to function correctly.

Yes the examples are barebones, but when someone like me doesn't know what they're doing it can lead to performence problems.

Wonder if this can be addressed in some fashion.

Thanks.

----------

## Sven Vermeulen

Documenting how to configure everybody's kernel is indeed quite difficult. Up until now, I've focused on explaining how I configure my own kernel (minus the debugging aspects) as it is the only safe setting that I can document together with the necessary examples and cases (on how to obtain the necessary information from the system). It is also the easiest way to document things.

Perhaps a better way of documenting kernel configurations is possible, but I haven't found it yet. I'm open for ideas of course.

----------

## Mike Hunt

Ok, bro. I figured it would be somewhat difficult to make any kind of general example that would satisfy many users.

Nowadays, I'm basically using the mrproper defaults, minus some drivers that I know I don't need, such as sound drivers, and so on ...

Thanks again for a really great book.

Cheers,

Mh

----------

## Kasumi_Ninja

Thanks for a great book, my compliments it looks really professional.

 *few wrote:*   

> In chapter 9 -> "Uninstalling Software" 
> 
> You use emerge -C when there are better alternatives. -C is only for cases when emerge --depclean doesn't want to remove it and you know what you are doing. First use
> 
> emerge --deselect <pkg>
> ...

 

Iw would be nice to add instructions how to apply this when a package in not in the world file. How do you backtrack a installed dependency to a world package? e.g when trying to install wicd you a get a blocked package message:

# emerge -av wicd

```
....

[blocks B     ] sys-power/powermgmt-base ("sys-power/powermgmt-base" is blocking sys-power/pm-utils-1.3.0-r2)

Total: 9 packages (9 new), Size of downloads: 2,464 kB

Conflict: 1 block (1 unsatisfied)

 * Error: The above package list contains packages which cannot be

 * installed at the same time on the same system.

  ('installed', '/', 'sys-power/powermgmt-base-1.22', 'nomerge') pulled in by

    >=sys-power/powermgmt-base-1.22 required by ('installed', '/', 'sys-apps/apmd-3.2.2_p5', 'nomerge')

  ('ebuild', '/', 'sys-power/pm-utils-1.3.0-r2', 'merge') pulled in by

    >=sys-power/pm-utils-1.1.1 required by ('ebuild', '/', 'net-misc/wicd-1.7.0', 'merge')

For more information about Blocked Packages, please refer to the following

section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked
```

# emerge --deselect apmd

```
>>> No matching atoms found in "world" favorites file...
```

----------

## Sven Vermeulen

As a follow-up note, i've added the sources to github.

----------

## krinn

Suggestion for kernel configuration.

you should add the lspci -k, this ease anything and it's a (imo) major source of information (always better than asking someone lscpi -n to go to some url just to get the info, that might even be less accurate)

using make install instead of cp the kernel file?

- cp the file you can make error while doing it, higher failure chance.

- make install backup all files it replace with .old, and nobody could say backup are useless no?

- you use grub best choice for bootloader and some backup kernel entry in it, while making a "kernel /vmlinuz.old" will also make an auto backup to the previous kernel, but you need make install to really use that

- make install also copy in boot the kernel config

- make install copy all needed files from the kernel to a generic name + kernel version: vmlinuz + vmlinuz-2.6.30, or vmlinuz-config & vmlinuz-config-2.6.30... really easy and flexible

in fact with only this 2 things, it's nearly impossible to create a bad kernel anymore, even you never heard of a kernel before.

make allmodconfig (some people may argue there, but i don't care time spent in compilation nor waste disk space, any newbie will prefer waiting a bit more and having a working kernel)

lspci -k

set to Y anything show in the lspci -k list

... (few thing to change remain, like choosing cpu, this is still where user can fail)

make modules && make modules_install

make install (this, grouped with the grub entry pointing to /vmlinuz & /vmlinuz.old) simply remove the need to edit/change grub.conf when you install a new kernel, again easier & lowering errors chance)

edit: nicely made and ease to use, i love the paragraphs not too big... nice work.

----------

## Sven Vermeulen

Thanks for the feedback. I'll see to document the lspci -k stuff. I'm not sure about the make install part - I know I used to have many issues with that but I can't really remember what they were (years ago). I'll think about it for a while and see.

My main problem nowadays is that I'm reluctant to try out different boot-related configurations. My current laptop's DVD-drive is failing (booting from a CD is almost impossible) and doesn't seem to find my USB stick at boot-time, so rescuing boot-failures is always a time-consuming problem  :Sad: 

----------

## Gilles carlos

Hi,

Congratulations, this book is great !

I have not finish the reading, but that was helpfull for me...

Thank's again Sven   :Wink:  !

Bye !

 :Laughing:   :Laughing:   :Laughing: 

----------

## Amity88

Hey, thanks for writing down all that. It's a great reference! I recompiled my kernel based on your suggestions and it works great  :Very Happy: 

----------

## d2_racing

Hi, do you keep a changelog of your doc ?

Because, I will print it for my collegues and maybe when there a big revision, I'm gonna print it again  :Razz: 

----------

## Sven Vermeulen

Not yet, but I plan to eventually.

----------

## bus_drivr

Awesome document. If you are still updating it the wireless-tools is outdated 

currently according to I believe it was Larry Fingers's reply from the wireless.kernel.org

mailing list-

"The encryption is being handled by mac80211, wpa_supplicant, and the device. The

"encryption key:off" should be ignored. The wireless extension tools such as

iwconfig are being phased out and do not always have the best information."

Further wireless.kernel.org recommends using wpa_supplicant iw regdb and crda 

all of which are currently in portage.

IE

random david # iw list 

Wiphy phy0

	Band 1:

		Frequencies:

			* 2412 MHz [1] (20.0 dBm)

			* 2417 MHz [2] (20.0 dBm)

			* 2422 MHz [3] (20.0 dBm)

			* 2427 MHz [4] (20.0 dBm)

			* 2432 MHz [5] (20.0 dBm)

			* 2437 MHz [6] (20.0 dBm)

			* 2442 MHz [7] (20.0 dBm)

			* 2447 MHz [8] (20.0 dBm)

			* 2452 MHz [9] (20.0 dBm)

			* 2457 MHz [10] (20.0 dBm)

			* 2462 MHz [11] (20.0 dBm)

			* 2467 MHz [12] (20.0 dBm) (passive scanning, no IBSS)

			* 2472 MHz [13] (20.0 dBm) (passive scanning, no IBSS)

			* 2484 MHz [14] (20.0 dBm) (passive scanning, no IBSS)

		Bitrates (non-HT):

			* 1.0 Mbps

			* 2.0 Mbps (short preamble supported)

			* 5.5 Mbps (short preamble supported)

			* 11.0 Mbps (short preamble supported)

			* 6.0 Mbps

			* 9.0 Mbps

			* 12.0 Mbps

			* 18.0 Mbps

			* 24.0 Mbps

			* 36.0 Mbps

			* 48.0 Mbps

			* 54.0 Mbps

	max # scan SSIDs: 4

	max scan IEs length: 2288 bytes

	Coverage class: 0 (up to 0m)

	Supported interface modes:

		 * IBSS

		 * managed

		 * AP

		 * AP/VLAN

		 * monitor

		 * mesh point

	Supported commands:

		 * new_interface

		 * set_interface

		 * new_key

		 * new_beacon

		 * new_station

		 * new_mpath

		 * set_mesh_params

		 * set_bss

		 * authenticate

		 * associate

		 * deauthenticate

		 * disassociate

		 * join_ibss

		 * remain_on_channel

		 * set_tx_bitrate_mask

		 * action

		 * set_wiphy_netns

		 * set_channel

		 * connect

		 * disconnect

----------

## Sven Vermeulen

I'm still updating it, but this is the first time I've heard that iwconfig (and other wireless-tools commands) are really obsoleted. I know there's progress in deprecating them, but I have not found a fully functional toolset that is well documented and can do most/all of the stuff wireless-tools does).

----------

## d2_racing

Yeah, I saw that net-wireless/iw    will replace one day iwconfig.

----------

## Sven Vermeulen

Aha, thanks, time to try that out then  :Wink: 

----------

## BitJam

Looks like a great idea!  I'm looking forward to reading it.

One thing that really struck me when I read the table of contents was that you seem to repeatedly use the word "Linux" to stand for "GNU/Linux".  If you are only talking about the kernel then "Linux" is appropriate but when you are talking about the entire operating system, the correct term is "GNU/Linux".

----------

## Sven Vermeulen

Yup, I know about the Linux versus GNU/Linux part. I've been thinking about mentioning why I use Linux all over the place, but left it as is. I've also been thinking about substituting with "GNU/Linux" all over the place, but left it as is as well. Generally, people talk about Linux as the operating system / concept, so I decided to stick with this. Doesn't mean it won't change in the document anymore, just that this is how it is today and wasn't a forgotten item  :Wink: 

----------

## NotQuiteSane

 *Sven Vermeulen wrote:*   

> Part of the book I'm also trying to create a sort-of on-line questionnaire. It's a set of files (HTML/XML/XSLT) and javascript support that allows you to fill in questions on the various chapters of the book.

 

I skimmed the book, and am taking the quiz. (i'll come back to the book proper once i've actually read it)

```
Question 1 of linuxsea/02-freesoftware

Question: What license allows you to do whatever you want with an application?

Which of the following licenses allow you to do whatever you want with an application?

X

Apache License

X

GPL

X

MIT License

V

Public Domain

X

NoCopyright License

X

Any application where no license is added
```

might want to add the WTFPL:

 *Quote:*   

>             DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
> 
>                     Version 2, December 2004
> 
>  Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
> ...

 

```
Question 2 of linuxsea/03-community

Question: What software technology allows for online collaboration for developing documentation?

X

BBS or forum software

V

Wiki software

X

IRC software
```

Technically, any of those allow for the collaboration, but Wiki software is a common method of editing documentation.

 *online dictionary wrote:*   

> col·lab·o·rate  (k-lb-rt)
> 
> intr.v. col·lab·o·rat·ed, col·lab·o·rat·ing, col·lab·o·rates
> 
> 1. To work together, especially in a joint intellectual effort.
> ...

 

```
Question 9 of linuxsea/04-runninglinux

Question: With what command would you navigate into the /etc/X11 directory?

That's correct!

Sorry, that's incorrect :-(

The correct answer is cd /etc/X11.
```

Sorry, that's incorrect.   

cd is the command.  /etc/X11 is the arguemunt to the command.

```
Question 11 of linuxsea/04-runninglinux

Question: Which commands can be used to navigate towards your own home directory?

V

cd

X

cd ~home

V

cd ~

X

goto $HOME

That's correct!

Sorry, that's incorrect :-(

The correct answers are cd or cd ~.

Using cd ~home would result in an effort to go to the "home" users' home directory (/home/home).
```

see above, same argument.

I'll review more later,

NQS

----------

## XQYZ

In the Cups chapter, the daemon startup script is called "cupsd", not "cups". so "/etc/init.d/cups start" should be "/etc/init.d/cupsd start" and "rc-update add cups default" should be "rc-update add cupsd default"

----------

## d2_racing

About the section 16.4, when you talk about Funtoo, it was true in 2009, but you should ask on the Funtoo dev list, if DR recommend using Stage3 from Funtoo to install Gentoo, because now there some diff if you look at the toolchain.

Funtoo use baselayout 2.1.8 with some custom config, a different version of OpenRC , a tweaked udev and so on. 

And Funtoo use GCC 4.4.3 instead of GCC 4.4.4 inside Gentoo.

----------

## Sven Vermeulen

Thanks all for the great replies. I'll incorporate those as soon as possible.

I've been unsuccessful in getting iw to work on my wireless (it's a broadcom-sta setup, which is probably the culprit). I'm going to watch over postings across the Internet to see if I can come up with the necessary knowledge to add that to the document.

----------

## Sven Vermeulen

 *NotQuiteSane wrote:*   

> 
> 
> might want to add the WTFPL:
> 
>  *Quote:*   
> ...

 

That particular line alone makes the WTFPL less "you can do whatever you want" than the PD.

----------

## eddie85

Hi,

on the online version, http://swift.siphos.be/linux_sea/ch02.html, the link at the very bottom,

"Fighting Software Patents", seems broken.

Thanks a lot!

----------

## Sven Vermeulen

Okay, use of the nl80211 supporting "iw" toolset is added and the chapter on software management has been reorganized. I've also put a changelog online.

----------

## d2_racing

Nice work  :Razz: 

----------

## Sven Vermeulen

I added the start of two additional chapters, Log file management and Taking Backups.

----------

## d2_racing

@Sven, you should talk about the Stage4 and the Stage5.

It can be a lifesaver when you have a terrible crash  :Razz:  You know, some BRTFS glich  :Razz: 

----------

## Sven Vermeulen

I'll definitely talk about it, but the talk itself will be general, because I've seen various definitions (and scripts) for stage4 and stage5 floating around. I think I'll use a similar approach, just a bit different  :Wink: 

----------

## d2_racing

Indeed, a Stage 4 is for a minimal backup and it's Gentoo related and you have a Stage 5 backup that can be use to backup the whole partition and it's not related to Gentoo at all.

I even created a method to backup your current box from a LiveCD : http://gentoo-quebec.org/wiki/index.php/Sauvegarde_stage5_avec_SystemRescueCD

Last week, I updated my hardware and I changed my hdd, so instead of ghosting my box, a good old Stage 5 and my /home partition went from 20gigs to 200 gigs in 5 minutes without any problem.

No need to resize or clone partition, with tar you backup only the data instead of the whole partition. That's a great way to upgrade a box without reinstalling.

----------

## stuNNed2

thanks, this is incredible!  i especially like Ch. 9 Software Management - didn't know about `eix -HAS`

----------

## NotQuiteSane

I just read the shell scripting chapter, and perhaps you should change it to bash shell scripts, with a footnote that Bash, while common, is not the only choice in a shell?  perhaps list links to a few.  I'd suggest bourne, tcsh, ksh and zsh.  (among those I know, those are the most common alternatives)

NQS

----------

## Sven Vermeulen

Yeah, and no  :Wink:  I'm currently working with dash as I've heard it is quite posix compliant, and change the chapter to be posix-sh compliant.

----------

## SLBMEH

Very nice work.  I was disappointed to see that there is nothing on the subject of initrd/initramfs.  As well as the genkernel section is very limited.  I think genkernel is very good for beginners, but is also a much more powerful tool.  

I use genkernel myself with Pappy's kernel seeds and generate a basic initrd to then custom tailor to my needs.

----------

## Muso

 *SLBMEH wrote:*   

> I use genkernel myself with Pappy's kernel seeds and generate a basic initrd to then custom tailor to my needs.

 

kernelOfTruth does something similar.   I found out in response to a question I asked about who, aside from newbies, uses Genkernel.   His response showed me how useful it can be with unconventional booting.

----------

## Sven Vermeulen

I know, I was planning on extending the genkernel stuff a bit, but had some trouble getting it to function properly within my virtual environments. That should be fixed by now (last time I checked it booted properly) but I haven't tested it fully since (esp. the stable branch and the support for non-gentoo-sources).

----------

## d2_racing

@Sven Vermeulen, do you plan to create a section about backup method available with Linux ?

Like tar,rsync,partimage, clonezilla,dd

----------

## Sven Vermeulen

There's a section on backups already, but it's limited currently. I use bacula extensively but think that that's outside the scope of an introduction to Linux. Backup ninja is explained as an example of a more "managed" backup process.

----------

## hardly

```
Using cd ~home would result in an effort to go to the "home" users' home directory (/home/home).
```

Typing even cd ~Pictures results in 

```
-bash: cd: ~Pictures: No such file or directory.
```

Proper would be cd ~/Pictures as /home/user/Pictures is a valid path. ~Pictures is not on my particular file system.

I always thought that the tools and libraries were on TOP of the Linux kernel, not beneath them or running under the kernel. 

http://farm1.static.flickr.com/45/140859386_a665ec5a58.jpg

Also, Broadcom open-sourced their wireless driver so it should end up in the kernel pretty quick.

----------

## Sven Vermeulen

hardly, where do you get the impression from the document that the tools run in or under the kernel?

----------

## wrdaniel

page 170:

These settings are read as environment variables (which are discussed later) ...

They are discussed erlier in the same chapter.

Thanks for the book, good work. Would be useful if there was some version number so you can check you have the newest .pdf version

----------

## Sven Vermeulen

Silly me; I have docbooks' "edition" tag for versioning, but I never checked if that really resulted in anything in the HTML or PDF output. Apparently not.

I've added a paragraph on the version to the document abstract (right before the copyright). The latest "build" also uses mlocate instead of slocate (apparently slocate is being deprecated) and I added some information on the "emerge cannot satisfy dependency -> change use" scenario as well.

----------

## rjw8703

Hi Sven,

I read through your book, Linux Sea.  Outstanding job.  It is perfect introduction for new users.  Have you ever considered writing a Gentoo linux administration guide? In that guide you could cover some of the topics (in much more detail of course) that are being asked here in the forum.  I have noticed in the last couple of years that the information from gentoo is very dated, and is in need of some serious upgrading.  

Again, great job of writing Linux Sea.  It should be required reading for anyone beginning to learn Gentoo linux.

----------

## Sven Vermeulen

I've been pondering about an administration guide, but I feel that it is a job which needs at least 5 or 6 contributors from different fields. I can contribute a lot to system management, performance tuning as far as system components is concerned (like I/O), storage management (lvm, file system tuning) and memory management (kernel), but I have very little experience with monitoring or various server components (like Samba, NFS, ...) apart from the pure basics. I once started a similar aspect using DITA (IBM's Darwin Information Typing Architecture) just to get a feeling about DITA, but found the support for the language too limited (little community coverage).

----------

## Sven Vermeulen

Version 1.3 of Linux Sea (PDF) has been published.

Changes: added information on file system labels and UUIDs as well as how to use them in fstab (and why they don't work for the kernel's root=... setting out-of-the-box).

----------

## d2_racing

Pretty nice stuff  :Razz: 

I'm gonna try the label stuff for sure one day  :Razz: 

----------

## bodhi.zazen

Very nice guide, thank you for writing it up, maintaining / updating it, and making it freely available.

Chapter 7 is (IMO) most helpful and your examples are clear and concise, perfect for  the "new user" wanting to compile a custom kernel.

----------

## d2_racing

Hi, about the compilation of the current, I use for a while this command :

```

# time make && make modules_install && make install

```

So, there's no need to cp manually the bzimage.

----------

## krinn

d2_racing -> https://forums.gentoo.org/viewtopic-p-6364648.html#6364648

 :Very Happy: 

----------

## d2_racing

I didn't remember that one  :Razz: 

----------

## patrix_neo

Hmmm...this will come in handy. Thanks a lot (for the effort)!

----------

## Sven Vermeulen

Thanks for all the heads up. 

No, I haven't forgotten about the "make install" one, I'm going to add this in later (it's now mentioned in the TODO file) as I can now test everything in virtual systems (yay for KVM)!

Furthermore, the document has had a quick update on openrc/baselayout, but I'm sure I've forgotten a few references here and there (just got it working here, openrc did just fine, but SELinux failed on it).

----------

## IRQsRFun

Hooray !!

I have not spent much time with this, but there is a definite need for more current documentation and standard practices.  I hope to make time to read this in detail.

Depending on your focus, I want to mention adding the apropos command in the man page section.  I was a user for a long time before I stumbled on this command in some other intro manual.  It does have its some use when one does not know the exact command to use.  One example, (not a very god one) is "apropos dhcp"

----------

## Sven Vermeulen

Good idea. I'll add it to the man page section. Note that "apropos" is similar (if not the same) for "man -k".

----------

## swathe

Wow very nice. Hopefully will get to print this out at work and give it a good read. Well done!  :Very Happy: 

----------

## Killerchronic

Good stuff, i've had a quick skim through and seems it would be a great place to start for a linux "noob" and also has some good stuff for us long time users aswell.

----------

## Ormaaj

There's an Xinclude leaking through here https://github.com/sjvermeu/Linux-Sea/commit/9f5e53e93adeedc5380f684196e4bed74a3753b3 Wrong relative path causes the XSL to include it literally I'd imagine.

----------

## nomilieu

There seems to be a typo in Chapter 6, under Priority and Niceness.

 *Quote:*   

> The value, in the range of -20 to 10, informs the Linux kernel about how nice the program should be towards the rest of the system.

 

----------

