# Current VS Stable VS Release



## jemate18 (May 3, 2009)

Hi guys!

I have a freebsd 7.1-RELEASE.


I have read the difference between STABLE VS CURRENT
found here: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html

I want to know the difference of RELEASE VS STABLE
found something here: http://www.freebsd.org/relnotes.html
but I'm so sorry can't really find the exact answer to the difference between STABLE and RELEASE

So if I have a RELEASE is it possible to change/update it to STABLE?

Thanks and please bear with me.

Regards,


----------



## DrJ (May 3, 2009)

jemate18 said:
			
		

> I'm so sorry can't really find the exact answer to the difference between STABLE and RELEASE


-STABLE is the development part of the -RELEASE branch.  For example, when 7.1-RELEASE is brand new, development for 7.2 begins.  That is 7-STABLE.  Once 7.2 is released, then the development for 7.3 begins as 7-STABLE.



> So if I have a RELEASE is it possible to change/update it to STABLE?


Sure.  Just change your default tag to RELENG_7, and go through the make buildworld, kernel and install both.  Don't forget mergemaster to reconcile the various configuration files.


----------



## jemate18 (May 3, 2009)

DrJ said:
			
		

> -STABLE is the development part of the -RELEASE branch.  For example, when 7.1-RELEASE is brand new, development for 7.2 begins.  That is 7-STABLE.  Once 7.2 is released, then the development for 7.3 begins as 7-STABLE.
> 
> 
> Sure.  Just change your default tag to RELENG_7, and go through the make buildworld, kernel and install both.  Don't forget mergemaster to reconcile the various configuration files.



Wow thanks.

Another question, so which do you recommend

RELEASE for a casual home user?
STABLE for a server or an enterprise usage?

And also by saying that when 7.1-RELEASE is out, development for 7.2 which is called STABLE is done. Therefore the packages on the STABLE branch is more bleeding edge that 7.1 RELEASE.

I also use pkg_add -r package_name to install my programs, since I'm under RELEASE, then the fetched packages are under RELEASE,

If for example I opt not to upgrade to 7.1-STABLE as of this time, can I get the packages from that repository using pkg_add -r? How?


----------



## DrJ (May 3, 2009)

jemate18 said:
			
		

> RELEASE for a casual home user?
> STABLE for a server or an enterprise usage?


For any use where stability is critical, use -RELEASE.  Period.  Usually -STABLE is pretty good, but it does have bugs.  That's the point, in a way.  Whether you want to run -STABLE as a casual user depends on what you want.  If you want the bleeding-edge features of this development branch (namely, not -CURRENT), then run -STABLE.  There will be bugs and improvements along the way.


> Therefore the packages on the STABLE branch is more bleeding edge that 7.1 RELEASE.


Yes.  They are not quite as recent as what is in ports, but the delay is not too bad.


> If for example I opt not to upgrade to 7.1-STABLE as of this time, can I get the packages from that repository using pkg_add -r? How?


Yes.  You have to use the right "repository".  You do it by setting an environment variable:
set PACKAGESITE to ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/


----------



## jemate18 (May 3, 2009)

Thanks.. Problem solved...


----------



## BeastieBoy (Jun 27, 2010)

Thanks, this thread helped me to stick to RELEASE.


----------



## fronclynne (Jun 27, 2010)

BeastieBoy said:
			
		

> Thanks, this thread helped me to stick to RELEASE.



It should be in the FAQ:  "If you have any questions about whether you should be running -STABLE or -RELEASE, run -RELEASE.  If you're still not sure, run -RELEASE.  If after this you still think you might want to try -STABLE, go ahead and run -RELEASE.  If you have an extra machine sitting around and you don't mind pulling half of your hair out trying to figure out why the sound suddenly stopped working last night at 3:04am, okay -STABLE might be interesting to you for a few minutes."


----------



## nekoexmachina (Jun 27, 2010)

> you don't mind pulling half of your hair out trying to figure out why the sound suddenly stopped working last night at 3:04am, okay -STABLE might be interesting to you for a few minutes."


just to be honest, nothing like that with -stable running on my desktop. I do an update when i feel like it, e.g. once per month or two.


----------



## fronclynne (Jun 27, 2010)

nekoexmachina said:
			
		

> just to be honest, nothing like that with -stable running on my desktop. I do an update when i feel like it, e.g. once per month or two.



I know, I've run -CURRENT on my laptop when I needed a certain network driver, but there's still no guarantee.  -STABLE has broken or incomplete drivers from time to time, and driver updates can cause breakages (& I know this from personal experience), and while they're usually fixed in pretty short order on -STABLE, it's still a good idea to stay away unless you're sure you need to use it.

