User Tools

Site Tools


blog:spring2016:asutton5:journal

UNIX/Linux Fundamentals Journal

May 2nd, 2016

This week has been extremely blazé just reading through the EoCE and researching thing I will need to know to complete it. I really wish I didn't get so uptight about responsibilities and grades. The last few weeks of any semester are enough to drive me right to the edge of sanity. This semester, in particular, however is turning out to be acceptionally so. This class has been, by far, the most educational class I have ever taken. The other class I am taking at the moment is a lot more confusing to me and although I am learning some things about software development and system analysis that I didn't realize before, but it is definitely not my cup of tea so to speak.

I think the best thing I am taking away from this semester is a clearer picture of the educational path I want to peruse beyond my associates degree and some fields I absolutely do not want to peruse. I love trying to figure things out. This is probably why I love math and computer “hacking” so much.

I just have to learn how to relax. And I really need to learn how to manage my time and loan out projects better. Two more weeks and then I can breath again for a while. :/

April 25th, 2016

This week has been pretty uneventful. I am spending as much time as possible going through a video playlist on youtube to really gain a deeper understanding of scripting in Unix. It is enlightening and extremely helpful. One thing I learned, which I started to grasp last week but didn’t fully understand, was the importance of starting batch files with a version of unix being used to write the script. I found it especially interesting in relation to writing CGI for web pages, which I’m sure has nothing to do with the fact that I am a web design major.

I have also been reviewing the information in the EoCE to get a good feel for the wholes that are in what I have learned to this point. I also plan to go back and review all of the labs we have done thus far. Hopefully this upcoming week will be filled with clarifications and a more comfortable feel for what I have gained from this course.

April 18th, 2016

I have a ADD. I was diagnosed years ago. This week, I have learned two things about this aspect of my life. Although I have a very hard time focusing, or at least staying focused, when it comes to computers, I am hyper focused. I have easily spent more than 20 hours this week on this project. I also have a tendency to get so focused on shoving a square peg through a round hole that I don't take the time to really evaluate the situation. One of the mistakes I made that took an exceptionally long time was a syntactical error that would have been sooner discovered by really concentrating on the structure of the command rather than seeking out alternative commands that would accomplish the same thing. This has made me think a lot about how I can start organizing my time better. What can I do to plan out projects in a way that will help me to NOT get so hyper focused on one task that I lose literally hours of time going down random rabbit holes. I have tried this, maybe frivolously, in the past, to no avail. Guess it is time to find a system that will work for me.

April 11, 2016

This has been another thought provoking week. I can’t learn enough fast enough. I am continuing to work on the udr2 lab as I fumble through the syntax of Unix scripting. Although I have taken a C++ class before, trying to alter the code from last weeks’ lab proved more difficult that I had originally thought it would be. Slow but sure getting there.

The lab for this week, upr0, looked like it was going to be a piece of cake. I had this one. The read, write, and execute settings for user group and everyone else is something I remember well from my admin days of old. However, the joke was on me. The Set UID, Set GID and Sticky Bit settings were completely new and foreign to me. The first time I looked at it, I thought I had it. But I was seeing a correlation between the first character in the permissions set and these new gems that wasn’t there. I really like the way the lab was formulated though, because by the time I finished the last set, I really felt confident that I knew how to read the permissions accurately. The only problem that still remains is that I have no idea what these special settings are used for or what purpose they serve. More research for a less busy time in the future.

April 4, 2016

