Andrew Sowers's super awesome HPC Opus!
“You've come the right place.”
Hello and welcome. Prepare to bare witness of the digital symphony that follows… In pursuit of infinite wisdom I find myself in high performance computing fundamentals, here I hope to grasp a further understanding of Unix, its related concepts and theory. This is my story…
Could not edit entry four…. how strange.
Today I've loaded Ubuntu on my Droid incredible 2. On the android market there is a well detailed tutorial that links the dependancies and system images. What you're ultimately doing is partitioning your sdcard and a script boots Ubuntu. Setup your credentials and you're done! To access the session you use a VNC program and point it to localhost.
Today our task was to clear an area of the lair so we may setup our own machines to administrate. Whilst rummaging through potential systems for my own use I come across a lonely looking PowerMac G4 Cube… This machines specifications are less then ideal, however I believe that hacking away the unnecessary portions of OS X will permit an acceptable experience. It has been a small time dream of mine to play with one of these bad boys and here's my chance!
Optimizing legacy hardware for modern operation isn't just fun, it's economically sustainable.
I've decided to try using my favorite web applications in a CLI. So far I'm using Alpine for my Gmail, Pianobar for pandora, Lynx for light web browsing, TTYtter for twitter and I'm looking for more! I run all of these applications off of my PogoPlug server and tunnel in to access them. This provides me with a simple, lightweight and content centric user experience that's accessible from anywhere!
Today I stumbled upon this program called Cathode. It's an alternative terminal emulator for mac os. Cathode provides the user experience older physical video terminals such as the vt100. Cathode mimics visual effects that naturally occur in older CRT monitors. I've gone ahead and decided it will be my default choice for all terminal sessions.
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
Remember that 4 is just the minimum number of entries. Feel free to have more.
Experienced administrators realize the importance of ensuring a systems longevity. Legacy systems are often useful a decade or more after initial deployment. The key to this longevity is being smart about the software you use.
In the OS X environment users are given a lot of gloss: the dashboard, three demential/reflective docks, a transparent menu bar, and various other visual enhancements. If you find that these features aren't imperative to your work and you would like some free system memory you may want to consider disabling them. (I will be describing these procedures further in my first project)
If Mac OS isn't your thing and Linux is you may want to consider compiling a customized version of the openSUSE linux distribution. The openSUSE project offers a simple web tool that enables the user to customize the components of their operating system before installation. The openSUSE build project can be found here: “https://build.opensuse.org/”
Octave is mathematical analysis/computation HPC tool. Scientists and Engineers use programs like Octave to solve complex mathematical situations. High performance computing systems permit less latency and therefore, faster results.
Scientists and Engineers can input complex equations and weigh the processing over HPC nodes within a cluster. This kind of balanced processing is widely popular and practical for HPC applications. Octave gives the user a command line interface for processing requests, shown below:
server@Dimension-4600:~$ octave GNU Octave, version 3.2.4 Copyright (C) 2009 John W. Eaton and others. This is free software; see the source code for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, type `warranty'. Octave was configured for "i686-pc-linux-gnu". Additional information about Octave is available at http://www.octave.org. Please contribute if you find this software useful. For more information, visit http://www.octave.org/help-wanted.html Report bugs to <bug@octave.org> (but first, please read http://www.octave.org/bugs.html to learn how to write a helpful report). For information about changes from previous versions, type `news'. octave:1> help For help with individual commands and functions type help NAME (replace NAME with the name of the command or function you would like to learn more about). For a more detailed introduction to GNU Octave, please consult the manual. To read the manual from the prompt type doc GNU Octave is supported and developed by its user community. For more information visit http://www.octave.org. octave:2>
Xen offers virtualization software with a focus on technical specification. Xen supports various architectures, is widely popular and is very robust; xen virtualization is trusted by larger internet groups such as Amazon.
In lab46 we've worked with Xen in a CLI but there is a GUI version as well. Xen offers an array of administrative tools accessible via the command line:
vmserver03:~# xm Usage: xm <subcommand> [args] Control, list, and manipulate Xen guest instances. Common 'xm' commands: console Attach to <Domain>'s console. create Create a domain based on <ConfigFile>. new Adds a domain to Xend domain management delete Remove a domain from Xend domain management. destroy Terminate a domain immediately. dump-core Dump core for a specific domain. help Display this message. list List information about all/some domains. mem-set Set the current memory usage for a domain. migrate Migrate a domain to another machine. pause Pause execution of a domain. reboot Reboot a domain. restore Restore a domain from a saved state. resume Resume a Xend managed domain save Save a domain state to restore later. shell Launch an interactive shell. shutdown Shutdown a domain. start Start a Xend managed domain suspend Suspend a Xend managed domain top Monitor a host and the domains in real time. unpause Unpause a paused domain. uptime Print uptime for all/some domains. vcpu-set Set the number of active VCPUs for allowed for the domain. <Domain> can either be the Domain Name or Id. For more help on 'xm' see the xm(1) man page. For more help on 'xm create' see the xmdomain.cfg(5) man page. For a complete list of subcommands run 'xm help'. vmserver03:~#
Xen allows powerful critiquing of its settings.
I desided to swap my 80Gb IDE USB drive on my PogoLab server for a faster, 120Gb 5400RPM SATA drive. After a few Google queries I stumbled upon a tutorial that called for the DD tool.
DD is a tool for cloning disks.
'if=' - The drive you're going to copy. 'of=' - The drive being copied to.
andrew@Lab:/media$ sudo dd if=/dev/sdh of=/dev/sdg [sudo] password for andrew: 156301488+0 records in 80026361856 bytes (80 GB) copied, 7342.41 s, 10.9 MB/s andrew@Lab:/media$
As an administrator you'll often need to install packages from external repositories.
In Debian you source file for repositories is located in “/etc/apt/sources.list” There you can add or modify sources.
In Debian we rely on a program called aptitude to install external packages
To update aptitude, use the aptitude update command shown below:
vmserver03:~# aptitude update Writing extended state information... Done Get:1 http://dl.google.com stable Release.gpg [189B] Get:2 http://security.debian.org lenny/updates Release.gpg [836B] Ign http://security.debian.org lenny/updates/main Translation-en_US Ign http://security.debian.org lenny/updates/contrib Translation-en_US Ign http://dl.google.com stable/non-free Translation-en_US Ign http://dl.google.com stable/main Translation-en_US Get:3 http://dl.google.com testing Release.gpg [189B] Ign http://dl.google.com testing/non-free Translation-en_US Get:4 http://security.debian.org lenny/updates Release [92.4kB] Get:5 http://packages.enlightenment.org lenny Release.gpg [197B] Get:6 http://dl.google.com stable Release [2544B] Get:7 http://packages.dotdeb.org oldstable Release.gpg [836B] Ign http://packages.dotdeb.org oldstable/all Translation-en_US Get:8 http://dl.google.com testing Release [2513B] Ign http://dl.google.com stable Release Ign http://dl.google.com testing Release Ign http://dl.google.com stable/non-free Packages/DiffIndex Ign http://dl.google.com stable/main Packages/DiffIndex Ign http://packages.enlightenment.org lenny/main Translation-en_US Hit http://packages.dotdeb.org oldstable Release Err http://packages.dotdeb.org oldstable Release Ign http://dl.google.com testing/non-free Packages/DiffIndex Get:9 http://dl.google.com stable/non-free Packages [1010B] Ign http://security.debian.org lenny/updates/main Packages/DiffIndex Get:10 http://packages.dotdeb.org oldstable Release [2177B] Get:11 http://dl.google.com stable/main Packages [1082B] Ign http://packages.dotdeb.org oldstable Release Ign http://packages.enlightenment.org lenny/extras Translation-en_US Ign http://security.debian.org lenny/updates/contrib Packages/DiffIndex Ign http://security.debian.org lenny/updates/main Sources/DiffIndex Ign http://security.debian.org lenny/updates/contrib Sources/DiffIndex Get:12 http://dl.google.com testing/non-free Packages [793B] Get:13 http://security.debian.org lenny/updates/main Packages [346kB] Ign http://packages.dotdeb.org oldstable/all Packages/DiffIndex Hit http://packages.enlightenment.org lenny Release Err http://packages.enlightenment.org lenny Release Ign http://packages.dotdeb.org oldstable/all Sources/DiffIndex Hit http://packages.dotdeb.org oldstable/all Packages Get:14 http://packages.enlightenment.org lenny Release [910B] Ign http://packages.enlightenment.org lenny Release Hit http://packages.dotdeb.org oldstable/all Sources Ign http://packages.enlightenment.org lenny/main Packages/DiffIndex Get:15 http://security.debian.org lenny/updates/contrib Packages [766B] Get:16 http://security.debian.org lenny/updates/main Sources [121kB] Ign http://packages.enlightenment.org lenny/extras Packages/DiffIndex Get:17 http://security.debian.org lenny/updates/contrib Sources [811B] Ign http://packages.enlightenment.org lenny/main Packages Hit http://ftp.us.debian.org lenny Release.gpg Ign http://packages.enlightenment.org lenny/extras Packages Ign http://ftp.us.debian.org lenny/main Translation-en_US Ign http://ftp.us.debian.org lenny/contrib Translation-en_US Hit http://ftp.us.debian.org lenny Release Hit http://packages.enlightenment.org lenny/main Packages Ign http://ftp.us.debian.org lenny/main Packages/DiffIndex Get:18 http://www.bimoid.com stable Release.gpg [490B] Ign http://ftp.us.debian.org lenny/contrib Packages/DiffIndex Ign http://ftp.us.debian.org lenny/main Sources/DiffIndex Ign http://ftp.us.debian.org lenny/contrib Sources/DiffIndex Hit http://ftp.us.debian.org lenny/main Packages Ign http://www.bimoid.com stable/non-free Translation-en_US Hit http://packages.enlightenment.org lenny/extras Packages Hit http://ftp.us.debian.org lenny/contrib Packages Hit http://ftp.us.debian.org lenny/main Sources Hit http://www.bimoid.com stable Release Err http://www.bimoid.com stable Release Hit http://ftp.us.debian.org lenny/contrib Sources Get:19 ftp://ftp.debian.org lenny-proposed-updates Release.gpg [836B] Get:20 http://www.bimoid.com stable Release [1681B] Ign http://www.bimoid.com stable Release Ign http://www.bimoid.com stable/non-free Packages/DiffIndex Ign http://www.bimoid.com stable/non-free Packages Hit http://www.bimoid.com stable/non-free Packages Get:21 ftp://ftp.debian.org lenny-proposed-updates/main Translation-en_US Ign ftp://ftp.debian.org lenny-proposed-updates/main Translation-en_US Get:22 ftp://ftp.debian.org lenny-proposed-updates Release [142kB] Get:23 ftp://ftp.debian.org lenny-proposed-updates/main Packages/DiffIndex [2023B] Get:24 ftp://ftp.debian.org lenny-proposed-updates/main 2012-03-02-2013.04.pdiff [2688B] Get:25 ftp://ftp.debian.org lenny-proposed-updates/main 2012-03-02-2013.04.pdiff [2688B] Get:26 ftp://ftp.debian.org lenny-proposed-updates/main 2012-03-02-2013.04.pdiff [2688B] Fetched 724kB in 17s (42.1kB/s) Reading package lists... Done W: GPG error: http://dl.google.com stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A040830F7FAC5991 W: GPG error: http://dl.google.com testing Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A040830F7FAC5991 W: GPG error: http://packages.dotdeb.org oldstable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY E9C74FEEA2098A6E W: GPG error: http://packages.enlightenment.org lenny Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6B2226D9969C86CA W: GPG error: http://www.bimoid.com stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AD17586265F2FB00 W: You may want to run apt-get update to correct these problems vmserver03:~#
Then grabbing a new package:
use aptitude install “…”
Displayed below:
vmserver03:~# aptitude install calcurse Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Reading task descriptions... Done The following NEW packages will be installed: calcurse 0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 231kB of archives. After unpacking 872kB will be used. Writing extended state information... Done Get:1 http://ftp.us.debian.org lenny/main calcurse 2.1-1 [231kB] Fetched 231kB in 1s (150kB/s) Selecting previously deselected package calcurse. (Reading database ... 46642 files and directories currently installed.) Unpacking calcurse (from .../calcurse_2.1-1_i386.deb) ... Processing triggers for man-db ... Setting up calcurse (2.1-1) ... Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done Reading task descriptions... Done vmserver03:~#
A popular use for a Virtual Machineis a LAMP server (Linux, Apache, Mysql, PHP) server
A virtualized operating system is ideal for handling a simple webserver like this. it has the potential for always on applications and the files are segregated from the rest of the system. It also adds another level of security for your web server, this is because it is VM is hidden from the rest of the system and requires a second authentication for access.
Make time go backwards…because you'll need to fuddle with your config file and reinitiate your VM. Luckily Haas is a master of time and can deal with such impasses.
Further understand the necessary components of a proper web server
If i hope to get into this line of work I want my focus to be web technologies. I need to know as much as I possibly can.
Lab46 resources, real world experience, contemplation of concepts based on work in the lair.
Jacob and I have started http://www.adaptivelogicdesign.com to open our services to new clients and learn new skills while doing so.
Will my virtual machine return from its epic travle through time?
Lab46 Wiki
Commenting out this line: “extra = 'clocksource=jiffies'” and reinitiating my VM will solve my time travle woes.
I remove the previous VM with an: “xm destroy newvm” and reinstitute another vm with: “xm create -c /xen/conf/vm07.cfg”
The script then runs and I'm able to console into the new VM!
So I assume the the kernal is a time freak and needs this external source to reference time… Awesome.
can I get new packages after updating my sources.list file without an aptitude update?
Lab46
I believe that if I add a new sources.list file I'll be able to install a new package without an aptitude update.
vmserver03:~# cd /etc/apt vmserver03:/etc/apt# ls apt.conf.d secring.gpg sources.list sources.list.d trustdb.gpg trusted.gpg trusted.gpg~ vmserver03:/etc/apt# rm sources.list vmserver03:/etc/apt# touch sources.list vmserver03:/etc/apt# nano sources.list GNU nano 2.0.7 File: sources.list ############################################################# ################### OFFICIAL DEBIAN REPOS ################### ############################################################# ###### Debian Main Repos deb http://ftp.us.debian.org/debian/ lenny main contrib deb-src http://ftp.us.debian.org/debian/ lenny main contrib ###### Debian Update Repos deb http://security.debian.org/ lenny/updates main contrib deb http://ftp.us.debian.org/debian/ lenny-proposed-updates main contrib deb-src http://security.debian.org/ lenny/updates main contrib deb-src http://ftp.us.debian.org/debian/ lenny-proposed-updates main contrib ############################################################## ##################### UNOFFICIAL REPOS ###################### ############################################################## ###### 3rd Party Binary Repos #### Bimoid - http://bimoid.com/ ## Run this command: wget -O - http://www.bimoid.com/debian/apt.key | apt-key add - deb http://www.bimoid.com/debian/ stable non-free #### Dotdeb - http://www.dotdeb.org ## Run this command: wget -q -O - http://www.dotdeb.org/dotdeb.gpg | apt-key add - deb http://packages.dotdeb.org oldstable all #### Enlightenment - http://enlightenment.org ## Run this command: wget -q http://packages.enlightenment.org/repo.key -O- | apt-key add - deb http://packages.enlightenment.org/debian lenny main extras #### Esmska - http://code.google.com/p/esmska/ ## Run this command: wget -q -O - http://repo.palatinus.cz/repo.key | apt-key add - deb http://repo.palatinus.cz/stable / #### Google Linux Software Repositories - http://www.google.com ## Run this command: wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - deb http://dl.google.com/linux/deb/ stable non-free main #### Google Linux Software Repositories (Testing) - http://www.google.com ## Run this command: wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - [ Read 64 lines ] ^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos ^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell vmserver03:/etc/apt# aptitude install emacs Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Reading task descriptions... Done The following NEW packages will be installed: emacs emacs22{a} emacs22-bin-common{a} emacs22-common{a} emacsen-common{a} libgif4{a} libxmu6{a} libxpm4{a} libxt6{a} xaw3dg{a} 0 packages upgraded, 10 newly installed, 0 to remove and 0 not upgraded. Need to get 17.9MB of archives. After unpacking 62.6MB will be used. Do you want to continue? [Y/n/?] y Writing extended state information... Done Get:1 http://ftp.us.debian.org lenny/main libxt6 1:1.0.5-3 [166kB] 0% [1 libxt6 0/166kB 0%] Get:2 http://ftp.us.debian.org lenny/main emacsen-common 1.4.17 [17.6kB] Get:3 http://ftp.us.debian.org lenny/main emacs22-common 22.2+2-5 [14.6MB] Get:4 http://ftp.us.debian.org lenny/main emacs22-bin-common 22.2+2-5 [165kB] Get:5 http://ftp.us.debian.org lenny/main libgif4 4.1.6-6 [39.4kB] Get:6 http://ftp.us.debian.org lenny/main libxmu6 2:1.0.4-1 [51.1kB] Get:7 http://ftp.us.debian.org lenny/main libxpm4 1:3.5.7-1 [40.3kB] Get:8 http://ftp.us.debian.org lenny/main xaw3dg 1.5+E-17 [161kB] Get:9 http://ftp.us.debian.org lenny/main emacs22 22.2+2-5 [2607kB] Get:10 http://ftp.us.debian.org lenny/main emacs 22.2+2-5 [20.0kB] Fetched 17.9MB in 49s (361kB/s) Selecting previously deselected package libxt6. (Reading database ... 46667 files and directories currently installed.) Unpacking libxt6 (from .../libxt6_1%3a1.0.5-3_i386.deb) ... Selecting previously deselected package emacsen-common. Unpacking emacsen-common (from .../emacsen-common_1.4.17_all.deb) ... Selecting previously deselected package emacs22-common. Unpacking emacs22-common (from .../emacs22-common_22.2+2-5_all.deb) ... Selecting previously deselected package emacs22-bin-common. Unpacking emacs22-bin-common (from .../emacs22-bin-common_22.2+2-5_i386.deb) ... Selecting previously deselected package libgif4. Unpacking libgif4 (from .../libgif4_4.1.6-6_i386.deb) ... Selecting previously deselected package libxmu6. Unpacking libxmu6 (from .../libxmu6_2%3a1.0.4-1_i386.deb) ... Selecting previously deselected package libxpm4. Unpacking libxpm4 (from .../libxpm4_1%3a3.5.7-1_i386.deb) ... Selecting previously deselected package xaw3dg. Unpacking xaw3dg (from .../xaw3dg_1.5+E-17_i386.deb) ... Selecting previously deselected package emacs22. Unpacking emacs22 (from .../emacs22_22.2+2-5_i386.deb) ... Selecting previously deselected package emacs. Unpacking emacs (from .../emacs_22.2+2-5_all.deb) ... Processing triggers for man-db ... Setting up libxt6 (1:1.0.5-3) ... Setting up emacsen-common (1.4.17) ... emacsen-common: Handling install of emacsen flavor emacs Setting up emacs22-common (22.2+2-5) ... Setting up emacs22-bin-common (22.2+2-5) ... Setting up libgif4 (4.1.6-6) ... Setting up libxmu6 (2:1.0.4-1) ... Setting up libxpm4 (1:3.5.7-1) ... Setting up xaw3dg (1.5+E-17) ... Setting up emacs22 (22.2+2-5) ... emacs-install emacs22 install/cmake: Byte-compiling for emacs22 Wrote /usr/share/emacs22/site-lisp/cmake/cmake-mode.elc install/dictionaries-common: Byte-compiling for emacsen flavour emacs22 Wrote /usr/share/emacs22/site-lisp/dictionaries-common/debian-ispell.elc Wrote /usr/share/emacs22/site-lisp/dictionaries-common/ispell.elc Wrote /usr/share/emacs22/site-lisp/dictionaries-common/flyspell.elc emacsen-common: Handling install of emacsen flavor emacs22 emacsen-common: byte-compiling for emacs22 Loading /etc/emacs22/site-start.d/00debian-vars.el (source)... Loading /etc/emacs/site-start.d/50cmake.el (source)... Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)... Loading debian-ispell... Loading /var/cache/dictionaries-common/emacsen-ispell-default.el (source)... Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)... Wrote /etc/emacs22/site-start.d/00debian-vars.elc Wrote /usr/share/emacs22/site-lisp/debian-startup.elc Setting up emacs (22.2+2-5) ... Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done Reading task descriptions... Done vmserver03:/etc/apt#
vmserver03:/etc/apt# emacs File Edit Options Buffers Tools Help Welcome to GNU Emacs, one component of the GNU/Linux operating system. Get help C-h (Hold down CTRL and press h) Emacs manual C-h r Browse manuals C-h i Emacs tutorial C-h t Undo changes C-x u Buy manuals C-h C-m Exit Emacs C-x C-c Activate menubar F10 or ESC ` or M-` (`C-' means use the CTRL key. `M-' means use the Meta (or Alt) key. If you have no Meta key, you may instead type ESC followed by the character.) Useful tasks: Visit New File Open Home Directory Customize Startup Open *scratch* buffer GNU Emacs 22.2.1 (i486-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2008-11-09 on raven, modified by Debian Copyright (C) 2008 Free Software Foundation, Inc. GNU Emacs comes with ABSOLUTELY NO WARRANTY; type C-h C-w for full details. Emacs is Free Software--Free as in Freedom--so you can redistribute copies of Emacs and modify it; type C-h C-c to see the conditions. Type C-h C-d for information on getting the latest version. -uuu:%%-F1 *GNU Emacs* All L1 (Fundamental)------------------------------------------------------------------------------------------- For information about GNU Emacs and the GNU system, type C-h C-a.
Based on the data collected:
Though some of the mirrors were the same, some were added. Regardless, installation was still possible without an aptitude update.
What is the question you'd like to pose for experimentation? State it here.
Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.
Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.
State your rationale.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.
Today we're sitting in class talking about Diablo 3 and warcraft. Maybe we'll get some work done someday! =D
Today I setup a SAMAB server on my PogoPlug headless server. This means to date this $50 box has become:
And now it's a SMB server/client for windows hosts!
Best $50 ever.
Today we're planing to setup our ip cams for the plants.
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
Remember that 4 is just the minimum number of entries. Feel free to have more.
Linux, Apache Mysql and PHP server
The default location for your web server is /var/www/index.html
SAMBA is an SMB/CIFS client/server for Linux and UNIX boxes. SAMBA will often been seen as the default sharing method for local Linux nodes in a windows dominated network.
I installed SAMBA on my headless PogoServer that runs arch Linux; I'll show you the outout:
[andrew@alarm ~]$ sudo pacman -S samba warning: samba-3.6.3-2 is up to date -- reinstalling resolving dependencies... looking for inter-conflicts... Targets (1): samba-3.6.3-2 Total Installed Size: 54.29 MiB Net Upgrade Size: 0.00 MiB Proceed with installation? [Y/n] y (1/1) checking package integrity [####################################################################] 100% (1/1) loading package files [####################################################################] 100% (1/1) checking for file conflicts [####################################################################] 100% (1/1) checking available disk space [####################################################################] 100% (1/1) upgrading samba [####################################################################] 100% [andrew@alarm ~]$ cd /etc/samba [andrew@alarm samba]$ ls private smb.conf.default [andrew@alarm samba]$ sudo touch smb.conf [andrew@alarm samba]$ cp /etc/samba/smb.conf.default /etc/samba/smb.conf [andrew@alarm samba]$ sudo rc.d start samba :: Starting Samba Server [DONE] [andrew@alarm samba]$ sudo pdbedit -a -u Andrew new password: retype new password: Unix username: Andrew NT username: Account Flags: [U ] User SID: S-1-5-21-605549301-1251446114-1201287368-1000 Primary Group SID: S-1-5-21-605549301-1251446114-1201287368-513 Full Name: Home Directory: \\alarm\andrew HomeDir Drive: Logon Script: Profile Path: \\alarm\andrew\profile Domain: ALARM Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: never Kickoff time: never Password last set: Sat, 10 Mar 2012 08:56:30 CST Password can change: Sat, 10 Mar 2012 08:56:30 CST Password must change: never Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [andrew@alarm samba]$
You can now share the files of your Linux user with windows clients!
We can't always rely on package managers to do our dirty work when installing new software or programs…
Sometimes when you're installing something new you need to extract it from a tar ball before working with it.
For .tar.gz one must simply enter:
tar xvfz "the archive"
In the case of a .tar just remove the z. it should look like this:
tar xvf "the the archive"
For a .tar.bz2:
tar xvfj "the archive"
Then enter the directory the untar has produced. You should be greeted by a bunch of files including the make and install files.
Make is a tool to recompile programs for installation.
Here are some make options I find useful:
ssh port forwarding allows you to access port on a remote network via ssh.
Shown below is opening port 25565 on 10.80.3.34 through lab46
Last login: Thu Apr 5 13:42:57 on ttys002 __ __ ___ /\ \ __/\ \ /\_ \ \ \ \/\ \ \ \ __\//\ \ ___ ___ ___ ___ __ \ \ \ \ \ \ \ /'__`\\ \ \ /'___\ / __`\ /' __` __`\ /'__`\ \ \ \_/ \_\ \/\ __/ \_\ \_/\ \__//\ \L\ \/\ \/\ \/\ \/\ __/ \ `\___x___/\ \____\/\____\ \____\ \____/\ \_\ \_\ \_\ \____\ '\/__//__/ \/____/\/____/\/____/\/___/ \/_/\/_/\/_/\/____/ ______ __ /\ _ \ /\ \ \ \ \L\ \ ___ \_\ \ _ __ __ __ __ __ \ \ __ \ /' _ `\ /'_` \/\`'__\/'__`\/\ \/\ \/\ \ \ \ \/\ \/\ \/\ \/\ \L\ \ \ \//\ __/\ \ \_/ \_/ \ \ \_\ \_\ \_\ \_\ \___,_\ \_\\ \____\\ \___x___/' \/_/\/_/\/_/\/_/\/__,_ /\/_/ \/____/ \/__//__/ ldhcp-213:~ asow123$ ssh -g -L 25565:vm34.student.lab:25565 asowers@lab46.corning-cc.edu asowers@lab46.corning-cc.edu's password: __ _ _ _ __ . . . . . . . . . . . . . . . . . . . . . . . . . | | __ _| |__ / | |_/ / . Basic System Usage: Type 'usage' at prompt . | |__/ _` | '_ \\_ _/ _ \ . Events and News: Type 'news' at prompt . |_____\__,_|_.__/ |_|\___/ . Broken E-mail? Type 'fixmail' at prompt . --------------------------- . Check Lab46 Mail: Type 'alpine' at prompt . c o r n i n g - c c . e d u . . . . . . . . . . . . . . . . . . . . . . . . . Lab46 is the Computer & Information Science Department's Student Development Server for Computer-related coursework, projects, and exploration. For more information, please check out: .. . . . . . . . . . .. . Lab46 Web Page: http://lab46.corning-cc.edu/ . . Lab46 Help Form: http://lab46.corning-cc.edu/help_request . . Help E-mail: haas@corning-cc.edu or wedge@lab46.corning-cc.edu . .. . . . . . . . . . .. _ .-./*) _/___/ `. U U 'You can check the current directory by typing 'pwd'.' You have old mail. Last login: Thu Apr 5 12:54:01 2012 from 172.16.198.128 lab46:~$
You can forward an entire window manager via you ssh session onto X11
On a remote system you may need more then a terminal for specific applications that demand graphics. All one needs to do is forward their Window manager via their secure shell!
Just grab a package manager of your choice and go to town! I'm going to use Xfce4 in my example:
[root@PogoLab ~]# pacman -S xfce4 :: There are 17 members in group xfce4: :: Repository extra 1) exo 2) garcon 3) gtk2-xfce-engine 4) gtk3-xfce-engine 5) terminal 6) thunar 7) tumbler 8) xfce-utils 9) xfce4-appfinder 10) xfce4-mixer 11) xfce4-panel 12) xfce4-session 13) xfce4-settings 14) xfconf 15) xfdesktop 16) xfwm4 17) xfwm4-themes Enter a selection (default=all): resolving dependencies... looking for inter-conflicts... Targets (21): libxfce4ui-4.8.1-1 libxfce4util-4.8.2-1 vte-0.28.2-3 xorg-xinit-1.3.2-1 exo-0.6.2-3 garcon-0.1.11-1 gtk2-xfce-engine-2.99.2-1 gtk3-xfce-engine-2.99.2-1 terminal-0.4.8-1 thunar-1.2.3-5 tumbler-0.1.24-1 xfce-utils-4.8.3-1 xfce4-appfinder-4.8.0-2 xfce4-mixer-4.8.0-2 xfce4-panel-4.8.6-1 xfce4-session-4.8.3-1 xfce4-settings-4.8.3-2 xfconf-4.8.1-1 xfdesktop-4.8.3-2 xfwm4-4.8.3-1 xfwm4-themes-4.6.0-2 Total Installed Size: 71.22 MiB Proceed with installation? [Y/n] y (21/21) checking package integrity [################################################################] 100% (21/21) loading package files [################################################################] 100% (21/21) checking for file conflicts [################################################################] 100% ( 1/21) installing libxfce4util [################################################################] 100% ( 2/21) installing exo [################################################################] 100% Optional dependencies for exo perl-uri: for mail-compose helper script ( 3/21) installing garcon [################################################################] 100% ( 4/21) installing gtk2-xfce-engine [################################################################] 100% ( 5/21) installing gtk3-xfce-engine [################################################################] 100% ( 6/21) installing vte [################################################################] 100% ( 7/21) installing terminal [################################################################] 100% ( 8/21) installing xfconf [################################################################] 100% ( 9/21) installing libxfce4ui [################################################################] 100% Optional dependencies for libxfce4ui glade: for using the included glade module (10/21) installing thunar [################################################################] 100% Optional dependencies for thunar gvfs: for trash support, mounting with udisk and remote filesystems polkit-gnome: for mounting internal partitions (needs root password) xfce4-panel: for trash applet tumbler: for thumbnail previews thunar-volman: manages removable devices thunar-archive-plugin: create and deflate archives thunar-media-tags-plugin: view/edit id3/ogg tags (11/21) installing tumbler [################################################################] 100% Optional dependencies for tumbler ffmpegthumbnailer: for video thumbnails gstreamer0.10: for video thumbnails poppler-glib: for PDF thumbnails libgsf: for ODF thumbnails libopenraw: for RAW thumbnails freetype2: for font thumbnails (12/21) installing xorg-xinit [################################################################] 100% Optional dependencies for xorg-xinit xorg-twm xterm (13/21) installing xfce-utils [################################################################] 100% NOTE ---- ==> xfce can run on top of a framebuffer. However, for most users it is ==> best to install xorg as an x-server. Please install either xorg-xinit ==> as minimal environment or the xorg meta package. pacman -S xorg-xinit -- or -- pacman -S xorg Optional dependencies for xfce-utils perl: for migration scripts xscreensaver: for locking screen with xflock4 gnome-screensaver: for locking screen with xflock4 xlockmore: for locking screen with xflock4 (14/21) installing xfce4-appfinder [################################################################] 100% (15/21) installing xfce4-panel [################################################################] 100% (16/21) installing xfce4-mixer [################################################################] 100% Optional dependencies for xfce4-mixer gstreamer0.10-base-plugins: to support basic audio hardware gstreamer0.10-good-plugins: well supported hardware gstreamer0.10-bad-plugins: not so well supported hardware gstreamer0.10-ugly-plugins: might contain questionable license hardware (17/21) installing xfce4-session [################################################################] 100% Optional dependencies for xfce4-session fortune-mod: for xfce4-tips (18/21) installing xfce4-settings [################################################################] 100% Optional dependencies for xfce4-settings libcanberra: for sound control (19/21) installing xfdesktop [################################################################] 100% Optional dependencies for xfdesktop xfce4-panel: panel menu plugin (20/21) installing xfwm4 [################################################################] 100% (21/21) installing xfwm4-themes [################################################################] 100% [root@PogoLab ~]# sudo xfce4-panel
You should then be greeted by a lovely xfce panel interface to launch applications from.
Identification of chosen keyword (unless you update the section heading above).
Definition (in your own words) of the chosen keyword.
Demonstration of the chosen keyword.
If you wish to aid your definition with a code sample, you can do so by using a wiki code block, an example follows:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
Identification of chosen keyword (unless you update the section heading above).
Definition (in your own words) of the chosen keyword.
Demonstration of the chosen keyword.
If you wish to aid your definition with a code sample, you can do so by using a wiki code block, an example follows:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
State the course objective
In your own words, define what that objective entails.
State the method you will use for measuring successful academic/intellectual achievement of this objective.
Follow your method and obtain a measurement. Document the results here.
Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.
Can I forward an entire window manager via X11?
PogoPlug, GIYF
I believe you can forward an entire window manager via X11 and SSH
AirAndrew:~ asow123$ ssh -X andrew@67.241.242.136 andrew@67.241.242.136's password: Last login: Tue Apr 10 09:31:12 2012 from 50.42.61.239 __ __ ___ ______ /\ \ __/\ \ /\_ \ /\__ _\ \ \ \/\ \ \ \ __\//\ \ ___ ___ ___ ___ __ \/_/\ \/ ___ \ \ \ \ \ \ \ /'__`\\ \ \ /'___\ / __`\ /' __` __`\ /'__`\ \ \ \ / __`\ \ \ \_/ \_\ \/\ __/ \_\ \_/\ \__//\ \L\ \/\ \/\ \/\ \/\ __/ \ \ \/\ \L\ \ \ `\___x___/\ \____\/\____\ \____\ \____/\ \_\ \_\ \_\ \____\ \ \_\ \____/ '\/__//__/ \/____/\/____/\/____/\/___/ \/_/\/_/\/_/\/____/ \/_/\/___/ ____ __ __ __ /\ _`\ /\ \ /\ \ /\ \ \ \ \L\ \___ __ ___\ \ \ __ \ \ \____\ \ \ \ \ ,__/ __`\ /'_ `\ / __`\ \ \ __ /'__`\ \ \ '__`\\ \ \ \ \ \/\ \L\ \/\ \L\ \/\ \L\ \ \ \L\ \/\ \L\.\_\ \ \L\ \\ \_\ \ \_\ \____/\ \____ \ \____/\ \____/\ \__/.\_\\ \_,__/ \/\_\ \/_/\/___/ \/___L\ \/___/ \/___/ \/__/\/_/ \/___/ \/_/ /\____/ \_/__/ [andrew@PogoLab ~]$ sudo xfce4-panel Password:
Xfce then began to load atop my local machine.
My hypothesis was correct, the window manager is a lot like a user application and therefor can be forwarded via the network.
This could be especially useful for remote configuration and administration.
What is the question you'd like to pose for experimentation? State it here.
Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.
Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.
State your rationale.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.
Perform the following steps:
Whose existing experiment are you going to retest? Provide the URL, note the author, and restate their question.
Evaluate their resources and commentary. Answer the following questions:
State their experiment's hypothesis. Answer the following questions:
Follow the steps given to recreate the original experiment. Answer the following questions:
Publish the data you have gained from your performing of the experiment here.
Answer the following:
Answer the following:
Today I got Xfce4 running atop arch on my pogoplug. I forward the window manager through X11 via the network and interface with it on my client pc.
This is significant for a number of reasons:
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
Remember that 4 is just the minimum number of entries. Feel free to have more.
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
Remember that 4 is just the minimum number of entries. Feel free to have more.
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
Remember that 4 is just the minimum number of entries. Feel free to have more.
Squid is an open source HTTP, HTTPS, and FTP proxy application that is flexible enough for Corporate, Education or personal use.
I'm going to setup my own proxy for HTTP and HTTPS so I may evade web restrictions whilst I'm out and about.
First I'm going to grab the Squid program for arch via the Pacman package manager:
[root@PogoLab ~]# pacman -S squid resolving dependencies... looking for inter-conflicts... Targets (8): cloog-0.17.0-1 gcc-4.6.3-1 isl-0.09-1 libmpc-0.9-2 libtool-2.4.2-4.1 mpfr-3.1.0.p7-1 ppl-0.12-1 squid-3.1.19-1.1 Total Download Size: 17.38 MiB Total Installed Size: 87.46 MiB Proceed with installation? [Y/n] y :: Retrieving packages from core... mpfr-3.1.0.p7-1-arm 319.8 KiB 343K/s 00:01 [##########################################################################] 100% libmpc-0.9-2-arm 53.4 KiB 502K/s 00:00 [##########################################################################] 100% isl-0.09-1-arm 377.5 KiB 488K/s 00:01 [##########################################################################] 100% cloog-0.17.0-1-arm 74.2 KiB 636K/s 00:00 [##########################################################################] 100% ppl-0.12-1-arm 1965.6 KiB 707K/s 00:03 [##########################################################################] 100% gcc-4.6.3-1-arm 13.5 MiB 1129K/s 00:12 [##########################################################################] 100% libtool-2.4.2-4.1-arm 268.5 KiB 650K/s 00:00 [##########################################################################] 100% :: Retrieving packages from extra... squid-3.1.19-1.1-arm 887.1 KiB 569K/s 00:02 [##########################################################################] 100% (8/8) checking package integrity [##########################################################################] 100% (8/8) loading package files [##########################################################################] 100% (8/8) checking for file conflicts [##########################################################################] 100% (1/8) installing mpfr [##########################################################################] 100% (2/8) installing libmpc [##########################################################################] 100% (3/8) installing isl [##########################################################################] 100% (4/8) installing cloog [##########################################################################] 100% (5/8) installing ppl [##########################################################################] 100% (6/8) installing gcc [##########################################################################] 100% (7/8) installing libtool [##########################################################################] 100% (8/8) installing squid [root@PogoLab ~]#
That's about it… make sure you've setup your router to forward port 3128 so squid my communicate externally. Set your proxy credentials on your client machine and you're off the races!
For my proxy server I've settled with the following config file:
acl ip_acl src 192.168.1.0/24 http_access allow ip_acl http_access allow all cache_mgr asow123@gmail.com cache_mem 64 MB cache_dir diskd /var/log/squid/cache0 64 16 256 cache_effective_user andrew http_port 3128 transparent
This tells all trafic forwarded to the proxy on port 3128 to travel through its assigned port and return to the client. The cache is 64 megabytes (Enough for personal use.)
A superuser is the root user. A system typically has a single root account and can allow other users superuser privileges. The concept of a superuser establishes a layer of security on your system; you wouldn't want to allow absolute log, program and file navigation access to every user.
An administrator or root user can add new sudo user in the /etc/sudoers file. Here is an example of a string adding sudo privileges to a user named joe:
joe ALL=(ALL) ALL
So want to be a super user? Think sudo's the same thing? Not quite. The difference between sudo and root execution is when a user executes a command using using sudo a log is kept of the commands used. This is not the case with root.
This log adds an additional layer of security.
Unison is a great bidirectional directory synchronization application. I've setup a script to describe its functionality:
#!/bin/bash _path="/home/andrew/Cloud" _unison=/usr/local/Cellar/unison/2.40.63/bin/unison _rserver="67.241.242.136" for r in ${_rserver} do for p in ${_path} do ${_unison} -batch /Users/asow123/Cloud "ssh://${r}/${p}" done done
Here is the script in action:
AirAndrew:/ andrew$ ./Unison.sh Contacting server... Connected [//AirAndrew//Users/asow123/Cloud -> //PogoLab//home/andrew/Cloud] Looking for changes Waiting for changes from server Reconciling changes props <-?-> props / local : dir props changed modified on 2012-05-02 at 21:26:20 size 2025059 rwxr-xr-x PogoLab : dir props changed modified on 2012-05-02 at 21:25:03 size 1946009 rwxr-xr-x new file <-?-> new file .DS_Store local : new file modified on 2012-05-02 at 21:23:17 size 6148 rw-r--r-- PogoLab : new file modified on 2012-04-30 at 18:06:57 size 6148 rw-r--r-- w file <-?-> new file Icon local : new file modified on 2012-04-30 at 17:54:31 size 79050 rw-rw-rw- icon MACS PogoLab : new file modified on 2012-04-30 at 9:46:17 size 0 rw-rw-rw- No updates to propagate AirAndrew:/ andrew$
Sometimes you just need indefinite access.
An ssh key will allow you to establish a secure shell with a trusted host if the server is compliant with clients generated key.
On the client side
ssh-keygen -t dsa
generates an ssh key for the remote server.
Add the key to this file ~/.ssh/authorized_keys
Then login! =D
Forwarding Applications is so cool!
You can forward applicaitons to other display environments like this:
[andrew@PogoLab ~]$ sudo env DISPLAY=:10 gparted ====================== libparted : 3.1 ====================== ^C[andrew@PogoLab ~]$
So… lets explain what just happened. On my MacBook I was ssh'd into @PogoLab and set gparted to open on my PowerBook that was ALSO connected to @PogoLab
The $DISPLAY number is what counts; :0 would be the local display and 10 was the SSH session connected to the PowerBook
For when you're too good for just ssh -X
Let's say I want X apps to open on my macbook air when they are executed on @PogoLab. First I must add the remote ip of PogoLab to my X hosts on the macbook:
AirAndrew:~ andrew$ sudo xhost +192.168.1.101 Password: 192.168.1.101 being added to access control list AirAndrew:~ andrew$
Then on @PogoLab I must export my display to the macbook:
[andrew@PogoLab ~]$ export DISPLAY=192.168.1.147:0.0 [andrew@PogoLab ~]$
Play hard work hard
Through video games and other forms of digital entertainment, one can acquire a set of skills that enable that person to excel in the fundamentals of that subject.
For instance, I didn't know how to forward ports via ssh before it was necessary when attempting to play MineCraft on a Lab46 VM-server.
If you never make time for a little fun you may find your situation dull and stagnate.
What is the question you'd like to pose for experimentation? State it here.
Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.
Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.
State your rationale.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.
What is the question you'd like to pose for experimentation? State it here.
Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.
Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.
State your rationale.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.
Perform the following steps:
Whose existing experiment are you going to retest? Provide the URL, note the author, and restate their question.
Evaluate their resources and commentary. Answer the following questions:
State their experiment's hypothesis. Answer the following questions:
Follow the steps given to recreate the original experiment. Answer the following questions:
Publish the data you have gained from your performing of the experiment here.
Answer the following:
Answer the following: