User Tools

Site Tools


blog:spring2016:asutton5:journal

This is an old revision of the document!


UNIX/Linux Fundamentals Journal

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 9th, 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.1458613790.txt.gz · Last modified: 2016/03/22 02:29 by asutton5