Information Overload‼ Ok. Not really. But every week I feel closer and closer to connecting a LOT of dots. And every week, I gain a deeper and deeper understanding of the functionality of the computer machinery. The whole mentally exhausting process it like having a name on the tip of your tongue and no matter how hard you try, never being able to quite remember it. I feel like I am getting closer and closer to a “core” understanding (pardon the pun), but every time I turn a corning, there is another stretch of path and another corner. For every answer I find, I think of two more questions. If files can be broken down ultimately into binary and “decoded” how can encryption and data security ever truly be trusted? How can there ever be an encryption process that cannot be cracked. The process of programming ultimately takes human readable code and breaks it down into machine language that “explains” to the computer what it is supposed to do. I have always perceived that binary is used with machines to represent a series of switches that are either on, or off. I guess I still see It this way, but my propensity toward thinking so far down the rabbit whole seeking the origin of it all makes me wonder. If the zeros and ones are on/off switches, who came up with thee system that says a certain combination of 8 “switches” is the representation of an actual alpha “a”. The plot continues to thicken and the next corner can never get here fast enough.

March 28, 2016

At the beginning of this semester, I wasn't having too much trouble with these journal entries. As they began to get longer and longer in requirements, I though “I am never going to be able to come up with that many words.” This on top of the stress I was feeling from the course content in addition to being a full-time employee and a full-time mom and wife caused me to just give up doing it a couple weeks ago to just typing as much as I could muster which fell disappointingly short of the mark last week.

However, I have a new found energy. This course is far more beneficial any class I have t ever taken. It really makes me stop and think. I can't google every solution and I really need to focus on documentation.

This week's lab has been exceptionally challenging, and exceptionally education. I have learned things about partition tables and hex tables than I never knew before. For instance, who in tarnation came up with the bright idea to number bytes in a CHS table from zero to seven as opposed to from one to eight, and to call it a CHS value, but order it Header-Cylinder-Sector. Shouldn’t it be an HCS value?? As if this stuff isn’t confusing enough. I already had a good grasp on the concept of binary and how it translates to decimal, but I now have a much better understanding of how it relates to actual data. This is cool! Again, I spent a lot of time “not finding” the information I wanted in the manuals and the lab itself because of my lack of focus on detail. I tried to use the wrong resources in the wrong places and went down a lot of rabbit trails. The overlay had me particularly stumped as I kept searching the documentation for that specific term instead of focusing on what that term actually means. I find myself wasting hours before asking questions, not because I am adamant on finding the solution or worried that I will ask a stupid question (I always tell my students that the only dumb question is the one that you don't ask). Its because I get so hyper-focused on the task at hand that I lose track of time. I guess I will have to start using a timer and see if that helps. As a side note to the project, I also found the ability to just copy a file from the partition to a subdirectory in the Unix environment a bit surreal. I copied one of the images (rikerleg.jpg) from the partition into the working Unix directory I was in. Because of the way I think about the barrier between DOS and Unix, It was kind of like pulling a cartoon character out of a television set and having it function in the real world. Weird, I know. This admission alone is enough to dispel the notion that my wasted time is because of a fear of looking “silly”. Thinking about the bit by bit process of copying, however, this makes more sense. The file, when it was being copied, was not compressed. So if it is being copied bit by bit, transferring it from the partition to the Unix environment, and the ultimately emailing it to myself to be able to view the picture makes more sense. Another question milling around in my mind, possibly thrown off by prior DOS knowledge is this: DOS uses a FAT (file allocation table). My understanding is that the FAT is an index that organizes the different locations of the file pieces (they are not contiguous) of each file. Does Unix not work this way, and if not, how does it deal with storage space in relationship to deleting and creating new files? The more I learn, the more questions I have. =O

March 21, 2016

The last two weeks have been extremely stressful. However, I have also learned a lot. I not only learned a lot about Unix but I learned even more about my idiosyncrasies. Some good. Some bad.

For example, my procrastination issues have NOT improved as I once thought they had. I always have a tendency to think I have more time left to do things than I actually have. This causes me to do other things that suddenly shoot up my priority list because I still have “two days” left to work on the current project.

While finishing up the udr0 project, which seemed to take for ever and ever, I ran up against several stumbling blocks. Most of which were my own inability to focus. I will get in the middle of a step and then forget where I was going with it and what I have already done.

When I first started udr0, I felt like I was NEVER going to be able to get a grasp on it. I also got really frustrated and caught up on the image manipulating portion of this project. The rle looked to me to be more of a file format than a compressed file.