Back when I did run 8-CURRENT, I would csup the latest tree, watch freebsd-current@freebsd.org for at least two days in case something funky was going on, and then buildworld.  Even then I had to back out a kernel at least once.


----------



## SirDice (Jun 28, 2010)

fronclynne said:
			
		

> -STABLE has broken or incomplete drivers from time to time, and driver updates can cause breakages (& I know this from personal experience), and while they're usually fixed in pretty short order on -STABLE, it's still a good idea to stay away unless you're sure you need to use it.


In the 10+ years I've been running -STABLE (3-STABLE, 4-STABLE, 5-STABLE, 6-STABLE, 7-STABLE and currently 8-STABLE) it never broke once.


----------



## phoenix (Jun 29, 2010)

You've been lucky.  Spend a year or two on the freebsd-stable mailing list, and you'll see that it breaks fairly often.    It really all depends on how often you update your sources.


----------



## DutchDaemon (Jun 29, 2010)

I update all -STABLEs I have about once per 1-2 months. Saw maybe three or four breakages in 15 years? Usually solved by a re-c(v)sup or by pulling in a source tree of the day before. Hardly any drama in running -STABLE


----------



## SirDice (Jun 29, 2010)

DutchDaemon said:
			
		

> I update all -STABLEs I have about once per 1-2 months. Saw maybe three or four breakages in 15 years? Usually solved by a re-c(v)sup or by pulling in a source tree of the day before. Hardly any drama in running -STABLE


Exactly. I probably update a little more often but never had any major issues. Nothing a csup and a rebuild didn't fix. The only other issues were mainly due to changed functionality and it broke because I didn't read UPDATING.


----------



## oliverh (Jun 30, 2010)

phoenix said:
			
		

> You've been lucky.  Spend a year or two on the freebsd-stable mailing list, and you'll see that it breaks fairly often.    It really all depends on how often you update your sources.



That's true. But on the other hand you have to wait a looong time to get the fixes. And if your server doesn't run, well, then stable is the only alternative. And in reality I have got the most problems with realeases since 7 and 8.


----------



## terietor (Jul 1, 2010)

just a few more questions.

is there FreeBSD 8-current??? or the FreeBSD-current is FreeBSD 9?

what is freebsd head?

thanks for the great topic

P.S.:sorry if i shouldn't post here,but i thought that my question i relevant to the specific topic if not my apologies.


----------



## BeastieBoy (Jul 1, 2010)

I think FreeBSD Current is called a rolling version, it is continuously evolving and will never have an end. It's the latest bleeding-edge freebsd code committed by developers.


----------



## zeiz (Jul 1, 2010)

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html
- the same as in the first post.


----------



## sistematico (Oct 15, 2012)

First, sorry for very old thread :e


			
				DutchDaemon said:
			
		

> Usually solved by a re-c(v)sup or by pulling in a source tree of the day before.


Second, how to do this?

Thank you.


----------



## jb_fvwm2 (Oct 15, 2012)

sistematico said:
			
		

> First, sorry for very old thread :e
> 
> Second, how to do this?
> 
> Thank you.



Best to post the results of 
	
	



```
df -aH
```
 so persons who may wish to reply would know whether to suggest using svn (subversion) or cvsup.  Or, search other threads with the word 'supfile' ... I presume at least a few have the answer.


----------



## ikbendeman (Nov 20, 2013)

jb_fvwm2 said:
			
		

> Using /lookat/ with zsh/grep/find/aliases/pipes/portmaster and /var/db/pkg/ flat files to meteorically speed port installs/upgrades forever hopefully...



Could you please explain what you mean by this? And what are the advantages to zsh over tcsh (which I've always used)? If there's a thread out there anwering this, please PM me.


----------



## jb_fvwm2 (Nov 20, 2013)

zsh? Search the web for the thread 'zsh(rc) tips thread' (Linux) and it has a large number of .zshrc, all you'd have to do probably is adjust paths, programs, omit 'autoload' (some of them, not all, I'm clueless, but some slow down the command line completion times) and be surprised (many threads at news.ycombinator.com also have zsh usages), as the settings and aliases have already been crafted for the most part.

