======Part 2====== =====Entries===== ====October 20, 2011==== Today I brought my good friend Eli Cadwallader in to audit a class. Eli and I work on an upstart journalism initiative based in Chemung County, I am the developer and he is the journalist. The reason I believe this entry is important because it helps describe the applicable uses of UNIX to our enterprise. Our server is Unix based, both of our workstations are Unix based and the our target demographic of devices (mobile phones, tablets, iPhone, iPad, etc) are also Unix based. We really are moving into a Unix dominated world and it's important for everyone to understand the relevant technology behind the humanitarian efforts it can be used for. ====October 24, 2011==== Today I began a part time consulting job so John Cadwallader inc. (http://www.linkedin.com/pub/john-cadwallader/13/b64/500) John has several Windows machines and a single file server running Ubuntu 10.04. John hired me for these reasons: * John's SAMBA share was broken... He needed someone to fix it. * Johns network is currently a little slower then it could be... He has a VPN, a server, and 6 employee machines that his businesses depend on. * John would like to know more about his infrastructure and decided to hire locally opposed to a support service This is very relevant to this course because it involves administration of a network focusing on a UNIX based server at its core. I believe the purpose of this course is to make us more flexible computer/network/infrastructure administrators. ====October 26, 2011==== Today I've setup connections between my office for CivicBeat.com (111 N. Main st, Elmira NY), my home (236 Kendall Pl, Elmira NY), my Android phone and iPad. This allows me to do the following: - maintain my own personal wide area network secured over ssh. - have a constant connection to my *entire* digital life at all times. - my entire network is now theoretically cloud based (all data is accessible via the net) - this is a real-word opportunity to setup/administrate a wide area network - now no matter where I am there will never be an excuse for not having enough drive space - redundant backup can now my administrated remotely. ====October 29, 2011==== On this day I started working on my new Hackintosh machine for work...Why is this important? because utilitarians will succeed over all! understanding why mac OS software will run on an IBM clone is important if you truly want to understand the inner workings of the software technology that runs OS X. =====unix Topics===== ====fsck==== Checks and repairs your file system. ====echo==== Echo is a powerful tool that allows the user to 'echo' an argument into standard output and you can even tie arguments to pipes to create complex strings. ====Shell==== A shell the users window to the operating system. It is the tool we use to manipulate files "everything is a file". Here is a list of example shells: - sh - ksh - csh - tcsh - bash - zsh In our lab46 instances we use the bash shell. A shell is not UNIX Dependant, for example; the bash shell can run on other *NIX* type operating systems such as Linux, Solaris, open VMS, Haiku and countless others. ====Package managers==== Package managers allow users to query a database of software for their operating system. Users can add different "repositories" to their package managers that allow software from other sources to be installed. Package managers will also update your software by checking the current version verses your own. ====Arch==== Arch displays the hosts systems architecture. Arch -k Displays the kernel architecture, such as sun4m, sun4c, and so forth. This defines which specific SunOS kernel will run on the machine, and has implications only for programs that depend on the kernel explicitly (for example, ps). [root@alarm ~]# arch armv61 [root@alarm ~]# ====Netstat==== Netstat displays all network connections on the system. ====htop==== Top on steroids. Like top, htop displays processes but it allows the user to scroll vertically //and horizontally//. The user can also kill PIDs within the program! ====rsync==== rsync allows users to sync data over ssh sessions a lot like sftp. The user can copy and move files over the network in their shell! [root@alarm ~]# rsync -rav asowers@lab46.corning-cc.edu: /home/asowers/ asowers@lab46.corning-cc.edu's password: receiving incremental file list created directory /home/asowers ./ .Xauthority .addressbook .bash_history .bash_logout .bashrc .indent.pro .lab.swp .lesshst .pine-passfile .pine-passfile.old .pinerc .pinerc.old .profile .swp .viminfo .xinitrc .xsession-errors Maildir -> /var/mail/asowers android-sdk_r13-linux_x86.tgz [root@alarm ~]# ====iftop==== Interface-top displays all of your network connections and the speed that they are running at. [root@alarm ~]#iftop 12.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kb └─────────────────────────────────────┴──────────────────────────────────────┴──────────────────────────────────────┴──────────────────────────────────────┴────────────────────────────────────── 192.168.1.144 => 192.168.1.137 1.08Kb 0.98Kb 1.21Kb <= 208b 208b 208b 192.168.1.255 => 192.168.1.143 0b 0b 0b <= 0b 437b 655b 192.168.1.255 => 192.168.1.137 0b 0b 0b <= 960b 354b 255b 192.168.1.144 => dns-cac-lb-01.rr.com 0b 0b 28b <= 0b 0b 50b 192.168.1.1 => all-systems.mcast.net 0b 0b 6b <= 0b 0b 0b ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── TX: cumm: 14.8KB peak: 2.20Kb rates: 1.08Kb 0.98Kb 1.24Kb RX: 12.4KB 3.76Kb 1.14Kb 999b 1.15Kb TOTAL: 27.2KB 4.77Kb 2.22Kb 1.95Kb 2.38Kb ====Cowsay==== Laughter is good for the soul =) [root@alarm ~]# cowsay Hello Haas ____________ < Hello Haas > ------------ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || [root@alarm ~]# I had to search my package manager for "coysay" with the following command "pacman -Ss cowsay". To get "coysay' I installed it with my package manager with the following command "pacman -S cowsay" ====gzip==== A file compression tool. ====gunzip==== un-zip gzip archives =====unix Objective===== ====Integrate Unix into my entire computing experience ==== Through dabbling with some of the topics we've talk about in class I've become inspired to integrate into ALL of my devices; Desktop, laptop, phone, tablet, office machine and my cloud server. ===Method=== Trial and error. I feel like Unix is a self exploration topic. I believe what we learn in class is designed to inspire expropriation on your own. I've figured out how to setup my very own wide area network that just a decade ago would seem alien... ===Measurement=== since September I've added my Cloud server. and setup network connection between my devices. ===Analysis=== Upon completing this task I believe it will have a positive effect on my work/school performance because I will constantly be able to have a secure connection to the root of my network. =====Experiments===== ====Fix failed update with moded kernel extensions?==== ===Question=== Is it possible to find and inject some moded kernel extensions after I updated and broke my kernel?(apple dropped atom support in version 10.6.2). ===Resources=== Boot verbose to find where the kernel hung up...it was an issue with initializing ACPI. I found a solution here: http://prasys.info/2011/06/howto-macos-x-10-6-8-and-intel-atoms/ ===Hypothesis=== If I can find the necessary moded kernel extensions I will be able to patch my system by mounting the Hackintosh HDD via SATA to USB on my PowerBook and injecting the KEXTS manually into "/system/library/extensions". ===Experiment=== run the procedure stated in the hypothesis(Inject EvilAppleACPIPlatform.kext and EvilIOPCIFamily.kext into "/system/library/extensions"), reassemble the system, boot and cross fingers. ===Data=== It works! boots into mac OS 10.6.8! ===Conclusions=== What's being done here is the kernel is first being tricked into thinking the current kernel is bad and the moded kernel is the default. The KEXTs are an additional essential piece of the moded kernel required to boot...Why can't software enlightenment come sooner so this is legal? ====Experiment 2==== ===Question=== What is the question you'd like to pose for experimentation? State it here. ===Resources=== 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. ===Hypothesis=== 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. ===Experiment=== How are you going to test your hypothesis? What is the structure of your experiment? ===Data=== Perform your experiment, and collect/document the results here. ===Analysis=== Based on the data collected: * was your hypothesis correct? * was your hypothesis not applicable? * is there more going on than you originally thought? (shortcomings in hypothesis) * what shortcomings might there be in your experiment? * what shortcomings might there be in your data? ===Conclusions=== 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. ====Retest==== If you're doing an experiment instead of a retest, delete this section. If you've opted to test the experiment of someone else, delete the experiment section and steps above; perform the following steps: ===State Experiment=== Whose existing experiment are you going to retest? Prove the URL, note the author, and restate their question. ===Resources=== Evaluate their resources and commentary. Answer the following questions: * Do you feel the given resources are adequate in providing sufficient background information? * Are there additional resources you've found that you can add to the resources list? * Does the original experimenter appear to have obtained a necessary fundamental understanding of the concepts leading up to their stated experiment? * If you find a deviation in opinion, state why you think this might exist. ===Hypothesis=== State their experiment's hypothesis. Answer the following questions: * Do you feel their hypothesis is adequate in capturing the essence of what they're trying to discover? * What improvements could you make to their hypothesis, if any? ===Experiment=== Follow the steps given to recreate the original experiment. Answer the following questions: * Are the instructions correct in successfully achieving the results? * Is there room for improvement in the experiment instructions/description? What suggestions would you make? * Would you make any alterations to the structure of the experiment to yield better results? What, and why? ===Data=== Publish the data you have gained from your performing of the experiment here. ===Analysis=== Answer the following: * Does the data seem in-line with the published data from the original author? * Can you explain any deviations? * How about any sources of error? * Is the stated hypothesis adequate? ===Conclusions=== Answer the following: * What conclusions can you make based on performing the experiment? * Do you feel the experiment was adequate in obtaining a further understanding of a concept? * Does the original author appear to have gotten some value out of performing the experiment? * Any suggestions or observations that could improve this particular process (in general, or specifically you, or specifically for the original author).