March 9, 2016

I am falling deeper into the pit of lost. I can’t figure out how to get the config files to work in Unix. I have hit one brick wall after another. Everything I have found has lead me to believe that the .profile and some others belong in the home directory in order to be effective. However making changes to these file doesn’t seem to affect my environment. I have skimmed through the sample files and read through the “live” versions of some of them and don’t seem to be making any headway. I may not get credit for them, but I will continue to try to figure it out and get them in as soon as I can. My home internet went down this weekend and I feel like I am drowning in a sea of over-commitment that is overtaking my life as a whole. One thing I am learning from this class is that I am not half as organized as I thought I was.

This one week project turned into a two and a half week project for which I most likely will receive no credit but, touché. At least I feel like I learned a little bit about configuration files in Unix. First and foremost is that when you are accessing a Unix system via remote tty, I believe the application you are using to connect plays a big roll in what will and will not work when changed in the configuration files. IE, color changes will not do me any good if the PUTTY program does not support such commands? Maybe I am wrong, but the changes I made to the environment colors through the .bashrc file worked fine when I assessed the system from my app on my ipad, but I saw no changes or results from those modifications when connecting from my Windows 10 pc system running PUTTY. I find some of the documentation in the manuals or in the config files themselves is above my head. In other words, maybe I am so used to DOSees that Unixees is Chinese to me. Oh well. The more time I spend with it the more “fluent” I guess I will become. I even went so far as to download Cygwin to my pc this week in hopes of spending a little more time with Unix playing around and getting to know it better. Like learning to create and manage user accounts. I must have know how to do this once upon a time but I don’t remember any of it.

February 29, 2016

Every week the labs for this class get harder and harder. This week I didn’t feel like I could even complete the task, and I didn’t. I turned in a project that was half finished. Getting the feel for using the Vi and Vim editors is turning out to be such a challenge. I have definitely been spoiled with this WYSIWIG era we seem to be delving deeper and deeper into. As I write this entry for March 2nd, it is actually March 8th. I didn’t realize until well after the assignment was due that I hadn’t completed, or even started or thought about for that matter, my journal entry. I got so wrapped up in the project and over shot the mark.

I started out with thirty-six rooms. Many dead ends, many riddles or questions to find the correct answer to. Designing the maze so that it made sense turned out to be a much harder challenge than coming up with the ideas for each rooms challenge or demise. I spent untold hours on the graphical design of the map which was the maze with ears of corn with the husk still on for wall barriers.

The biggest question I had was how I was going to get my graphic files to the Unix system. Question answer with a quick email to my instructor. He gave me a couple different options and due to the complexity of the project I had already created for myself, I opted for the simplest way and that was to email them to myself.

At the start of the project, I was using left, right, and straight directional instructions. This became two confusing when entering a room from a different doorway. So I ended up changing the directions to east, west, north, and south. Writing the code and using sub-directories and paths was not a challenge for me as I have been working in CLI environments for over thirty years, so I guess this week my biggest hurtles were learning the editor programs and the design aspect of the assignment.

I am definitely becoming more comfortable with the Unix commands and how the directories and files are structured. The Mercurial processes are still somewhat of a mystery to me. I understand for the most part, how it works, but I need to understand more about the configuration. As of right now, I have alias’s in the src directory that point to the directory that I want to commit to the repository. I am assuming that there is a way to configure things so that it can be applied that is in any sub-directory of my home directory.

My next entry will be interesting. I have been working with the configuration files but learning a lot more about Unix commands that are helpful along the way. They may have been in the original text that I read, but I don’t have much memory retention and now that I am actually in the midst of working in Unix, being able to use these commands will help to remember them much more than reading them out of a book.

The more I learn about Unix, the more I realize I have to learn. Although I have worked with it before, I have learned more in this class in the last five weeks than I did in an entire year of administering a system. I am realizing how superficial my knowledge was to this point. When I compare it to how much I know about DOS (which is a LOT, but still not everything) I just hope it doesn’t take me another 30 years to feel as proficient in Unix.

