Author Archive
Flush DNS cache
by admin on Jul.17, 2011, under Uncategorized
This morning I was doing some work with one of my website transfer and to see the changes on my
MacBook laptop I knew I would need to flush the DNS cache so I wouldn’t have to wait for the cache to expire.
So for anyone else who needs to know the commands here they are:
OS X < = 10.5.1 (Mac OSX versions 10.5.1 and before)
lookupd -flushcache
OS X >= 10.5.2 (Mac OSX Leopard)
dscacheutil -flushcache
In Linux, the nscd daemon manages the DNS cache. To flush the DNS cache, restart the nscd daemon.
To restart the nscd daemon, use the command
/etc/rc.d/init.d/nscd restart
In Microsoft Windows, you can use the command to flush the DNS resolver cache:
C:\>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
You can also use the command to view the DNS resolver cache.
ipconfig /displaydns
Hope that will help anyone out there who needs to flush their dns cache.
Linux Configuration and Diagnostic Tools
by admin on Jul.16, 2011, under Uncategorized
System and Network Configuration
* linuxconf – A GUI interactive interface available on Redhat 6.0 or later which includes netconf configuration.
* netconf – A GUI interactive interface available on Redhat 6.0 and later.
* kbdconf – A Redhat Linux tool which configures the /etc/sysconfig/keyboard file which specifies the location of the keyboard map file. This is a GUI based tool.
* mouseconfig – A Redhat Linux tool used to configure the /etc/sysconfig.mouse file. This is a GUI tool.
* timeconfig – A Redhat Linux tool used to configure the /etc/sysconfig/clock file. This is a GUI tool used to set timezone and whether or not the clock is set to GMT time.
* kernelcfg – A Redhat kernel configuration utility to be started from X.
* stty – Used to configure and print the console devices.
* setterm – Set terminal attributes.
* vmstat – Report statistics on virtual memory.
X Configuration
* XF86Setup – A newer X configuration program with a GUI interface which modifies the “/etc/X11/XF86Config” configuration file.
* xf86config – An older X configuration program with a text based interface. It also modifies the “/etc/X11/XF86Config” configuration file.
* Xconfigurator – The Redhat tool used during system setup to configure X.
* SuperProbe – A program that probes the video card to determine its type for use with setting up X.
* xvidtune – This program will test video modes on the fly without modification to your X configuration. Read the usr/X11R6/lib/X11/doc/VideoModes.doc file before running this program.
Library and kernel Dependency Management
Library management:
* ldd – Used to determine shared libraries used by binary files. Type “ldd /bin/ls” to see the shared libraries used by the “ls” command.
* ldconfig – Used to update links and cache for system use of the most recent runtime shared libraries.
Kernel Management:
* lsmod – List currently installed kernel modules.
* depmod – Creates a dependency file, “modules.dep” in the directory “/lib/modules/x.x.x”, later used by modprobe to automatically load the relevant modules.
* insmod – Installs a loadable kernel module into the running kernel.
* rmmod – Unloads modules, Ex: rmmod ftape
* modprobe – Used to load a module or set of modules. Loads all modules specified in the file “modules.dep”.
General Diagnostic
System resources
* free – Show system memory availability and usage
* df – Show the amount of disk free space on each mounted filesystem.
* du – Show disk usage
* lspci – List PCI devices
* pnpdump – Lists ISA PNP device resource information.
* vmstat – Reports virtual memory statistics.
Other:
* env – List the current environment variables.
* printenv – Print a copy of the environment.
* set – Shows how the environment is set up. This command can be very useful when debugging the environment.
* runlevel – List the current and previous runlevel.
* uname – Print system information. In my case, it prints “Linux”.
* dmesg – Show the last kernel messages printed during the last boot.
Auto lock your Mac when you walk away
by admin on Jul.16, 2011, under Uncategorized
We geeks all have some sort of bluetooth device on us like your Nokia N80 or your new iPhone (which I will be getting and LOVE) so why not take advantage of one of these as a beacon to your computer. With a small application you can set your computer to detect the proximity of your device and perform actions based on when it comes in or goes out of range.
I’m using the free utility Proximity to do the detection. You could even unlock the computer when you come back in range, but I just want it to lock when I walk away since I always forget. With a small AppleScript that’s easy:
tell application “ScreenSaverEngine” to activate
That’s all there is to it and it works great.
Give me the most current file
by admin on Jul.15, 2011, under Uncategorized
I needed a quick way to maintain a current symlink to the most recent file by time stamp. Here’s one way to do it:
ls -t1 *.jpg | head -1 | xargs -i ln -sf {} current.jpg
#!/bin/bash
by admin on Jul.15, 2011, under Uncategorized
I think the number one skill a sysadmin should have is a solid understanding of shells and shell scripting. The Advanced Bash-Scripting Guide is a good place to start or take a refresher. From the introduction:
A working knowledge of shell scripting is essential to anyone wishing to become reasonably proficient at system administration, even if they do not anticipate ever having to actually write a script. Consider that as a Linux machine boots up, it executes the shell scripts in /etc/rc.d to restore the system configuration and set up services. A detailed understanding of these startup scripts is important for analyzing the behavior of a system, and possibly modifying it.
Not to mention I’ll bet every sysadmin is doing some menial tasks over and over again instead of automating or simplifying them with a script. Sometimes you just don’t realize it. For instance, I can’t tell you how many times I’ve typed a loooong find command to recursively set AFS permissions and I just wrote a wrapper to do it with just two parameters the other day. That one script will literally save me minutes each week. Keep at it and you’ll save hours a week.
10 mental blocks keeping you from being a kick-ass sysadmin
by admin on Jul.14, 2011, under Uncategorized
Ok, it’s actually an article about 10 Mental Blocks to Creative Thinking but isn’t creative thinking a huge part of being a kick-ass sysadmin? Here’s what I thought of when I read each point, but I highly recommend that you read the whole article and look for ways it applies to you.
In terms of what mindset you should be in:
- There is almost always more than one right answer.
- Don’t be so rigid with your logic that you become blind to other possibilities.
- Always question everything – “why” or “why not”.
- Always ask “what if” and explore ideas even if they don’t seem feasible on the surface.
- Make time to play. You’ll be amazed at what problems you solve when you’re not at your desk.
- Never say “That’s not part of my job” and explore and learn about as much as you can.
- Try to think about things differently than everyone else at the table is.
- There is no black and white, only gray, and that’s ok.
- It’s ok to be wrong and you will be. It’s ok to make mistakes and you will. Learn from it.
- If you think you can’t do it, then you can’t. You won’t really know unless you try.
Service/Daemon Management
by admin on Jul.12, 2011, under Basics
restarting/stopping/starting a service
On any init.d based linux distro you can restart a service with the following…
/etc/init.d/serviceName restart
You may replace ‘restart’ with ’stop’ or ’start’ (and in some cases ’status’).
Forcefully stopping a service
killall processName
Killing on instance of a service
kill pid
The pid can be gathered by either top or ps
Disabling/adding/listing services
chkconfig –list
displays all the services and if they are set to run in different runlevels
use the –del daemonName to remove a service or –add daemonName to add one
chkconfig [--level <levels>] <name> <on|off|reset>
eg. chkconfig –level 3 httpd on
This will set the httpd to ON on run level 3.
setting a program to run at startup
Add a line executing the command at the end of /etc/rc.local
File Manipulation
Editing Text Files
vi is by far the best text editor but has a learning curve to it. If you want simplicity use nano
display a text file from the command line
cat filename
or
more filename
Display the last few lines of a text file
tail filename
or you can display the last 50 lines of a file with…
tail -50 filename
or you can display lines as they are written to a file (or follow) with the following: (UBER useful for log files)
tail -f filename
copy a file
cp filename destination
move a file
mv filename destination
delete a file
rm -f filename : removes the file. -f makes it so it doesn’t ask you if you are sure
Displaying the differences between two files
diff file1 file2
Installing crap
On redhat derived systems (RedHat, Fedora, CentOS, Rocks, Mandrake, etc) yum is your package manager.
yum install appname : installs the application from the remote yum repository
yum search appname : does a search on the repository for a given program
yum remove appname : uninstalls an app
use ‘man yum’ for a complete list
Archives
tar.gz or .tgz is the most common compression found in the linux world. that is tared (Tape ARchive) and gziped. Sometimes called “tar balls”.
tar -xzf file.tgz : will X’trackt a tar/gzip file.
tar -czf myfile.tgz someDir : will create a tar and gziped archive of the given directory
gunzip : un gzips a file
unzip : unzips a .zip file
User Management
by admin on Jul.11, 2011, under Basics
useradd
useradd userName
then run “passwd userName” to set the new users pw
passwd
passwd username
will ask for the new pw twice
File Permissions
by admin on Jul.11, 2011, under Basics
Listing Permissions
ls -al will display all files in a list with their owners and permissions
-rw-r–r– 1 irq13 irq13 1006 Jan 24 10:16 .bashrc
Now to break down the above example…
-rw-r–r– is the permissions area.
The first – would be d if the item is directory, otherwise it will be -.
The second 3 dashes indicate read/write/execute for the owner,
the second is r/w/x for the group and third is r/w/x for everyone else.
The next number is the inodes associated with the file. This isn’t important for you to know the basics
Next when it says irq13 irq13 that indicates the owner of the files name group
Changing ownership of a file
chown username:groupname file
Changing permissions of a file
chmod XXX filename
chmod uses a numeric system for assigning ownership.
XXX represents 3 numbers.
The first is the permissions applied to the owning user, 2nd is group, 3rd is everyone else.
1: execute 2: write 3: write & execute 4: read 5: read & execute 6: read & write 7: read, write & execute
Remember that 777 is only to be used as a trouble shooting step to rule fs permissions out.
NEVER leave a dir as 777. Its useful to do ‘ls -alh * > perm_capture.txt’ before messing with a file.
That way you can restore its original permissions.
Attributes
Files also have attributes, similar to the ones found in the windows world.
lsattr filename : Lists the attributes of a file or directory
chattr +-=[ASacDdIijsTtu] filename
to add an attribute use + to remove use -
File Attributes
append only (a)
compressed (c)
no dump (d)
immutable (i)
data journaling (j)
secure deletion (s)
no tail-merging (t)
undeletable (u)
no atime updates (A)
synchronous directory updates (D)
syn-chronous updates (S)
top of directory hierarchy (T)
Use man chattr for an explanation of each attribute
launching scripts and bins
* If an executable file is in your path you may simply type its name from anywhere on the system and it will execute.
* To see what your path is type ‘path’
* To execute a file in the current directory type “./filename
* To execute a file it must have execute permissions for either your username or a group you belong to.
Additional command operators
by admin on Jul.10, 2011, under Basics
ps | grep ssh — only display lines that contain ssh
; used to “stack commands” or issue multiple commands on 1 line. cd ..; ls
& puts a command in the background. Will let you know when the command is finished
> write what is displayed on the screen from a given command to a text file ls -alh /root > /root/myRoot.txt
>>
appends screen output to an existing file
