The Linux Noob
Fixin’ issues one ticket at a time!
Fixin’ issues one ticket at a time!
Nov 18th
2009-07-20 21:58:07 Failed to get write lock for /var/spool/exim/db/ratelimit.lockfile: timed out
2008-07-20 21:58:07 H=[xx.xx.xx.xx] temporarily rejected connection in “connect” ACL: ratelimit database not available
To fix such an error , the exim cache database on the server side needs to be clear off to stop this message. More >
Nov 7th
The most common compressed archive file format in Linux is the tar.gz format. Tar file is an archive file format. Tar.gz is a compressed tar file.
In order to create a compressed tar.gz archive from a folder/file we need to run the following tar command:
tar -czf new-tar-file-name.tar.gz file-or-folder-to-archive
Here is the command explanation:
Nov 3rd
I came across an issue for the first time where the cPanel icon was missing in the list accounts section. After digging around WHM, I found where the function was disabled.
After hitting save, you can go back to the list account section and the cPanel icon will be back.
Nov 2nd
So I came across this error for the first time today when trying to SSH directly into a clients VPS.
login as: root
root@server’s password:
Server refused to allocate pty
stdin: is not a tty
After a quick google search I came across the fix.
[root@node /]# vzlist -a
VEID NPROC STATUS IP_ADDR HOSTNAME
1337 78 running 69.10.59.80 grumpy.thelinuxnoob.com
[root@node /]# vzctl exec 1337 /sbin/MAKEDEV ptyp
[root@node /]# vzctl exec 1337 /sbin/MAKEDEV tty
[root@node /]# vzctl exec 1337 /sbin/MAKEDEV pty
The issue should now be resolved and you can SSH into the VPS.
Oct 22nd
Oct 21st
Upgrading MySQL versions is a quick and easy process, not much work involved. Always be sure to make a backup before you start though, just in case the upgrade fails or some other unforeseen issue arises.
cp -Rpf /var/lib/mysql /var/lib/mysql.BAK
Login to WHM –> Tweak Settings –> MySQL -> 5.0 and Save settings
/scripts/mysqlup –force
/scripts/perlinstaller –force Bundle::DBD::mysql
/scripts/realperlinstaller –force DBD::mysql
Recompile PHP
You’re done
Oct 20th
Allowing the root user to login directly is a major security issue, we’ll show you how to disable it so you can still login as root but just not directly, reducing the security issue.
This will force a hacker to have to guess 2 seperate passwords to gain root access.
(you do have 2 seperate passwords for admin and root right?)
What happens is you’ll first need to login as your admin user in SSH, then switch to the super user with the su command to get root.
We also will be forcing the use of SSH protocol 2, which is a newer, more secure SSH protocol
Just a couple more ways to help your server stay safe from the bad guys. If you’re using cPanel make sure you add your admin user to the ‘wheel‘ group so that you will be able to ‘su -‘ to root, otherwise you may lock yourself out of root.
1. SSH into your server as ‘admin‘ and gain root access by su
2. Copy and paste this line to edit the file for SSH logins
pico -w /etc/ssh/sshd_config3. Find the line
Protocol 2, 14. Uncomment it and change it to look like
Protocol 25. Next, find the line
PermitRootLogin yes6. Uncomment it and make it look like PermitRootLogin no
7. Save the file Ctrl+X then Y then enter
8. Now you can restart SSH
/etc/rc.d/init.d/sshd restart
Now, no one will be able to login to root with out first loggin in as admin and ’su -’ to root, and you will be forcing the use of a more secure protocol. Just make sure you remember both passwords!
Oct 19th
I’m short on time, but here’s a nice little tutorial on screen in SSH courtesy of Aperiodic.net.
Getting in
start a new screen session:
screen
.. with session name:screen -S <name>
attach to a running session:screen -r
.. to session with name:screen -r <name>
the “ultimate attach”:screen -dRR(Attaches to a screen session. If the session is attached elsewhere, detaches that other display. If no session exists, creates one. If multiple sessions exist, uses the first one.)Escape key
All screen commands are prefixed by an escape key, by default C-a (that’s Control-a, sometimes written ^A). To send a literal C-a to the programs in screen, use
C-a a.Getting out
detach:
C-a d
detach and logout (quick exit):C-a D D
exit screen: exit all of the programs in screen.
force-exit screen:C-a C-\(not recommended)Help
See help:
C-a ?(lists keybindings)Window Management
create new window:
C-a c
change to last-visited active window:C-a C-a(commonly used to flip-flop between two windows)
change to window by number:C-a <number>(only for windows 0 to 9)
change to window by number or name:C-a ' <number or title>
change to next window in list:C-a norC-a <space>
change to previous window in list:C-a p
see window list:C-a ”(allows you to select a window to change to)
show window barC-a w(if you don’t have window bar)
close current window: Close all applications in the current window (including shell)
kill current window:C-a k(not recommended)
rename current window:C-a ASplit screen
split display:
C-a S
jump to next display region:C-a tab
remove current region:C-a X
remove all regions but the current one:C-a QMisc
redraw window:
C-a C-l
enter copy mode:C-a [(also used for viewing scrollback buffer)
paste:C-a ]
monitor window for activity:C-a M
monitor window for silence:C-a _
enter digraph:C-a C-v
lock (password protect) display:C-a x
enter screen command:C-a :
Oct 16th
Last night I came across a ticket where a customers time kept resetting on their dedicated server. Typically I would fix the time by using the date command because most of issues I came across the servers were only minutes off. After reading through the clients ticket history I realized that the timezone and minutes were correct, but the hour was still off. After a nice little google search I came across a post on a popular linux forum, where a member had the same issue the client was having. In the post a member suggested creating a symlink for /etc/localtime to point to the clients timezone in the /usr/share/zoneinfo folder. I figured it was worth a shot and tried this fix out, and it worked perfectly ![]()
Since the client was located in Pakistan, he needed the server to be set to the Asai/Karachi time zone.
root@server [/]# ln -sf /usr/share/zoneinfo/Asia/Karachi /etc/localtime
Before the symlink the time showed in EST but listed the timezone as GMT +5
root@server[/]# date
Mon Jan 26 02:46:24 GMT+5 2009
root@server[/]#
After the symlink the time showed in Asia/Karachi (or GMT +5)
root@server [/]# date
Mon Jan 26 12:48:14 PKT 2009
root@server[/]#
Your localtime file should look like this now:
lrwxrwxrwx 1 root root 32 Jan 26 12:47 localtime -> /usr/share/zoneinfo/Asia/Karachi
I’m not entirely sure why the date wasn’t correct to begin with as the timezone was correct (+5GMT) when checking with the date command. But, things are fixed now so I really can’t complain since the customer is happy ![]()
Oct 15th
Today I came across a neat, but pointless shell command. By running the following in shell, it will hide any commands you run.
root@server2 [/]# stty -echo
In order to disable this mode, simply remove the “-” before echo.
root@server2 [/]# stty echo
I guess there really is no point to the command, though you could always mess with your coworkers if they leave their shell prompt open ![]()