If you are wondering about Lookat /usr/ports/sysutils/lookat, it has keybindings (s, search, t, top, # , go to page number, q, exit, ...) that are MS-DOS-easy. Also one can set colors etc. I've set it as $PAGER so man pages are easier to search through, go to a specific place in the page, etc. (But a full path in pipes, to lookat, may be needed if it is the last item in the pipe.) 

The other topic in that signature I've explained in detail to the freebsd-questions, freebsd-ports, and freebsd-current mailing lists, as well as many other threads here.  Sort of digressing, unfortunately, to repeat it, but it is out there.


----------



## jb_fvwm2 (Nov 24, 2013)

```
cd /var/db/pkg
gnuls -oSr | grep p5 | grep -v bKi | grep -v Tk | head -30 (-1050 until) | awk '{print $8}' | xargs -J % find % -type f -name +MTREE_DIRS -exec /bin/ls -lac {} \; | grep -v "v 2" (to exclude November)  | awk '{print $9}' | gtr -s \/ "\n" | grep p5  | xargs -J % portmaster -d -B -P -i -g % && yell || yell
```
To answer further, I'm worried about pkg doing away with the possibility of using that specific pipe to upgrade (as here) thousands of ports at once, twenty at a time.  But I may as well post the fix for a tenth of them that fail to install...

```
cd /usr/ports/[failing port] && make -DNO_PACKAGE -DNO_STAGE -DMAKE_JOBS_UNSAFE reinstall && /bin/rm -rf work && cd /var/db/pkg
```
 ... just in case it helps anyone else in the meantime.  Of course, each time the commands are re-run only a few characters of the command have to be edited, but edge cases also took quite a while, most because the packages inadvertently depended upon the older Perl version, or a dependency had not been upgraded to the newer version yet.


----------



## grahamperrin@ (Oct 8, 2021)

An old topic, but *CURRENT versus STABLE versus RELEASE* remains topical. 

Essentially: 

*create, activate then boot a ZFS boot environment* before any upgrade (or other significant change) to the base OS, or a package 
– then, it's almost certain that if you're cut or bloodied in the active environment, simple reactivation of the previous environment (plus a restart of the OS) will put things right for you. 

Adapted from <https://forums.FreeBSD.org/threads/82319/post-535005>, with today's date as an example:

as the root user
`bectl create 2021-10-08-a`
`bectl activate 2021-10-08-a`
restart
Worth noting: a 2018 description of TrueOS as bleeding edge. TrueOS Desktop was well-respected and very user-oriented. I rarely felt bloodied there, thanks to ZFS boot environments.


----------



## mer (Oct 8, 2021)

Or create new ZFS boot environment, mount it chroot into it and upgrade there then unmount it, activate it and reboot.
Plenty of links around to good tutorials vermaden and Trihexagonal come immediately to mind on how to do this.


----------



## grahamperrin@ (Oct 8, 2021)

Thanks, I do understand the appeal of chroot(8) approaches, however: 

the cutting of corners can be ultimately dissatisfying, or troublesome. 
For example, not solved: 









						bectl(8), chroot(8) and pkg-install(8)
					

Below, no record of installation in /var/log/messages  root@mowa219-gjp4-8570p:~ # bectl create example && bectl mount example /tmp/up Successfully mounted example at /tmp/up root@mowa219-gjp4-8570p:~ # chroot /tmp/up root@mowa219-gjp4-8570p:/ # pkg install -r FreeBSD networkmgr Updating FreeBSD...




					forums.freebsd.org


----------



## vermaden (Oct 8, 2021)

grahamperrin said:


> Thanks, I do understand the appeal of chroot(8) approaches, however:
> 
> the cutting of corners can be ultimately dissatisfying, or troublesome.
> For example, not solved:
> ...


Its not cutting corners. If you think its 'cutting corners' then you do not understand it.

Its one of the ways how to do it. I do it all the time like that.

Here are the details.









						Upgrade FreeBSD with ZFS Boot Environments
					

I am known as a strong ZFS Boot Environment supporter … and not without a reason. I have stated the reasons ‘why’ many times but most (or all) of them are condensed here – &…




					vermaden.wordpress.com


----------



## Erichans (Oct 8, 2021)

grahamperrin said:


> An old topic, but *CURRENT versus STABLE versus RELEASE* remains topical.
> 
> Essentially:
> 
> ...



New thread?
I don't see how this new uptake of this (very) old thread is related to the actual choice between -CURRENT versus -STABLE versus -RELEASE or their respective properties; perhaps I'm missing the point.

Since the [FreeBSD-Announce] Changes to the FreeBSD Support Model in February 2015, the support model of FreeBSD has changed in a significant way, so that information in the old part of the thread is IMO hardly relevant for FreeBSD today.  

I think this change in support model is a good change although, it does seem to baffle/lead astray/give the wrong impression to a person new to FreeBSD, even (or perhaps especially) when such a person comes from another OS (that happens to have a different support model); see for example: LTS support and version clarifications and A quick explanation of FreeBSD release versions. It may also apply to a person who has already spent some (considerable) amount of time with the "new FreeBSD" but has not familiarized him/her-self with the actual support model of FreeBSD at the moment and the information that is being provided in for example: 24.4. Tracking a Development Branch.

IMHO, extending or riviving the thread in this manner may help—unintentionally—to signal the wrong message relating to the information in the old part of the thread.


----------



## grahamperrin@ (Oct 8, 2021)

Thank you, 



vermaden said:


> … If you think its 'cutting corners'



I mean, for example, cutting out a restart of the operating system.



vermaden said:


> then you do not understand it.



I do understand it.

In addition, I understand what can go wrong when, for example, a restart of the OS is cut out. 

If I recall correctly: we have at least two likely examples in FreeBSD Forums, plus the example that I recorded for you.


----------



## vermaden (Oct 8, 2021)

grahamperrin said:


> I mean, for example, cutting out a restart of the operating system.



When you use *freebsd-update(8) *on a live working system, then you need first reboot to boot into new kernel because older userspace can work with newer kernel and not the otherwise. So in first step you can not install both kernel and userspace because the currently running kernel is older then the userspace you want to install - so one reboot required.

Now you boot with newer kernel but still old userspace so you need to install userspace now. Now you need to reboot so you will have system with newer kernel and userspace booted. That was second phase and reboot.
In the third *freebsd-update(8) *step you have new kernel userspace installed and booted but now you need (should) remove the old and unneeded files and libraries. So you remove them but now you need to reboot again to have clean system booted without these 'old' files. Thats third reboot.

When you do these steps in ZFS Boot Environment you are not working on a 'live' system - just on plain files laying on the filesystem. That is why these reboots are not needed. Also keep in mind that only reboots are omitted. All other steps are done the same way as *freebsd-update(8) *man page states.

That is why this is not cutting corners. You only reboot once into newly and fully updated system.

This is also the default way of doing upgrade in Solaris/Illumos system if that helps.

Regards.


----------



## grahamperrin@ (Oct 9, 2021)

Again, thank you, I understand those things.

Below, a reminder for you (from mid-February) of something beginning to go wrong:




The VirtualBox snapshot that preceded the demonstration was deleted, by me, long ago.

If you like, I can attempt to reproduce what's pictured. Equally, others may make attempts (not necessarily with 12.1-RELEASE).



grahamperrin said:


> … If I recall correctly: we have at least two likely examples in FreeBSD Forums, …



At the time of writing, I can't find the first example to which I responded (a guess: maybe because the person who encountered a problem did not write the word _chroot_). If I recall correctly, a moderator was a participant and there was no argument with my observation.


----------



## grahamperrin@ (Oct 9, 2021)

What's below belongs under *Which browser(s) do you prefer?* however, posting there might trigger another complaint about age. So, apologies (now) for taking things even _further_ off-topic.



Erichans said:


> I don't see how this … thread is related … -CURRENT versus -STABLE versus -RELEASE …



Not a facetious question: please, which browser did you prefer when you began reading the recent posts?

Chromium-based browsers, and Apple Safari (in macOS Yosemite and greater), are probably the worst offenders for *failing to show the title*. There's simply no title bar:



Compare with Firefox (a popped-up window, for emphasis):



XenForo also ceases to show the title, within the page, after scrolling down a little or paging.


True: chroot is off-topic from the choice between CURRENT, STABLE and RELEASE.

My first post here was (I believe) on topic to choosing CURRENT, without reference to chroot, and originated as a spin-off from <https://forums.freebsd.org/members/48456/#profile-post-3382>.

SirDice would you like to move the chroot thread to a more appropriate topic? Thanks.

Postscript



grahamperrin said:


> … At the time of writing, I can't find …



– if I can rediscover that lost topic, it might be a good place for the move.


----------



## Erichans (Oct 10, 2021)

grahamperrin said:


> [...] Not a facetious question: please, which browser did you prefer when you began reading the recent posts?


Firefox.


----------



## grahamperrin@ (Oct 11, 2021)

chroot(8) and freebsd-update(8)



grahamperrin said:


> … The VirtualBox snapshot that preceded the demonstration was deleted, by me, long ago. …



I recreated a machine. A fresh installation of an outdated RELEASE using a FreeBSD-provided installer.

If we're lucky, a reader:

will pay strict attention to one set of on-screen instructions _alone_
will know, from experience, to _ignore_ other on-screen instructions.
A less experienced reader:

might, understandably, *not* know to ignore things
might follow the most recent on-screen instruction ☑



The result, in this case:



The mangled environment, not bootable, is not a show-stopper.

At the next boot, the loader menu *Boot Environments* routine (screenshots under <https://forums.FreeBSD.org/threads/just-installed-no-wifi.82319/post-535243>) can be used to temporarily activate a usable environment.


----------

