# freebsd-update issue



## petabsd (Jun 2, 2014)

Hello, 

I am trying to set up a freebsd-update server for local updates. The server image is based on a modified 10.0-STABLE. I think the image is successfully created, but when I ran `freebsd-update fetch` on some other machine, it showed no need to update. 

My questions are:
How do I make sure I successfully create the image? Any files/folders to examine?
What mechanism lies behind freebsd-update, comparing file time stamps? Or it is simply based on security patches? So does it mean that I have to create my own security patches to be able to perform an update?
I searched on the web, but failed to find documents or a tutorial on freebsd-update. Is there any good paper or tutorial?

Thanks in advance!


----------



## youngunix (Jun 2, 2014)

Did you create the 10-STABLE yourself? Please see this thread.

Short answer: you cannot use `freebsd-update` to update a -STABLE branch.


----------



## SirDice (Jun 3, 2014)

Yep, freebsd-update(8) only works on -RELEASE versions. The only way to update a -STABLE is by building from source (buildworld and all).


----------



## petabsd (Jun 3, 2014)

@@SirDice @@youngunix: Thanks for the information. I am updating the -STABLE branch by building from source. Since there are many machines needed to be updated. So I'd like the process to be automated. Are there any methods for automated STABLE branch updating?


----------



## kpa (Jun 3, 2014)

I'm using a build once, share many times method. I'm building world and kernel once on the build host and then I'm sharing the /usr/src and /usr/obj directories of the build host via NFS and mounting those on the other machines when I'm updating them.

Not quite automated but at least I save time by going trough the builds only once.


----------



## petabsd (Jun 3, 2014)

@@kpa: Thank you for the tip! That's really good. I will try it out.


----------



## petabsd (Jun 4, 2014)

I successfully set up a freebsd-udpate server based on a STABLE branch. But you have to tweak the RELEASE name in /usr/src/sys/conf/newvers.sh a little*.*


----------



## SirDice (Jun 4, 2014)

kpa said:
			
		

> I'm using a build once, share many times method. I'm building world and kernel once on the build host and then I'm sharing the /usr/src and /usr/obj directories of the build host via NFS and mounting those on the other machines when I'm updating them.


That works like a charm. I've been using that strategy at home for many years now. 

Make sure the clocks on all the machines are in sync though. You can get weird error messages if there's too much time difference between the client and NFS server.


----------



## petabsd (Jun 4, 2014)

SirDice said:
			
		

> kpa said:
> 
> 
> 
> ...



@@SirDice: Thanks for the tips! I will definitely give it a try.


----------



## fonz (Jun 4, 2014)

SirDice said:
			
		

> Make sure the clocks on all the machines are in sync though. You can get weird error messages if there's too much time difference between the client and NFS server.


Hint: a local NTP server would do nicely for that.


----------

