Press "Enter" to skip to content

Category: Net: Techy: Linux

Posts concerning Linux

cPanel: Error: Package system can not be repaired automatically

If, like myself, you have recently upgraded the cPanel control panel system on your Red Hat Enterprise Linux 5.2 server and received the error message “Error: Package system can not be repaired automatically” when upgrading Apache, then it’s probably caused by a problem with either the RedHat Package Manager (RPM) or YUM. To fix it, first ensure that no RPM or yum updates are running:
ps auxwww | grep yum
ps auxwww | grep rpm

If any are running, find out why and kill -9 them if they are zombie processes. Now you just need to rebuild the RPM database:
rm /var/lib/rpm/__db.* -rf
rpm --rebuilddb

This process may take some time (between 1 and 30 minutes depending on your server speed and the number of packages installed). Once it’s completed, you should be able to upgrade without problems.

Techy: 10 Absolute Nos! For Freelancers

Wake Up Later has a list of 10 Absolute “Nos!” for Freelances which include (with my comments):

  1. Can you show me a mock-up to help us choose a designer/developer?
    When I worked for a web hosting company, we did waste a lot of time doing web site designs for people as “mock ups” and a few times we did see the ideas “recycled” in their finished design even though they hadn’t paid us. The percentage of “mock ups to completed projects” was quite low as well – meaning wasted time. Oh – and the number of people that said “I don’t like that mock up, can you do another”… Grrr… On the plus side, I’ve just realised that an insurance company that I wrote the billing system for nearly a year ago whilst at my previous employer is still in use, despite the pet insurance company having very little (if anything) to do with my previous employer now. Go me!
  2. Can you give us a discount rate?
    Am I the only person in the world that thinks “The price you see is the price you pay”? You don’t expect Tescos or Sainsburys to “haggle” the price of your food do you? Well, don’t expect web designers, programmers, hosting companies etc to do the same!
  3. Will you register and host my site?
    I slightly disagree with this one – the designer will be able to register the domain name and host it with a third party: but as long as they make it totally clear they are just performing the “payment side” of things and the client needs to contact the appropriate company if there is any “non-design/code” issues then it should be ok.
  4. Can you copy this site?
    Straight coping is a “no-no”, but trying to get a “similar look” to a site isn’t too bad. I.e. if you are doing a shopping cart: do you like the look of Amazon, Tesco, Play will help speed the design work along.
  5. Can I pay for my e-commerce site from my website sales?
    A big no from me here as well! If the designer/freelancer says to the customer “I’ll do it cheaper if you’ll split the sales” that means the designer/freelancer thinks the customer has a very good ideas. However, if the customers asks for it – then the customer must think it’s not such a good idea and hence doesn’t really want to risk their money.
  6. I have a great idea. Do you want to…?
    To me, this’ll depend on the circumstances. If they came to me (as a programmer) and said they’d like to partner for me and they can supply the design and backend content, and I’ve got to figure out how to get the content online and handle the promotion of it – then I may do. However, if it’s a case of “I want a shop to sell books via Amazon. I can design the site, can you do the back end…” then IMHO they won’t be contributing that much to the project. If they added their own book reviews then that’s another kettle of fish.
  7. Do you have an IM account?
    I’ve practically given up on IM clients (such as Yahoo, AOL, MSN Messenger and ICQ) mainly because of the Spam (Yahoo especially) and the fact that when I am logged in I’m not always available to chat (away from the machine) or I’m busy working on something. I tend to have my PC on a “always ready” state (i.e. text edit, browsers etc already loaded and positioned) so opening and closing Trillian (which I used to use to log me into all the different networks) will be an extra thing to remember…
  8. Can I just pay the whole amount when it’s done?
  9. Is there any way you could get this done tonight or this weekend?
  10. Can I be sure you won’t use this work in anything else?
    I tend to do the same as Samuel (the other of the original post) in that “(1) their code has utilized code from other projects which I haven’t charged them for, and (2) I will probably use code from their project on other projects, and (3) they own the code and implementation of the project (finished website), but not the actual code pieces (login system, image uploader, etc.). I pride myself in productivity and speed, and I need to use other code all the time to accomplish this.”. However, in most circumstances I do “copy my own code” but in a slightly different manner – so the “jist” of the code may be the same, it’ll be slightly different for each implmentation.

Techy: Find All Symlinks (Symbolic Links) on a Linux System

I’ve just needed to try and find all symbolic links (symlinks) on a RedHat Enterprise Linux server so I can replicate the setup of the server (for some reason, the config files and other settings are in “non-standard” places and are symlinked from the original location).

To find all the sym links, just run this simple Linux command line option:
find / -type l -exec ls -l {} \;

(and, if you would prefer all the symlinks to be stored in a file – as there will be a very large number of them – use the command find / -type l -exec ls -l {} \; > /home/admin/symlinks.txt).

I hope this helps somebody else who has to work with undocumented strangely configured Linux machines.

Techy: Setting up Private Key Authentication in Linux for Rsync

If you wish to be able to automatically log in from one (server a) to another (server b), or you wish to setup rsync so that you can automatically send your backups from “server a” to the remote backup server “server b”, then the following steps should help in the configuration of this:

  • Login to server “A” via SSH as root
  • See if an RSA encryption key already exists by typing the following command:
    cat ~/.ssh/id_rsa.pub
    If the key does NOT exist (i.e. you do not receive any output or the system reports “No such file or directory”), then you’ll need to generate an RSA encryption key using the command:
    ssh-keygen -t rsa -N ''
    (note: those are two single quotes and NOT a double quote)
    You’ll then be prompted where to save the key (it should auto-suggest something like /root/.ssh/id_rsa which you should accept)
  • Now you’ll need to copy the RSA encryption key to the remote server (server B). Still via SSH on server A”, enter the following commands (replacing serverb.example.com with the name/IP address of server B, and entering server B’s password where prompted):
    ssh serverb.example.com
    mkdir .ssh
    exit
    scp ~/.ssh/id_rsa.pub root@serverb.example.com:/root/.ssh/remotekey
    ssh root@serverb.example.com
    cd .ssh
    cat remotekey >> authorized_keys

    exit

  • Now typing “ssh root@serverb.example.com” from server A should automatically log you in.

Argument list too long when using rm ?

Ever needed to delete a lot (and I mean several thousand) files from a directory in Linux? Then you may have encountered the “Argument list too long” error message which occurs when using “rm *” on the folder. This problem occurs because the list of files exceeds the 128K buffer which the kernel uses to pass the list of files to rm .

So how to defeat this problem?

Simple, use:
find . -name "*" -print | xargs rm
or, if you just want to delete the files starting “unwantedMail”, then use:
find . -name "unwantedMail*" -print | xargs rm