[01:56] <kuto> hi what is inputrc
[01:57] <jrib> hi h0ndaracer2
[01:57] <h0ndaracer2> hello
[01:57] <h0ndaracer2> can u hold one sec
[01:57] <jrib> ok, refresh my mind, you want to delete something on your desktop taht you don't have permission to?
[01:58] <h0ndaracer2> yes
[01:58] <jrib> ok open up a terminal
[01:58] <jrib> !terminal
[01:58] <ubotu> The linux terminal or command-line interface is very powerful. Open a terminal via Applications -> Accessories -> Terminal (Gnome) or K-menu -> System -> Konsole (KDE).  Manuals: https://help.ubuntu.com/community/BasicCommands
[01:59] <h0ndaracer2> ok
[01:59] <h0ndaracer2> got it
[01:59] <jrib> anything I type between '' is a command for you to enter in the terminal.  For example:
[01:59] <jrib> 'cd ~/Desktop'
[01:59] <h0ndaracer2> ok
[01:59] <jrib> take care to type it exactly like that with a capital 'D'
[02:00] <jrib> linux is case-sensitive
[02:00] <jrib> ok now type 'ls'
[02:00] <h0ndaracer2> ok hit enter
[02:01] <h0ndaracer2> ?
[02:01] <jrib> yes
[02:01] <jrib> did it list the files you have on your Desktop?
[02:01] <h0ndaracer2> yes correct
[02:01] <jrib> what is the name of the file you are deleting?
[02:02] <h0ndaracer2> 80211g
[02:02] <jrib> ok, so
[02:03] <jrib> now be very sure you want to delete this, there is no undo or trash, it disappears forever
[02:03] <h0ndaracer2> im shure i dont need it
[02:03] <jrib> 'sudo rm -rf 80211g'
[02:03] <kuto> how do i clear my terminal so it clears everything... so that my terminal looks like a new terminal without any previous inputs?
[02:04] <h0ndaracer2> ok thanks jrib
[02:04] <jrib> np, I'll have the bot send you some info on the cli
[02:04] <jrib> !cli | h0ndaracer2
[02:04] <ubotu> h0ndaracer2: The linux terminal or command-line interface is very powerful. Open a terminal via Applications -> Accessories -> Terminal (Gnome) or K-menu -> System -> Konsole (KDE).  Manuals: https://help.ubuntu.com/community/BasicCommands
[02:05] <h0ndaracer2> maybe if you want to u can help me with sometin else
[02:10] <jrib> h0ndaracer2: just ask in #ubuntu, that way more people can help you
[02:10] <h0ndaracer2> ok
[02:15] <jrib> h0ndaracer2:
[02:16] <jrib> h0ndaracer2: what are you trying to do?
[02:16] <kuto> how come /etc/profile in ubuntu is so small
[02:17] <h0ndaracer2> im wanting to navigate to the home folder then the examples folder so i can delete ht
[02:17] <jrib> kuto: you'd have to ask the package maintainer, but #ubuntu is a better place to ask questions
[02:17] <h0ndaracer2> those files in example that ubuntu came with
[02:18] <jrib> h0ndaracer2: that just a symbolic link I believe
[02:18] <h0ndaracer2> well how do i get to those files then
[02:19] <jrib> do you understand what a symbolic link is?
[02:19] <h0ndaracer2> not really i told you i dont know much about linux im sorry
[02:20] <jrib> that's ok, I just wanted to make sure you understood.  Don't hesitate to ask if i say something you don't understand
[02:20] <jrib> a symbolic link is like a shortcut in windows
[02:20] <jrib> (but better)
[02:20] <h0ndaracer2> ok
[02:20] <h0ndaracer2> this linux is stessing me out try to learn all this stuff
[02:20] <jrib> so do you just want to remove the link so it doesn't show up in your HOME?
[02:20] <h0ndaracer2> no im wanting to go into their and remove a folder
[02:21] <h0ndaracer2> like my examples folder
[02:21] <jrib> so you don't want the Example stuff on your computer at all?
[02:21] <jrib> it's actually in /usr/share/example-content
[02:21] <h0ndaracer2> yes
[02:21] <jrib> and the package that installs that content is example-content
[02:21] <jrib> so you should be able to just remove that package using synaptic
[02:21] <h0ndaracer2> it came with the little video about ubunut and some other files
[02:23] <h0ndaracer2> ok thanks i got to go for now i might be on in a hour or two maybe ill talk to you then thanks for all your help i appreciate it some people on here are a$$es
[02:23] <h0ndaracer2> but thank you again
[02:23] <jrib> np
[03:11] <pradeep> Will the session on Kernel happen today?
[03:14] <tonyyarusso> pradeep: I'm not sure, you'll have to find DBO
[03:14] <pradeep> tonyyarusso, what's DBO?
[03:14] <tonyyarusso> pradeep: The person I think was going to give it
[03:15] <pradeep> oh ok
[03:15] <pradeep> I see him in here -- > :D
[04:10] <seb35690> where is the person ? We want him ! :)
[04:19] <seb35690> Hi DBO
[04:41] <seb35690> DBO : what about the Kernel session ?
[04:56] <DBO> ooop
[04:56] <DBO> dinger went off for THIS room =P
[04:57] <DBO> im used to be contacted in #ubuntu-nun about this
[04:57] <tonyyarusso> Good point
[04:57] <DBO> ah someones still alive
[04:58] <DBO> nobody signed on for sys admin 101 or advanced sys admin either?
[04:58] <DBO> hmmmm a shame
[05:07] <DBO> date for next classroom is set at 20:00UTC
[05:11] <tonyyarusso> DBO: Not yet anyway :(
[05:15] <DBO> tonyyarusso, wanna change it on the wiki for me?
[05:16] <tonyyarusso> DBO: To 20:00?  sure.  So that's in...4 hours?
[05:16] <DBO> 5
[05:16] <tonyyarusso> um...
[05:16] <DBO> oh nevermind
[05:17] <tonyyarusso> I think I'm rgiht
[05:17] <DBO> windows...
[05:17] <tonyyarusso> oh, 'k
[05:17] <tonyyarusso> hehe
[05:17] <DBO> dual booting
[05:17] <DBO> 4 hours
[05:19] <tonyyarusso> DBO: Are you doing both days?
[05:20] <DBO> yeah
[05:20] <DBO> guess so
[05:20] <DBO> nobody else seems to wanna =P
[05:29] <krystyna> <<Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
[05:29] <krystyna> >>
[05:30] <krystyna> when i want install java something like that is on screen
[05:48] <DBO> krystyna, do you have synaptic open?
[05:48] <DBO> or apt-get running elsewhere?
[05:49] <krystyna> now yes but when i tried install java i hadn't run else..
[05:53] <DBO> krystyna, if you are sure you have no other process running with apt
[05:53] <DBO> you can manually remove the lockfile in /var/lib/dpkg
[05:54] <krystyna> how manually remove>?
[05:55] <krystyna> im in directory /var/lib/dpkg
[05:56] <krystyna> and what i have to do...
[05:59] <DBO> delete the file named lock
[06:05] <krystyna> :/
[06:05] <krystyna> access denied
[08:56] <reverseblade> wow
[08:56] <Maikel> ,
[08:56] <yipe> is it okay for us to talk?
[08:56] <Maikel> no
[08:56] <jrib> yipe talked! ban him!
[08:56] <ph8> now you've talked
[08:56] <ph8> ban them all!
[08:56] <jrib> of course it's ok, it hasn't started yet :)
[08:56] <yipe> okay 
[08:57] <Wooksta> what sort of level of detail we going into here? :)
[08:57] <dougsko> hey guys
[08:57] <DBO> mmmm a crowd =)
[08:57] <reverseblade> lol
[08:57] <Maikel> were gonna lynch DBO
[08:58] <DBO> yay I love mobs!
[08:58] <DBO> starting in 2 minutes (theoretically)
[08:58] <dougsko> i didnt know this channel was here
[08:58] <seb35690> DBO you're a boss remember ! ;)
[08:58] <dougsko> this is a cool idea
[09:00] <reverseblade> DBO, are you an ubuntu dev ?
[09:00] <DBO> reverseblade, no, I am only relatively loosely affiliated with Ubuntu
[09:00] <dougsko> what other kind of "classes" are there in here?
[09:01] <ryanakca> dougsko: https://wiki.ubuntu.com/Classroom  has a list of all the classes we've hosted :)
[09:01] <DBO> ok ladies and gentlemen, we are going to get going
[09:01] <dougsko> ryanakca: cool thanks
[09:02] <seb35690> let's go !
[09:02] <DBO> let me first lay out the ground rules
[09:02] <DBO> there are two breaks for questions, one in the middle
[09:02] <DBO> and one half way through
[09:02] <DBO> feel free to /msg me questions at any time though and I will get to them during the question sessions
[09:03] <DBO> this topic is intended for new users mostly
[09:03] <DBO> and for users who hear the word kernel and think popcorn =)
[09:03] <DBO> so lets begin
[09:03] <DBO> Before we begin we need to get a bit of background history both on what an OS is and where Linux comes from.
[09:04] <DBO> We will start with the beginnings of Linux.  Keep in mind that this session is intended for the new user with little or no technical experience, and will not get hung up on terminology.
[09:04] <DBO> We will be spending a lot of time dealing with modules, I thought long and hard about whether or not this was important and decided that if there was one thing users should learn, its how to deal with modules.
[09:04] <DBO> Most users wont compile there own kernel, but many with have their own set of modules to deal with.  So that will be a large focus.
[09:04] <DBO> However before we can really dive into all of that
[09:05] <DBO> we need to get a general idea of what Linux actually is
[09:05] <DBO> many of you may know already that linux is a unix like operating system, and from the users point of view it is perfectly ok (ideology aside) to think of Linux as a type of Unix
[09:05] <DBO> However there are a couple key differences
[09:06] <DBO> namely, Unix is closed source (excluding the BSD's) where as Linux is open source, and equally as important, Linux is free to the user.
[09:06] <DBO> Linux started as a small Hobbyist OS, written by Linus Torvalds, and moved on from there.
[09:07] <DBO> As it grew in complexity, so did the OS that ran on top of it, which too began to be called Linux (or GNU/Linux)
[09:07] <DBO> This has become a small point of confusion however
[09:07] <DBO> Linux is the name of the kernel, and it is also the name of the OS which incorporates the kernel
[09:08] <DBO> To contrast this, OS X (apples OS) has a kernel named XNU, and Windows up to Vista, had a kernel named NT
[09:08] <DBO> AS you may guess, this has lead to a lot of confusion about what Linux actually is
[09:08] <DBO> So for the sake of this class, let use be very very clear, Linux is the kernel on which GNU/Linux, the operating system, runs on top of.
[09:09] <DBO> Confusing?  Probably, so we need to also briefly cover what an Operating System is
[09:09] <DBO> Operating Systems are the most basic set of programs on your computer that make the work you do possible, this DOES include the kernel.
[09:09] <DBO> Make note, an Operating System has a Kernel, but a Kernel is not an Operating System.
[09:10] <DBO> Sometimes you interact with the OS directly, sometimes through the applications you use.
[09:10] <DBO> So let's lay out the hierarchy right now, we have to do it eventually and it always seems too early.
[09:10] <DBO> There are layers to a computer operating system, four of them in Unix to be precise.
[09:10] <DBO> Layer one, the very top layer, we will call Users.  Layer two we will call Shells, layer three will be Linux (the Kernel), and layer four will be the hardware itself.
[09:10] <DBO> so it looks like:
[09:10] <DBO> Users
[09:10] <DBO> Shells
[09:11] <DBO> Kernel
[09:11] <DBO> Hardware
[09:11] <DBO> simple enough?
[09:11] <DBO> oh thank you =)
[09:11] <DBO> its hard to get good help =P
[09:11] <DBO> anyhow
[09:11] <DBO> These layers interact only with the layer above or below them with a couple exceptions we wont be covering
[09:12] <DBO> So as a user to get something done, you interact with shells, shells interact with the kernel, the kernel interacts with the hardware, gets the result, and passes the info back up the chain of command
[09:12] <DBO> From this rather simplistic view it is easy to guess where the rest of the "OS" is if its not the kernel, and clearly its not the user, it must be the "shells".
[09:12] <DBO> And thats pretty much right, before we had a GUI (graphical user interface) your OS was the shell and all the basic commands you could run from it.
[09:13] <DBO> Even today for the most part GUI applications are not really part of the OS but things that run on top of it (excluding the case of Windows).
[09:13] <DBO> Do however keep in mind that what is and is not part of your OS is often a fuzzy line
[09:13] <DBO> This is the basic set of knowledge we need to continue on with our kernel
[09:14] <DBO> at this time we are going to take a short 5 minute break for questions
[09:14] <DBO> I want to make sure everyone is fairly clear on what is going on ehre
[09:14] <DBO> you may ask questions directly in the room =)
[09:14] <Ma1kel> Are you single??
[09:14] <DBO> no
[09:15] <Wooksta> whats the expected duration of this class (approx)?
[09:15] <DBO> I can adjust for your preference =)
[09:15] <Ma1kel> :))
[09:15] <Wooksta> well i aint got much to do for the rest of the night so go as low as u want :P
[09:15] <DBO> everyone is clear on these basic concepts then?
[09:16] <LjL> DBO: is my thinking correct that even the concept of a "kernel" can really only apply when you're talking about an OS that runs with 1) virtualized memory and 2) kernel protection (i.e. applications can't go into kernel mode)?
[09:16] <LjL> at least, the possibility of clearly separating "kernel" and "the rest" without putting another fuzzy line on there
[09:16] <DBO> LjL, in the sense we will be discussing it yes
[09:17] <DBO> LjL, it gets fuzzy when you talk about multi-tasking operating systems that dont offer virtualized memory and kernel protection in any sense
[09:17] <DBO> but those are no longer around so we wont worry about them
[09:17] <LjL> DBO: yes, that was the kind of thing i had in mind, and yes, i realize it hardly applies to today's systems anymore
[09:17] <DBO> its a very good point though
[09:18] <DBO> as computers grow in complexity
[09:18] <DBO> it becomes harder and harder to figure out what classification any one piece of code belongs to
[09:18] <DBO> any other questions? =)
[09:19] <DBO> ok let's move on
[09:19] <DBO> Im going to leave that off
[09:19] <DBO> just ask question whenever since there is not many people here =)
[09:19] <DBO> We can move on to discussing a couple features that make the Linux kernel special
[09:20] <DBO> these features are present in other kernels of course, but they are some of the most basic features of the Linux kernel that make everything you see and do on Linux possible
[09:20] <DBO>  Linux is a multitasking operating system, which also means its kernel has to handle multitasking, after all, it is part of the operating system.
[09:21] <DBO> What does this mean?  Well it means that the kernel is taking care of "interrupting" applications so that another one can work.
[09:21] <DBO> Keep in mind that your computer can only really do one things at once, so when it works on one thing it puts other things on hold
[09:21] <DBO> It is the kernel that decides which thing needs to work and when, and it is very smart about it
[09:21] <DBO> Your kernel will take note when one application is waiting on data, for example if your music player is waiting on that mp3 file from your hard drive, it can't start to decode it until the file gets there.
[09:21] <DBO> So the kernel will put that process on hold until the data gets there, giving other processes a chance to use the hardware.
[09:22] <DBO> This takes place very very very fast however, in the short time we have been discussing this your kernel has switched between different tasks thousands of times, making sure they all have the processing time from the hardware that they need.
[09:22] <DBO> In fact, this is where the concept of processor time comes from, the more a process has to access the hardware, the more processor time it uses.
[09:22] <DBO> This very basic functionality was one of the most important features in early kernels/operating systems and today remains one of the core technologies of computers.
[09:23] <DBO> Without this ability running more than one application at a time would become impossible
[09:23] <DBO> The kernel like we mentioned, deals with all hardware interaction, so when you save a file, your application makes a request that gets passed along to the kernel.
[09:23] <DBO> The kernel will make the decision on whether or not to let you, and even when to write it out.
[09:24] <DBO> In general Linux will delay actually writing the data to the hard drive as long as reasonably possible so that if the data is called up again, as is quite often the case, it already has it loaded in memory (note that one of the slowest devices in your system is the hard drive).
[09:24] <DBO> However this is not without its own problems
[09:24] <DBO> Having so many programs running at once can cause its own issues for the computer.
[09:24] <DBO> Each program will need its own set of memory from the system.
[09:24] <DBO> So it calls out to the kernel says "hey, I need 10MB of memory" and the kernel says back "ok, here you go, your memory is at address 400-2000".
[09:25] <DBO> This is what we call virtualized memory (and no, your kernel does not speak english =P)
[09:25] <LjL> DBO: about the hard drive... when a given task is using too much CPU for my likings, i know i can "renice" it, i.e. change the scheduling priority. is there anything like that for I/O activity in Linux?
[09:26] <DBO> for the most part no, I/O will be load balanced fairly equally
[09:26] <DBO> but there is no quick method Im aware of
[09:26] <DBO> So our application has requested from the kernel a chunk of memory, and the kernel has provided it
[09:27] <DBO> normally our application would use this memory and all is well
[09:27] <DBO> However often times poorly writing applications might try to write to memory they are not assigned, and if they were allowed to this could result in a whole range of badness all the way up to a full fledged system crash.
[09:27] <DBO> The operating system will prevent this of course, this is called Memory Protection.
[09:27] <DBO> Older systems this was not the case
[09:27] <DBO> memory protection is one of the biggest improvements in computer stability ever
[09:27] <DBO> One of the most fun bits of Linux is just how portable it is.  Everyone jokes that they have Linux running on their wristwatch and so on, but in the end it really can be run on just about anything.
[09:28] <DBO> It runs on PDA's, Routers, Macs, PC's, Sun systems, I'm sure it would run on R2D2 if we could get him to stop saving the Universe for a minute.
[09:28] <LjL> ... that provides memory protection hardware ;)
[09:28] <DBO> ah yes
[09:28] <DBO> In fact Linux runs on 20+ different processor architectures, it will even run on your iPod.
[09:28] <DBO>  However this was not always so, and Linux has had to go through a lot of work and different versions to get there.  We are currently in version 2.6.17 in Edgy Eft.
[09:29] <DBO> These numbers are not just random, so lets look at them for a bit.  The first number defines the kernel version, and is changed only when VERY major changes in the kernel occur.
[09:29] <DBO>  In fact this has only changed twice, one from 0 to 1, and again for 1 to 2.
[09:29] <DBO> The second number designates then major revision of the kernel version, and the third number is minor revisions (driver changes and so on)
[09:29] <DBO> You will sometimes see a forth number tacked on, these designate a bugfix or security release that does not quite justify a new minor revision.
[09:29] <DBO> There is a bit of confusion going around right now about even and odd numbers.  Even numbers are often said to be stable releases, odd numbers unstable releases when talking about the second number.
[09:30] <DBO> So 2.6 is said stable and 2.7 unstable.  This actually used to be the case, which is where the confusion comes from.
[09:30] <DBO> Prior to the 2.6 release, even numbers did mean stable and odd meant development.
[09:30] <DBO> So 2.4 was a stable release but 2.3 was a developer release.  Please note that this is no longer the case, odd and even have no more significance.
[09:30] <DBO> In fact, all of this mumbo jumbo about what your kernel is doing is not so far out of your grasp, we can actually look and see what our kernel has been up to.
[09:31] <DBO> so the first and most basic command we introduce new users to is the "dmesg" command.
[09:31] <DBO> It is perfectly safe to run this command for yourself, feel free to try it on your own PC.
[09:31] <DBO> dmesg will show you what errors and informational message your kernel has for you =)
[09:32] <DBO> A lot of times you will see info about hardware drivers being loaded, network interface errors, hits on firewall rules sometimes pop up in there.
[09:32] <DBO>  This is the most basic way to interact with your kernel, by looking at what it has to say.
[09:32] <DBO>  This has a lot of usage and some of you may have even been asked to use this when troubleshooting problems in #ubuntu.
[09:32] <DBO> Of course simply watching is no fun
[09:33] <DBO> So we need to learn to interact with our Linux kernel, and to do that, we need to understand that our Kernel is Voltron
[09:33] <DBO> Some of this may be confusing at first, but we will be doing a hands on excersize shortly.
[09:33] <DBO> There is one other key feature to talk about however, that being kernel modules.  Kernel modules are, unsurprisingly, modular additions to the kernel to add functionality.
[09:33] <DBO> The most common kind of kernel module you will deal with is a device driver.
[09:33] <DBO> If you are running a nvidia video card and you wish to have OpenGL working, you need to load the nvidia kernel module.
[09:34] <DBO> Even things like file system support have been put into kernel modules today, there are tons of them
[09:34] <DBO> To see every kernel module you have loaded right now, simply enter "lsmod" into a terminal.
[09:34] <DBO> To see how many of them are loaded, you can pipe that to wc -l via "lsmod | wc -l"
[09:34] <DBO> Most of you will see things like "soundcore" which is the core of sound production, or "floppy" which provideds floppy disk support.
[09:35] <DBO> pretty obvious what those do
[09:35] <DBO> However some of them like.... say agpgart are not so obvious.
[09:35] <DBO> However if you look to the right a bit you can see two sets of numbers, those give the size of the module and how many times they are in usage (you can use a module multiple times).
[09:35] <DBO> To the right of that it lists even more modules, you can think of these modules as depending on the module you are looking at, because more or less they do.
[09:35] <DBO> So it becomes pretty clear now, agpgart is loaded because your video card needs it (for the AGP bus).
[09:36] <DBO> Even still some modules don't have anything listed as things that depend on them, but we can still get more info.  Running the command "modinfo font" gives us information about the module named "font".
[09:36] <DBO> This will give us information about the license, author, and a basic description of the module.  In this case James Simmons is the author, he licensed it GPL, and the module provides us with Console Fonts
[09:36] <DBO> To simply get the description of the module, you can do "modinfo -d font", however if the module has no discription (as is often true or closed source modules), this will return nothing.
[09:36] <DBO> One thing to note about modules is that they do not HAVE to be modules.   When you compile your kernel (which we will not be covering), or it was compiled for you, modules can be compiled into the kernel directly so they cannot be removed.
[09:37] <DBO> This makes the kernel custom to the machine you are on, but makes it essentially useless for things like Ubuntu where we have a large number of people using the same kernel.
[09:37] <DBO> Any questions so far? =)
[09:37] <jrib> is there any advantage to compiling modules into the kernel?
[09:37] <seb35690> like performance ?
[09:37] <DBO> yes
[09:38] <DBO> performance will be slightly better
[09:38] <ShakaNoobSaint> why exactly?
[09:38] <DBO> when you abstract things out to modules and such there is a slight overhead
[09:38] <DBO> when you compile is one hunk of code it is more streamlined
[09:38] <DBO> thats why distros like gentoo compile all the modules you need for your hardware right into the kernel
[09:39] <DBO> of course this comes at the high price of actually having to compile your own kernel
[09:39] <seb35690> how about ubuntu ?
[09:39] <DBO> which in that sense, Linux is fairly unique as the only OS available to users where this is readily available to you as an option
[09:39] <DBO> Ubuntu does not have you recompile the kernel on your own
[09:40] <DBO> so almost all drivers (excluding some very core ones) are loaded in as modules
[09:40] <reverseblade> how about smp and apic are these modules too ?
[09:40] <DBO> APIC is, smp is part of the kernel
[09:42] <reverseblade> why did we stop ?
[09:42] <DBO> ok we are going to move on
[09:42] <DBO> (was waiting to see if there are more questions)
[09:42] <DBO> Loading/Stopping Modules at Boot:
[09:42] <DBO> wait
[09:42] <DBO> wrong header =P
[09:42] <DBO> I jumped ahead
[09:42] <DBO> Inserting and Removing your own modules:
[09:42] <DBO> There is more to do with kernel modules however, you can insert your own kernel module with "sudo modprobe [kernel module] " and the module will be inserted until it is either removed or the machine is rebooted.
[09:43] <DBO> You can remove them with "sudo modprobe -r [kernel module] "
[09:43] <DBO> So let's try it out, I encourage everyone to give this a run
[09:43] <DBO> We are going to load in a dummy module, confirm that it loaded, then unload it.
[09:43] <reverseblade> what do you mean with own modules ?
[09:43] <DBO> well
[09:43] <DBO> not every module gets loaded at boot
[09:43] <seb35690> So we don't have to compile Kernel with Ubuntu for better performances ?
[09:44] <seb35690> I'm a newbie:)
[09:44] <DBO> seb35690, you could get a small performance boost that way yes
[09:44] <DBO> but its not worth it
[09:44] <DBO> the performance increase would be very very tiny
[09:44] <DBO> and hard to measure
[09:44] <reverseblade> you don't mean custom modules but , unloaded modules by "own modules"
[09:44] <DBO> yes
[09:44] <DBO> sorry
[09:44] <jrib> seb35690: might be a good learning exercise if you are curious but don't do it if you are trying to make your computer go faster
[09:45] <DBO> you can insert and remove modules that are not otherwise loaded in your kernel
[09:45] <seb35690> ok jrib I understand
[09:45] <DBO> First we load the module with "sudo modprobe dummy"
[09:45] <DBO> that command will load in the module named "dummy"
[09:45] <DBO> it doesnt do anything, but its there for fun things like this
[09:45] <DBO> Generally when we enter this command nothing will happen, just a new line and no output, that means no errors as far as finding the module.
[09:46] <DBO> Now if this were a real module we could run the command "dmesg" which we talked about earlier to see info about what the module has done thus far.
[09:46] <DBO> This is extremely useful in the case where you module is loading but it does not seem to be working properly.
[09:46] <DBO> Let's confirm that the module has indeed loaded using the "lsmod" command.  Run "lsmod | grep ^dummy", we are piping it to grep to do a search, and searching for a line that starts with (carrot means start with) dummy.
[09:47] <DBO> You should see output containing the word "Dummy"
[09:47] <DBO> this means that your dummy module loaded fine =)
[09:47] <DBO> Now run the command "sudo modprobe -r dummy" and then search for dummy in lsmod again.  It is no longer there.
[09:48] <narvik86> rmmod is for the same?
[09:48] <DBO> That is it, that is all there is to loading and unloading modules.  However this is only temporary, as soon as you remove them or reboot the machine they will no longer load until requested by you again
[09:48] <DBO> narvik86, yep
[09:48] <DBO> I tend to use sudo modprobe -r as its seems more consistent if you are going to use modprobe to the put the module in, why not use it to remove it too?
[09:49] <DBO> ok
[09:49] <DBO> Often users will find they have to load modules to make certain parts of their hardware work.
[09:50] <DBO> For example a lot of TV Tuner card users must load the ivtv module when they boot.
[09:50] <jrib> description for for rmmod says most users will want to use modprobe
[09:50] <DBO> yep =)
[09:50] <DBO> same for insmod
[09:50] <DBO> IVTV, by the way, does not come with Ubuntu so they also have to compile it but thats a whole other class.
[09:50] <DBO> To load a module on boot you simply add the name of the module to the end of /etc/modules.
[09:50] <DBO> So ivtv users would add ivtv on a new line to the end of that file.
[09:51] <DBO> If you wished to prevent a module from loading which is not uncommon for ndiswrapper users, you would add a line that looked like "blacklist [module] " to /etc/modprobe.d/blacklist
[09:51] <DBO> This would prevent the file from being loaded at boot and allow you to add ndiswrapper to /etc/modules safely.
[09:51] <DBO> These files all both owned by root
[09:51] <DBO> and you will need root access to modify them
[09:51] <DBO> however I encourage you to look at your modules and blacklist files and see whats in them
[09:52] <reverseblade> DBO, what is the correlation between modules or drivers ,or are there any ?
[09:52] <DBO> there is a large corelation
[09:52] <DBO> correlation even
[09:52] <DBO> in linux, for the most part, drivers ARE modules
[09:52] <DBO> most every single driver on your system is loaded into your kernel as a module
[09:53] <DBO> your kernel can then use that module (driver) to talk to the hardware
[09:53] <jrib> can you only modprobe stuff in /etc/modules then?
[09:53] <DBO> nope
[09:53] <DBO> you can modprobe in anything that you have a module file fore
[09:53] <DBO> stuff in /etc/modules will be loaded in at boot however
[09:53] <DBO> so you generally wont need to modprobe it in yourself =)
[09:54] <jrib> what's the reason for a blacklist instead of just removing it from /etc/modules?
[09:54] <DBO> (note modprobe is not really a verb, but what do I care?)
[09:54] <Wooksta> do u need to specify the full path to a module you build or do you put it in a special directory?
[09:54] <DBO> jrib, your kernel on boot will try to load modules for hardware it detects
[09:54] <jrib> DBO: ah
[09:54] <DBO> Wooksta, when you make install the modules it will put it in the special directory for modules
[09:55] <Wooksta> ok thanks, whats that dir location btw? :>
[09:55] <DBO> /lib/modules/KERNELVERSION
[09:55] <Wooksta> ok thanks :)
[09:56] <DBO> modules are specific to the kernel they were compiled on
[09:56] <DBO> any other questions? =)
[09:56] <DBO> im pretty well wrapped up
[09:56] <seb35690> an example with an Nvidia graphic card ?
[09:57] <DBO> an example for what?
[09:57] <Wooksta> im actaully having trouble getting my nvidia card to work but i was gonna ask about that at the end  :P
[09:57] <seb35690> "modules are specific to the kernel they were compiled on"
[09:57] <DBO> if you want you can see your nvidia kernel module by doing "lsmod | grep nvidia"
[09:57] <DBO> seb35690, ah yes, perfect example
[09:57] <DBO> Wooksta, well perhaps its a good learning experience
[09:57] <DBO> what trouble are you having?
[09:58] <Wooksta> well i installed nvidia-glx and when i do "sudo nvidia-glx-config enable" i get the following error: "Error: unable to load nvidia kernel driver! Be sure to have installed the nvidia driver for your running kern"
[09:58] <DBO> Wooksta, ok run this command
[09:58] <DBO> modinfo nvidia
[09:59] <DBO> does it say it cant find the file?
[09:59] <Wooksta> got a whole load of stuff back u want me to look for something specific?
[09:59] <Wooksta> filename:       /lib/modules/2.6.17-10-generic/volatile/nvidia.ko  <-- seems to be able to find the file
[10:00] <DBO> and it seems you are running the ubuntu version to boot
[10:00] <DBO> run this command "sudo nvidia-xconfig"
[10:00] <Wooksta> new xorg.conf written
[10:00] <DBO> now restart X and you should be good ot go
[10:01] <Wooksta> ok whats the best way to restart x?
[10:01] <seb35690> CTRL+ALT+F1
[10:01] <DBO> log out of GNOME/KDE
[10:01] <DBO> then ctrl + alt + backspace
[10:01] <Wooksta> ok brb, thanks :)
[10:01] <seb35690> yes excuse me
[10:02] <seb35690> :(
[10:02] <DBO> seb35690, perfectly ok =)
[10:02] <DBO> ctrl alt F1 switches to a console
[10:02] <DBO> but doesnt shut down X
[10:02] <seb35690> yes i know it
[10:03] <DBO> that pretty well wraps up todays session
[10:04] <DBO> transcripts will be made available
[10:04] <DBO> and I will post the whole speech I wrote and worked from in paragraph form as well
[10:04] <Wooksta> well im now on a nice 640x480 so something happened :P
[10:04] <ShakaNoobSaint> awseome, thanks for the "class" DBO
[10:05] <DBO> Wooksta, we'll have to move this to #ubuntu-xgl
[10:05] <DBO> ShakaNoobSaint, =)
[10:05] <Wooksta> no problem, thanks for the class, hope theres another few soon :)
[10:06] <seb35690> Thnaks DBO, it's perfectly clear !
[10:07] <seb35690> *Thanks
[10:49] <h0ndaracer2> can someone help  me wit something in an installion real quick
[10:53] <ShakaGoldSaint> ?
[11:52] <seb35690> is there a sesson tomorrow ?
[11:53] <seb35690> *session
[11:53] <sonicGB> Schedule is here: https://wiki.ubuntu.com/Classroom#head-3ed0e83bca0918de43c895c4bb96d9bb50d446a9
[11:54] <seb35690> I mean, will it be the same content ?
[11:56] <seb35690> the same content that today ?