And at this point, I still have all sorts of questions running through my head about how a GUI system works in Unix. Although I know that Apple uses Unix in creating IOS, I have never seen the correlation between Unix CLI and Apple’s GUI. I still think of the Unix system in the same way I think of the original IBM dos machines. I am anxious to be able to understand that connection.

February 22, 2016

The biggest challenge for me this week was observation. I can't say that I ever realized how unobservant I am. So many HOURS were spent on rabbit trails because I didn't think before i sought answers. I did pretty well on the first level finding the README file before I got too side tracked, but it was all up hill from there.

The next step wasn't too bad. Reading the documentation comments in the file was extremely straight forward. But the step of actually getting the program to run was a nightmare. I wasn't sure what standard input and output were. I think I tried every combination and format of commands to get this to work and spent many hours of frustration over a period of about 3 days. So glad I started this assignment early.

I remembered from my past experience with Unix that there were a few different ways to redirect output. There is the pipe, which from the outcome of this weeks assignment I am assuming is the one that is used to direct output from one command to another command or a program. There is the > symbol which I think directs output to a text file that it creates. or overwrites. and there is a » that appends output to already existing text in a file.

The challenge of getting the next password to work deserves mentioning. Once I got the message decoded, I tried copy and pasting the password into the extraction. No go. I am not sure why this didn't work, but trying to type it in manually was a tedious process. The spaces and punctuation in addition to the obstacle of not being able to SEE what I was typing resulted in over 10 attempts to get this password right. UGH!

Once I got the files extracted, using one of the formerly mentioned direction symbols, I catted the contents of all four files to a single, new file. Then the challenge of reordering the lines of the file to create something that made sense. I started by looking in the text on Vi and Vim but was unable to find what I was looking for, so I again resorted to google. “Sort lines vi Unix”. I don't know if it is just me, and it feels like cheating, but I so often find search engines to be the best “go to” for finding information quickly.

After finishing the submission for this week, I posted the question about the repository. It was good review for me to relearn the routine of using Mercurial. The more programming and CLI I do, the more I understand the value of programs like this.

In the process of working on this weeks assignment, I decided to create an outline of each step I took to help me to organize my thoughts in real time to use as a reference when it was time to write this weeks journal entry. In doing this, as I do with all my files, I saved the progress in my Dropbox account. As I write this, I am using a computer I don't usually work on and as such, I am accessing my Dropbox account directly from their website. As I loaded the file in, I discovered that dropbox also keeps revisions of file changes that you can access on your account.

With more could-based storage, the integration of revision control seems to be becoming the norm.

February 8, 2016

My dream job would be a professional hacker. I would love to get paid by companies and agencies to try to break into their systems to expose any vulnerabilities. Most likely this would be why I love shows like Person of Interest. This week’s assignment was interesting and exciting for me. I never thought about layers of compilation and encryption before. To be honest, I'm not even sure I realized it was even possible, at least not without errors or loss of integrity. But now I wonder if this is how security is actually handled. Multiple layers of encryption?

I probably made this week’s project more complicated than it needed to be. I did a file command on the riddle.html file. I saw that it was compressed with gzip so I looked at the manual for gzip and learned that guy zip was the command I needed. I ran the command and got an “unknown suffix” error message. This confused me because we just learned that extensions don't exist in UNIX, but I assumed that this had something to do with the error message. I renamed the file (mv) from riddle.html to riddle.gz. I reran the gunsight and it worked. Layer one down.

I continued this process of using the file command and extracting as necessary from the consecutive layers of encryption. When I got to the last layer, I first use the cat command to look at the file contents and caught the text BASE64 at the start of the file. So true to my nature, I googled it. I found a website, www.base64decode.org that will decode or encode ASCI text using Base64. I copied the text from the dinosaur_with_hats.mp4 file and pasted it into this sites decoder. That was the first time I realized I had gotten into the puzzle box. I was so excited. Then it was a little bit of a challenge to find the right command in Unix to do it the way it was SUPPOSED to be done. It may have been the long way to do things, but I learned a lot and had so much fun in the process.

