Category Archives: FreeBSD

FreeBSD – Define or add (extra) nameservers

In FreeBSD there is a file named ‘resolv.conf’ where the dns servers are located.

If you want to add an extra DNS server you have to edit this file.

Log in with root.
# ee /etc/resolv.conf

You will probably see something like:
domain yourdomain.local
nameserver 192.168.1.1

To add an extra nameserver, all you have to do is add an extra nameserver.
Your file will look like this:

domain yourdomain.local
nameserver 192.168.1.1
nameserver 8.8.8.8

FreeBSD – Snapshot is corrupt when you update the ports tree

When you try to update your ports tree by running the command:

# portsnap fetch update

After some files you will get a error message:

snapshot is corrupt

This is probably due the fact that the portsnap fetch update command hasnt been executed for some time,
and that it needs to get a lot of updates.

The solution:
# rm /var/db/portsnap/tag && portsnap fetch extract

This will download a complete new ports tree.

Ports upgrade / update FreeBSD

To update the ports collection in FreeBSD you need to execute the following commands”

If you have never used ‘portsnap’ before type:
# portsnap fetch
The ports collection will now be downloaded.
# portsnap extract
The collection is being extracted.

To update the collection type:
# portsnap update

Thats it!

FreeBSD / Unix – scritp doenst work as cronjob.

When you’ve created a script and you want to ‘run’ it for example every 5minutes on your webserver you can create an cronjob.

But when the cronjob should launch your script, nothing happens and when you run it manually on the server it does work.

There is a simple solution for this.
Cron can only handle ‘full paths’ if for example you have in your script:
rsync ……. it wont work via cron, you have to put it in your script like this:
/usr/local/bin/rsync ……

So use full paths!

FreeBSD – Lost MySQL Password / restore mysql password / reset mysql password

If you lost / forgot your MySQL password you can restore it by connecting to the host with SSH.
Next you add the following line to you /etc/rc.conf.
mysql_args="--skip-grant-tables --skip-networking"

Then restart MySQL
# /usr/local/etc/rc.d/mysql-server restart

Connect with MySQL
# mysql -u root mysql
Then type the below command:
UPDATE mysql.user SET Password=PASSWORD(‘new password’) WHERE USER=’root’;
exit

Now remove the line you added from rc.conf and restart mysql once again.
You will now be able to access mysql / phpmyadmin