Editing Linux

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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 1: Line 1:
[[Category:linux]]
            :ZZZNNNNNNNZZZ:           
[[Category:events]]
        ZZNNNZZZZNZNNZZZNNNZZ         
      ZZNZZZZZZZZZZZZZZZNNZZNZZ       
    ZZNZZZZZZZZZZZZZZZZZZNDZZONZZ     
    ZNOZZZZZZZZZZZNNDZZZZZZZZZZZONZ   
  ZNZZZZZZZZZZZNNZZZNZZZZZZZZZNOZNZ
  ZNZZZZZZZNNNNNNZZZZZNNNNNZZZZZZZZNZ
ZNZZZZZZZNNZZZZZZZZZZZZZZZNZZZZZZZZNZ 
ZNZZZZZZZN8ZZZZZZZZZZZZZZZNZZZZZZZZNZ 


[[Image:Asciibridge.PNG|right|alt="Only as good as you make it"]]
'''Linux Resources for you at the space'''
==Weekly and One-off Events==
If you are unsure of whether a class is meeting be sure to check the Noisebridge Announce and Discuss Lists.


==Tuesdays==
  ZNNOZZZZZN8ZZZZZNNNNNZZZZZNZZZZZZZZNZ  
15:00 - 16:30 [[Linux_System_Administration_Study_Group|System Administrator Study Group]]
  ZNNNZZZZZNNZZZZNZZZZNNZZZZNZZZZZZZZNZ  
 
   ZNNDZZZZZZNNNNNZZZZZNNNNNZZZZZZZNNZ    
16:30 - 18:30 [[C_and_assembler_on_Linux|C and the Assembler on Linux]]
  ZNNN8NZZZZZZZZZZZZZZZZZZZZZZZZDNZ   
 
    ZNNNZ8ZZZZZZZZZZZZZZZZZZZZZZZNZ   
18:30 - 20:00 [[Linux.BSD.UNIX Open Learning and Hacking in Turing]]: Hands-on learning. Feel free to come early if you might need extra assistance.  No experience necessary or expected.
    ZZNNNZZZZZZZZZZZZZZZZZZZNZNZZ     
 
      ZZNNNNZZZ8ZZZZZZZZZZOZNZZ       
==Wednesdays==
        ZZNNNNNNNN8ZZNZ8NNNZZ         
18:00 - 20:00 [[LinuxDiscussion|Linux Discussion]]
            ~ZZZNNNNNNNZZZ~
==To Be Decided==
System Recovery (Fie: Failure is Eminent)
  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
  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:
  *Data: Files, partitions, drives, operating systems, non-unix
  *Privacy: Local area network, encryption schemes
  *Architecture: Portability and dependencies
   *Interactivity: gui? web? cron? output?
   *Scripts and existing tools
  *Cleanliness of code and notation
  *Create a web flyer
 
=Bash= for Noisebridge SysAdmin Class
Start playing with Bash Scripting by using the following tools:
 
==Gitorious==
[https://gitorious.org/ Gitorious] is a good place to start connecting with a Git service that has a web interface which is itself also [[free software]] (unlike Github).  Accounts are gratis and provide the best option for learning Git outside of class and our usual terminal interface.
 
'''Note:''' Of course, nothing is stopping you from just ssh'ing into any git server like you usually would.  You can also install your own git server on your own computer.  You can even set up [http://getgitorious.com/install-gitorious your own Gitorious server].
 
# Create a repository and readme.
# Upload a file.
# Search for code you like or could improve.
# 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.
 
==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/ Gist] 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==
This example is for looking for specific installed packages and applications on your system.
 
$ apt-cache search linux
 
Returns a lot of stuff
 
$ apt-cache search linux |more
 
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.
 
$ 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?
 
==Basic Commands for Bash Scripts==
Feel free to expand this with ones you find helpful as well for basic bash programming
 
sleep (number of seconds)
 
$ sleep 2
 
Print a blank line for readability and double spacing
 
$ echo -e "\n"
 
$ printf "\n"
 
Clear the screen of output
 
$ clear
 
==Building Linux from source code on Debian-based GNU/Linux systems==
The Debian family includes GNU/Linux distros like Ubuntu, Mint, and Trisquel.
# Get the build requirements:
#: <code>su -c 'apt-get install build-essential libncurses5-dev'</code>
#: or
#: <code>sudo apt-get install build-essential libncurses5-dev</code>
# Download the Linux source code from the [http://www.fsfla.org/svnwiki/selibre/linux-libre/ Linux-libre project]. The source tarballs from kernel.org should be avoided if possible, because it includes proprietary binary blobs, which violate your [https://www.gnu.org/philosophy/free-sw.html four essential user freedoms].
#: <code>wget http://www.linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.4.N/linux-libre-3.4.38-gnu.tar.bz2</code>
# Extract the source archive:
#: <code>tar xf linux-libre-3.4.38-gnu.tar.bz2</code>
# Enter the directory with the extracted source code (and make edits to the source if you wish):
#: <code>cd linux-3.4.38</code>
# Create or edit the build config file:
#: <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):
#: <code>INSTALL_MOD_STRIP=1 make deb-pkg</code>
#: (On a laptop or desktop, this step can take between 20 minutes to several hours.)
# Go up one directory:
#: <code>cd ..</code>
# Install the deb package files you created:
#: <code>su -c 'dpkg -i linux-*.deb'</code>
#: or
#: <code>sudo dpkg -i linux-*.deb</code>
# Reboot to load your new kernel:
#: <code>su -c 'shutdown -r now'</code>
#: or
#: <code>sudo shutdown -r now</code>
 
=Suggestions
for Improving this Section=
This wiki is built 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!
 
Include photos and descriptions of community linux machines, live cd's,
and other relevant things at nb.
 
Should [[Android]] get talked about here as well?
 
Add section on testing old hardware.
 
Add links to Noisebridge coding efforts and related dev classes
Please note that all contributions to Noisebridge are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see Noisebridge:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)