I can’t wait to get further into this course. I am really looking forward to the problem solving aspect of it. Solving puzzles is one of my favorite things to do in my spare time.

February 1, 2016

Challenging doesn’t begin to describe this week. After a lot of google searching, a lot of man commands, and numerous typos, I think I finally got it. I have used zip files many times, and I did understand generally how they work. This week, however, I gained a much greater understanding of an archive. I guess before this week I was under the impression that an archived file was essentially the same thing as a compressed file. I have a much clearer understanding of the difference. The biggest challenge for me this week was understanding what the rev and tac commands do. I Googled them to look for examples and hopefully gain a much better understanding of how they work. The best examples I found were on thegeekstuff.com:

$ cat thegeekstuff.txt 1. Linux Sysadmin, Scripting etc., 2. Databases Oracle, mySQL etc., 3. Hardware 4. Security (Firewall, Network, Online Security etc) 5. Storage 6. Cool gadgets and websites 7. Productivity (Too many technologies to explore, not much time available) 8. Website Design 9. Software Development 10. Windows Sysadmin, reboot etc., 11. Adding 1's and 0's

$ tac thegeekstuff.txt 11. Adding 1's and 0's 10. Windows Sysadmin, reboot etc., 9. Software Development 8. Website Design 7. Productivity (Too many technologies to explore, not much time available) 6. Cool gadgets and websites 5. Storage 4. Security (Firewall, Network, Online Security etc) 3. Hardware 2. Databases Oracle, mySQL etc., 1. Linux Sysadmin, Scripting etc.,

$ rev thegeekstuff.txt ,.cte gnitpircS ,nimdasyS xuniL .1 ,.cte LQSym ,elcarO sesabataD .2 erawdraH .3 )cte ytiruceS enilnO ,krowteN ,llaweriF( ytiruceS .4 egarotS .5 setisbew dna stegdag looC .6 )elbaliava emit hcum ton ,erolpxe ot seigolonhcet ynam ooT( ytivitcudorP .7 ngiseD etisbeW .8 tnempoleveD erawtfoS .9 ,.cte toober ,nimdasyS swodniW .01 s'0 dna s'1 gniddA .11

This is very interesting, although I am still not sure that I understand where the rev command can be at all useful, I see where tac could be used to order log files, for example. And although I have never formally been diagnosed, this weeks project has me convinced I have aixelsyd, I mean dyslexia.

Another discovery I made inadvertently this week was that the dir command that I am used to using in DOS also appears to work in Unix. It does the same thing as the ls command without the color coding.

I also had some technical issues with one of my terminal sessions. I got an error that seemed to indicate an issue with some stopped processes and it would not let me “exit” the session. So I tried using the kill command which I remembered from my so-long-ago Unix days, but I fumbled through it and in the end I am not even sure that my “playing” with that command is what eventually resolved the issue.

January 27, 2016

Well, this first week has been quite a roller coaster. I have used Unix before. My first job in this are was as a Marketing Assistant. While working in that job, I slowly migrated to the position of Unix System Administrator. I was quite proficient in the basics of Unix, but alas, this was about 28 years ago. Staring out this week, much of the material does look familiar and it is coming back quite easily. However, I have been quickly realizing the VERY basics is about all I remember, so the rest of this course should be interesting.

One of the biggest challenges for me is going to be wrapping my head around the statement I read in the text: “One of the wonderful things about UNIX….Practically everything on the UNIX filesystem is a file. A directory, then, is a file that contains the locations of other files.” WHAT?? Coming from a very heavy DOS background, this does not compute. I am really hoping the reprogramming on this one isn't going to be painful. =S

blog/spring2016/asutton5/journal.txt · Last modified: 2016/05/02 23:50 by asutton5