Editing Linux
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 7: | Line 7: | ||
==Tuesdays== | ==Tuesdays== | ||
15:00 - 16:30 [ | 15:00 - 16:30 [https://www.noisebridge.net/wiki/Linux_System_Administration_Study_Group System Administrator Study Group] | ||
16:30 - 18:30 [ | 16:30 - 18:30 [https://www.noisebridge.net/wiki/C_and_assembler_on_Linux C and the Assembler on Linux] | ||
18:30 - 20:00 | 18:30 - 20:00 Linux 101: Introductory Class. The class will be presented in 2 parts and restarts the 1st and 3rd week of each month. Live CD's and thumb drives will be available for hands-on learning. Feel free to come early if you might need extra assistance. No experience necessary or expected. | ||
==Wednesdays== | ==Wednesdays== | ||
[https://www.noisebridge.net/wiki/LinuxDiscussion Linux Discussion] | |||
==To Be Decided== | ==To Be Decided== | ||
101 Intro Class | |||
No experience expected! Firm Details to be announced. | |||
Interested in teaching once a month for an hour? Perhaps this should be bi-monthly. | |||
System Recovery (Fie: Failure is Eminent) | System Recovery (Fie: Failure is Eminent) | ||
Devoted to recovery and backups of Data. Either weekly or bi-monthly. | Devoted to recovery and backups of Data. Either weekly or bi-monthly. | ||
Your system recovery plight put to the test! Not sure whether this is a class, a roving group activity, or | Your system recovery plight put to the test! Not sure whether this is a class, a roving group activity, or just a straight challenge. If you don't have any form of recovery, perhaps this will inspire you to do so. Will probably open this up to the internet communities at large if it goes well for the space. | ||
Considerations: | Considerations: | ||
Line 33: | Line 34: | ||
=Bash= for Noisebridge SysAdmin Class | =Bash= for Noisebridge SysAdmin Class | ||
Start playing with Bash Scripting by using the following tools: | Start playing with Bash Scripting by using the following tools: | ||
==Github== | |||
[[https://github.com/|Github]] is a good place to start connecting with the majority of active Git users/coders who are willing to collaborate with you. Accounts are free and provide the best option for learning Git outside of class and our usual terminal interface | |||
<strong>Note:</strong> Of course, nothing is stopping you from just ssh'ing into Github like you usually would. | |||
1. Create a repository and readme. | |||
2. Upload a file. | |||
3. Search for code you like or could improve. | |||
4. Fork something someone poorly wrote, improve it, and push it back to them. | |||
This will give you the basic, visual understanding of how version control works and why we use it. | This will give you the basic, visual understanding of how version control works and why we use it. | ||
==Pastebins== | ==Pastebins== | ||
[http://pastebin.com/ Pastebins] are where you should always post your code rather than writing it by hand, which is sloppy and error prone. Plenty of Pastebins include syntax highlighting where you'll be able to fix common errors just by realizing you forgot a closing paren or double quote. [https://gist.github.com/ | Pastebins [http://pastebin.com/|Pastebins] are where you should always post your code rather than writing it by hand, which is sloppy and error prone. Plenty of Pastebins include syntax highlighting where you'll be able to fix common errors just by realizing you forgot a closing paren or double quote. Gist [https://gist.github.com/] is a pastebin provided directly by Github. The paranoid types can find plenty of secure options via google searches. | ||
==Common use of pipes in Linux== | ==Common use of pipes in Linux== | ||
This example is for looking for specific installed packages and applications on your system. | This example is for looking for specific installed packages and applications on your system. | ||
$ apt-cache search linux | |||
Returns a lot of stuff | Returns a lot of stuff | ||
$ apt-cache search linux |more | |||
Allows you to see 'linux' Debian packages gradually using the 'more' pager | Allows you to see 'linux' Debian packages gradually using the 'more' pager | ||
$ apt-cache search linux |more |grep 'kernel' --color=auto | |||
Allows you to gradually see 'linux' Debian packages associated with the term 'kernel' which will be highlighted. | Allows you to gradually see 'linux' Debian packages associated with the term 'kernel' which will be highlighted. | ||
$ apt-cache search linux |more |grep 'kernel' --color=auto| sort -M | |||
Allows you to gradually read 'linux' Debian packages associated with the term 'kernel' after it is sorted by timestamp. Notice how the highlighting is gone? Anything else missing as we get more specific? | Allows you to gradually read 'linux' Debian packages associated with the term 'kernel' after it is sorted by timestamp. Notice how the highlighting is gone? Anything else missing as we get more specific? | ||
Line 73: | Line 72: | ||
sleep (number of seconds) | sleep (number of seconds) | ||
$ sleep 2 | |||
Print a blank line for readability and double spacing | Print a blank line for readability and double spacing | ||
$ echo -e "\n" | |||
$ printf "\n" | |||
Clear the screen of output | Clear the screen of output | ||
$ clear | |||
==Building Linux from source code on Debian-based GNU/Linux systems== | ==Building Linux from source code on Debian-based GNU/Linux systems== | ||
# Get the build requirements: | # Get the build requirements: | ||
#: <code>su -c 'apt-get install build-essential | #: <code>su -c 'apt-get install build-essential ncurses5'</code> | ||
# Download the Linux source code from the [http://www.linux-libre.fsfla.org/pub/linux-libre/releases/ Linux-libre project]. The source tarballs from kernel.org should be avoided if possible, because it includes proprietary binary blobs. | |||
#: <code>wget http://www.linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.4.N/linux-libre-3.4.2-gnu.tar.bz2</code> | |||
# Download the Linux source code from the [http://www.fsfla.org/ | |||
#: <code>wget http://www.linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.4.N/linux-libre-3.4. | |||
# Extract the source archive: | # Extract the source archive: | ||
#: <code>tar xf linux-libre-3.4. | #: <code>tar xf linux-libre-3.4.2-gnu.tar.bz2</code> | ||
# Enter the directory with the extracted source code (and make edits to the source if you wish): | # Enter the directory with the extracted source code (and make edits to the source if you wish): | ||
#: <code>cd linux-3.4. | #: <code>cd linux-3.4.2</code> | ||
# Create or edit the build config file: | # Create or edit the build config file: | ||
#: <code>make menuconfig</code> | #: <code>make menuconfig</code> | ||
# Build the kernel and package it into deb files (if you don't intend on debugging, set the INSTALL_MOD_STRIP variable to 1 to remove the debugging symbols): | # Build the kernel and package it into deb files (if you don't intend on debugging, set the INSTALL_MOD_STRIP variable to 1 to remove the debugging symbols): | ||
#: <code>INSTALL_MOD_STRIP=1 make deb-pkg</code> | #: <code>INSTALL_MOD_STRIP=1 make deb-pkg</code> | ||
#: ( | #: (This step can take several hours, depending on the machine your building it on.) | ||
# Go up one directory: | # Go up one directory: | ||
#: <code>cd ..</code> | #: <code>cd ..</code> | ||
# Install the deb package files you created: | # Install the deb package files you created: | ||
#: <code>sudo dpkg -i linux-*.deb</code> | #: <code>sudo dpkg -i linux-*.deb</code> | ||
# Reboot to load your new kernel: | # Reboot to load your new kernel: | ||
#: <code>su -c 'shutdown -r now'</code> | #: <code>su -c 'shutdown -r now'</code> | ||
=Suggestions | =Suggestions for Improving this Section= | ||
This wiki is build on Mediawiki. I highly recommend installing a USB version of it or something like so you can edit, expand, and this page while offline. Thanks! | |||
This wiki is | |||
version of it or something like so you can edit, expand, and this page | |||
while offline. Thanks! | |||
Include photos and descriptions of community linux machines, live cd's, | Include photos and descriptions of community linux machines, live cd's, and other relevant things at nb. | ||
and other relevant things at nb. | |||
Should [ | Should [https://www.noisebridge.net/wiki/Android Android] get talked about here as well? | ||
Add section on testing old hardware. | Add section on testing old hardware. | ||
Add links to Noisebridge coding efforts and related dev classes | Add links to Noisebridge coding efforts and related dev classes |