FreeBSD system versions. Selecting and downloading FreeBSD images

Upgrading a network server is a troublesome task. I can handle a personal computer that's gone crazy after an update, but when an entire company or hundreds of clients depend on one system, even the thought of touching it seems like a nightmare. If even the most experienced system administrator is faced with a choice - updating the system or torture with a hot iron, he will sit down and think. Although some versions of UNIX have simple upgrade procedures, they require several hours and a bit of luck to complete.

On the other hand, the upgrade process is one of FreeBSD's biggest advantages. For example, I have several servers with different versions of FreeBSD installed, on which many patches have been applied. Very few Windows administrators upgrading a server from Windows 2000 to Windows 2003. (They're getting paid for a reason, by the way.) I only write off FreeBSD systems if they're so outdated that the risk of hardware failures keeps me awake. One of my servers originally had FreeBSD 2.2.5 installed. It was then successfully upgraded to FreeBSD 3 and finally to FreeBSD 4. By the time FreeBSD 4.8 was released HDD behaved strangely, so I had to install a new system on new car. This computer ran FreeBSD 5 and then FreeBSD 6 until its death. 1 The only time I experienced inconvenience was when moving from one major version to another, that is, from FreeBSD 5 to FreeBSD 6. It took me a couple of hours. And try the same with other operating systems.

“In the server room no one will hear the scream of the power supply

FreeBSD versions

Why is it relatively easy to update FreeBSD? It's all about the FreeBSD development method. It is a constantly evolving operating system. If you download a particular version of Free-BSD in the afternoon, it will be slightly different from the morning version. Developers around the world are constantly making changes and improvements, so the traditional version numbering system adopted for less open source software does not apply here. There are several different versions of FreeBSD available at any time: release, errata branch, -current, -stable, and snapshot.

"Release"

It's definitely worth installing the released version of FreeBSD on your production server and then patching it up to the current branch with the bugs fixed.

The FreeBSD "release" has Standart room versions, like any other software: 5.5, 6.3, 7.0. A "release" is simply a copy of the most stable version of FreeBSD at a given time. Three or four times a year, the Release Engineering team asks developers to pause major changes and focus on fixing identified problems. The Release Engineering team then selects several code variants and submits them for public testing, and the thoroughly tested code receives a "release" number. Then the developers return to their regular projects. 1

Bug fix thread

An errata branch is a specific "release" of FreeBSD plus security patches and bug fixes for that "release". Despite the best efforts of the FreeBSD developers to ensure that every "release" is bug-free, this goal is unattainable. It happens that an unknown attacker discovers a new security vulnerability a week after the release of the next version of FreeBSD. The security team then releases patches for those who want to keep their systems as stable and secure as possible.

Each "release" has its own branch with bugs fixed. For example, FreeBSD 7.0-errata is different from FreeBSD 7.1-errata, and the transition from one to the other is just as difficult as from FreeBSD 7.0

Despite what you might think, "disgruntled users" is not a common project for FreeBSD developers. That's right, an application.

to FreeBSD 7.1. The changes to the API and ABI are so large that they completely, absolutely do not allow for such a transition. Applications that work in the main "release" will also work in any version of the bug-fix branch for that "release". For maximum stability, you should stay on the bug-fixed branch intended for installed version FreeBSD.

At the time of writing, the FreeBSD project has maintained patch branches for up to two years from the date of the major "release", but this may change. Check out the page http://www.freebsd.org/security or by mail [email protected] , where you can find a list of updates and notes regarding the end of support for a particular version. Of course, with access to the source code, you can support the legacy "release" as long as you want. But don't expect the FreeBSD development team to work for you forever!

FreeBSD-current (current) is the advanced, most latest version FreeBSD. It contains the code that is being released to the public for the first time. Although the developers have test servers and send patches for review before applying them, these fixes do not reach all FreeBSD-current users. The FreeBSD-current version receives the first expert reviews and from time to time undergoes radical changes that add worries to experienced system administrators.

The FreeBSD-current version is available to developers, testers and interested parties, but is not intended for general use. Answers to user questions about -current are very scarce, since developers simply do not have time to help configure the web browser - thousands of more significant comments require their attention. Users must resolve these issues themselves or wait patiently for someone else to fix these issues.

Even worse, the default settings in the -current version enable a ton of debugging code, provide special warnings, and enable other debugging-related features. All this makes the -current version slower than any other FreeBSD version. You can disable the debugging mechanisms, but then you won't get a good error report when a problem occurs. This means you will have unnecessary difficulties. Behind additional information about debugging in the -current version, refer to the file /usr/src/UPDATING.

If you can't read C and shell code, debug the OS, tolerate unpredictable behavior of functions, and wait for someone to fix problems, then the -current version is not for you. Brave souls who want to try -current are always welcome. The road is open to anyone who is willing to devote a lot of time to studying and debugging FreeBSD or wants to learn a lesson in humility. This is more likely not an instruction “you can’t do this,” but a statement “everything is in your hands.” Nobody forbids you to work with the -current version, but you will have to rely only on yourself. The -current version is not always advanced, but it is sometimes unsafe. In general, you have been warned.

Those who want to try -current should subscribe to mailing lists [email protected] And [email protected] . These are mailings with high traffic - several hundred warnings, notifications and comments per day. If you are reading this book, most likely it is too early for you to write messages to this mailing list - just read and learn. If someone suddenly discovers that the latest file system patch turns hard disks in zombie Cthulhu, then information about this will appear here.

Code freeze -current

Every year and a half for FreeBSD-current, a month-long code freeze is held, when nonessential changes are allowed and all remaining problems are eliminated. The goal is to stabilize the latest version of FreeBSD and eliminate any rough edges. Once this process is complete (or soon after), -current becomes the new "release" .0 of the FreeBSD system.

After one or two "releases" the new version -current branches off into a new, major version -stable. For example, at one time FreeBSD 6.0 was -current, as was FreeBSD 7.0.

After the release of .0, work continues in two directions: on the FreeBSD-current and FreeBSD-stable versions.

FreeBSD-stable (or simply -stable) is cutting edge for the average user. This version contains the latest peer-reviewed code. The FreeBSD-stable version is supposed to be stable and reliable; it should not require significant attention from the user. Once some code in -current has been thoroughly tested, it can be merged into the -stable version. You can safely switch to the -stable version at almost any time; this is a kind of FreeBSD-beta.

Over time, the differences between -stable and -current increase, and at some point it becomes necessary to fork a new version of -stable from -current. The previous -stable will be actively supported for several months until the new -stable takes hold. Some users will want to immediately upgrade to the new -stable version, while others will be more cautious. After one or two new versions of -stable are released, the previous version of -stable is considered obsolete, and users

They will see a prompt to upgrade their systems to the new -stable. Ultimately, changes in outdated version-stable will only amount to fixing critical errors, and finally its development will be stopped completely. This whole process can be seen in Fig. 13.1.

From time to time the -stable version is polished and tested; developers stop moving changes from -current to -stable and turn all their attention to testing. When each developer is satisfied with the quality of the version, a new “release” is prepared. For example, the fourth "release" of FreeBSD 7 is FreeBSD 7.3. FreeBSD 7.3 is just a milestone on the road to FreeBSD-stable 7.

FreeBSD-stable users should subscribe to the mailing list [email protected] . The traffic in this mailing list is moderated, most of it consists of questions and answers that would actually be sent to the -question@ mailing list, however, important ones are sent to this mailing list

Version stability -stable

The word stable refers to the program code that forms the basis of the operating system FreeBSD. The next version of -stable does not guarantee system stability, but only the absence of significant changes in the main program code OS. Application and binary software interfaces(API and ABI) will probably not change. The developers are making every effort to maintain stability, but no one is immune from mistakes. If you are concerned about the risk of losing stability, switch to using the branch with fixed errors (errata).

messages from developers, usually entitled HEADS UP. Please pay attention to these messages; They usually concern changes in the system that can ruin your plans for the day if you don't know about them in advance.

Absorption from current version

The phrase merge from -current (MFC) means moving a feature or subsystem from FreeBSD-current to FreeBSD-stable (or, less commonly, to a bug-fixed branch). However, not all new ones undergo such a transfer. functionality, because the FreeBSD-current version is a testing ground where significant changes are tested, many of which require debugging and testing that lasts months. Such changes are not carried over to the stable version because it will have a bad impact on users of the -stable version, who expect stability in the first place. New drivers, bug fixes and some improvements may be carried over, but significant changes that may impact performance custom applications, are not transferred.

Snapshots

Every month or so, the FreeBSD Release Engineering team releases snapshots of the -current and -stable versions, posting them on an FTP site. Snapshots are simply milestones along the way; they are not subject to any special testing. Snapshot does not have the same focus on quality as "release", but can serve as a good starting point for those interested in the -current and -stable versions. There is little control over the quality of snapshots; many developers don't even know a new snapshot is available until they see it on the FTP server. You may encounter bugs. You may encounter errors. The trials you will go through will make your mother turn grey, unless, of course, you have already brought the poor thing to that point yourself.

FreeBSD and testing

Every version and "release" of FreeBSD is subject to various tests. Individual developers test the quality of their work on their own hardware and ask each other to double-check their work. If the product is complex enough, they can use a private source code repository to make their work available to the community before committing it to -current. Coverity donates analytics to the FreeBSD development team software for continuous automated testing and debugging to find errors before they reach users. Corporations such as Yahoo!, Sentex and iX

Systems donated high-quality hardware to the FreeBSD project for testing purposes, providing a server for the security team and a high-performance networking cluster for kernel developers. Several of FreeBSD's most valuable developers have made testing their main task as part of the FreeBSD project.

However, a project that relies solely on the labor of hundreds of volunteer developers cannot purchase every variety of computer that is produced, nor can it conduct tests on all possible types loads. The FreeBSD project relies entirely on vendor donations hardware interested in having their hardware run FreeBSD, to help companies looking to run FreeBSD on their existing hardware, and to help users.

The most significant help comes from users with real equipment and testbeds subject to real workloads. Unfortunately, most of these users only test when they insert the distribution CD into their computer, install and run the system. At this point, it is too late to try to bring any benefit to the release. Any user-reported bugs may help you prepare for the next release, but in the meantime, upgrading to the bug-fixed branch for this release may fix your problem. The solution is quite obvious - it is necessary to test FreeBSD in real conditions before the release is released. Proposals for testing new releases of -stable appear in the mailing list [email protected] . By testing the -stable and -current versions, you can get more out of FreeBSD.

Which version should I use?

Current, -stable, -errata, snapshots – the variety makes your head spin. Such a system may seem complicated, but it pays off and provides the required level of quality. The user can be confident that the bug-fixed branch will be as stable as possible and has been peer-reviewed and comprehensive testing. The same user knows that the new versions of -stable and -current will offer attractive new features if he is willing to take the risks that each entails. a new version. So which version should you prefer? Below are my recommendations in this regard:

Company

If your system runs an enterprise, install the -stable version and stay tuned for updates.

For administrators who want to know how changes to FreeBSD affect operating environment, you should use -stable on the test system.

Development

If you are an operating system developer, have a lot of free time and strong nerves, or are a total fool, then the -current version is for you. When -current destroys your MP3 collection, figure out the problem and offer your fix.

Hobby

If you are a keen person, run any version! Just be aware of the limitations of the option you choose. For those new to UNIX, it is better to choose -release. Once you feel more confident, upgrade to -stable. If you don't have anything better to do and don't care about your data, welcome to the ranks of masochists who have chosen -current!

Update Methods

FreeBSD provides three main update methods: sysinstall, binary updates, and source code.

Binary update support is provided through the Free-BSD Update service. It is somewhat reminiscent of Windows update services, Firefox and other commercial software products. Using the service FreeBSD updates Update can update the system to a branch with bugs fixed.

sysinstall is the FreeBSD installation program. It allows you to update the system to a particular release in which it is distributed. For example, the installer from FreeBSD 7.5 is designed to upgrade to FreeBSD 7.5. The sysinstall program is used to upgrade from one "release" or snapshot to another.

Protect your data!

Chapter 4 is called “Read This Before You Spoil Something!” for very good reasons. Updating the system may destroy data. Create backup copy system before performing any update! I update my laptop every week, just out of interest (see above note about the complete idiot and the -current version). But before updating the system, I copy all the necessary data to another machine. Copy data to tape, to files, wherever, but don't update unless you have a recent backup.

The source code method allows you to assemble the programs that make up the FreeBSD operating system and install them on your hard drive. For example, if you have the source code for FreeBSD 7.5, you can upgrade your operating system to that version. This method requires more effort but provides much greater flexibility. This method is used when working with the -stable or -current version.

In the field of modern open source software, the word “Linux” has practically become synonymous with the concept of “operating system,” although few people know that in fact it is far from the only Unix-type OS today whose source codes are available to everyone.

According to data obtained from IOSC, in 1999, almost a third of all machines that were connected to the Internet ran Linux, while almost 15% used the FreeBSD operating system. What kind of system this is, to this day only a few modern PC users know, despite all its advantages and widespread use at one time. It is worth noting the fact that many world leaders in the field of Web services are actively working on this system. In particular, it is worth noting that today Yahoo system based on FreeBSD. What this gives to users, they themselves hardly know or even think about, but the owners of the system are confident that this is the right decision.

What is BSD?

BSD stands for Berkeley Software Distribution. This is what the software that Berkeley distributed in source code was called at one time. It is worth noting that FreeBSD was originally an addition to the standard UNIX operating system. How was this compared to the current version of the system?

Based on version 4.4 BSD-Lite, several open source operating systems were created. In particular, the composition of these systems included the development of other projects, among which the GNU project deserves special attention.

Structure

The advantages and features that this system has are different from the FreeBSD structure. What is this structure:

  • A kernel that is designed to carefully schedule all processes, manage memory, work with various devices, and support multiprocessor systems. It should be noted that, unlike the Linux OS, in this case there are several types of BSD kernels, which differ in different features.
  • The C library, which is used as the main system programming interface, is based on code from Berkeley, and not from the GNI project.
  • All kinds of file utilities, compilers, shells, link editors, as well as other programs end user, some of which are based on GNU code.
  • FreeBSD UNIX is an operating system that includes the X Window, which is directly responsible for This system is used in the vast majority of versions of BSD and is officially supported by the X.Org project. This system allows the user to choose from several graphical shells, as well as a number of lightweight window managers.
  • A large number of other system and application programs.

What is real UNIX?

It is worth noting that FreeBSD UNIX itself is an operating system that is always different. And the types of such systems are not clones of each other. They are only descendants of a common ancestor - the traditional UNIX operating system. This fact may be somewhat surprising, especially if we remember that the developer of this operating system has never disclosed the codes of his developments to the general public.

Is BSD UNIX?

Indeed, the UNIX operating system was never open source software, and therefore BSD would definitely not be called a UNIX system, if only because the graphical interface of the operating systems is different. However, at the same time, the company that developed UNIX actively used other people's developments, and in particular this applies to software that was developed by the CSRG organization.

Initially, BSD distributions, as well as the graphical interface of operating systems, were complexes of user programs, and this situation continued exactly until the company entered into a contract with DARPA, a subordinate. The purpose of this contract was to update the various communication protocols on which the agency's computer network was supported .

During the 1980s, several workstation companies formed, but it is worth noting that many of them purchased licenses to use UNIX rather than try to develop their own software from scratch. In particular, it is worth highlighting the Sun company, which did this and decided, based on version 4.2BSD, to eventually release its own operating system, which was called SunOSTM. When UNIX developer AT&T eventually decided to commercialize its own operating system, it produced a rather austere implementation, System III, which was eventually followed by System V.

For what reason does this operating system remain unclaimed?

There are a number of reasons why FreeBSD 10 is not in such wide demand today:

  • Developers are most often interested in the quality of their own code, and more in polishing it, rather than in advertising.
  • By by and large, the popularity of Linux is a consequence of a number of external factors relatively this project, in particular, this applies to funds mass media, as well as companies that decided to form their own business, providing services to users of this operating system.
  • BSD developers are overwhelmingly more experienced than Linux developers, so they pay much less attention to making life easier for ordinary users. In other words, setting up FreeBSD for the average user is more complex than
  • In 1992, the UNIX developer decided to sue the company BSDI, which supplied the BSD/386 operating system. The main allegation in this case was that the OS contained proprietary code that belonged to the plaintiff, and the case was apparently eventually settled out of court in 1994, but a whole range of secondary litigation even today poisons the lives of many people.
  • There is an opinion that the BSD projects themselves are different and may even conflict with each other. This opinion is based on events that took place quite a long time ago.

Which is better - Linux or BSD?

Today, the most common choice when installing an Apache server is FreeBSD instead of the traditional one for most others. Linux systems. For the average user, the difference between these systems is surprisingly small, since both products are based on UNIX. Both systems are developed on a non-commercial basis.

Who owns BSD?

It is worth noting that there is no specific person or company that owns BSD development. The development, as well as the subsequent distribution of this system, is carried out by a whole group of highly qualified and at the same time dedicated to the project specialists gathered from all over the world. Certain BSD components are separate projects that have open source, which has its own laws and development teams.

What should I choose?

The choice between these operating systems is indeed quite difficult, so there are several tips that will allow you to choose which option is optimal - Linux or FreeBSD. The commands in both cases are quite similar, so the choice can most often be based on the following:

  • If you are already using a certain Open Source OS, then in this case you should not even change anything.
  • FreeBSD systems can exhibit much better performance, but this rule is not universal.
  • BSD systems have a pretty good reputation, especially when it comes to reliability.
  • BSD projects have a better reputation because they are different high quality, as well as the completeness of available documentation.
  • BSD can use the vast majority of Linux executables, while Linux cannot use many BSD executables.

Provides technical support and maintenance for FreeBSD ports and systems by FreeBSD Mall, Inc.

  • System administration ,
  • Hosting
    • Translation

    FreeBSD is good for servers, but not for desktops

    FreeBSD has a full-featured low-latency audio subsystem, and kernel mixing allows multiple applications to play sounds simultaneously (with independent volume settings) without additional settings. The default settings include X.org and desktop settings such as KDE or GNOME, it's as simple as choosing a metapackage depending on which one you prefer.

    Even if this seems too complicated, PC-BSD is a full-featured desktop system built on top of FreeBSD with an easy-to-use installer and options commercial support.

    FreeBSD uses a closed development model

    FreeBSD is developed by more than 400 developers around the world, all of whom have full access to the entire system and data of this OS. Third parties also often fix native patches. If you want to see the number of patches that have been fixed, you can look for "Submitted by" in the commit logs.

    There are no hard and fast rules for FreeBSD. Decisions are made by people willing to do the work. If disputes do arise, they are resolved by a group of developers who are elected every two years. The mandatory criterion by which developers are selected is the mandatory correction or modification of the project code in previous years.

    FreeBSD - Just OS X without a fancy GUI interface

    This is the same myth about OS X as about FreeBSD: OS X is just FreeBSD with a beautiful graphical interface. The two operating systems do share some code, for example most user space utilities and the OS X C library are derived from versions of FreeBSD. Some of this code evolves at different times and in different directions, for example FreeBSD 9.1 later included a C++ stack and compiler that was originally developed for OS X by Apple employees. There are also radically different details.

    The XNU kernel used on OS X includes several subsystems from older versions of FreeBSD, but is largely considered an independent implementation. But still, due to their similarity, products implemented on OS X are much easier to adapt to FreeBSD. For example libdispatch and libc++ were written for OS X and ran on FreeBSD before any other OS.

    On FreeBSD everything needs to be compiled from source

    The FreeBSD ports collection is a very powerful way to install software, allowing you to customize settings for different third party programs and libraries. However, this is not the only way to install software on FreeBSD. You can always install software from binary packages. pkgng project added new format package and package management tool, providing a modern set of tools for binary management.

    You can install pkgng from ports (ports-mgmt/pkg) on ​​older versions of FreeBSD. It is enabled by default on FreeBSD 9.1 and later later versions.

    FreeBSD is UNIX from the 90s (or 80s)

    FreeBSD is a linear descendant of the original UNIX through the Berkeley Software Distribution, but it has continued to be developed separately. Over the past few years, we've seen ZFS become significantly more powerful: support for 10 GB, 40 GB and 100 GB channels, improved audio subsystem, support for 802.11n and other improvements.

    This doesn't mean FreeBSD has abandoned its UNIX roots. There are many reasons why UNIX systems became popular. They include a freely distributed system that is easy to port to new platforms, a set of simple tools and a kernel that has proven itself on various platforms. FreeBSD maintains these traditions.

    All the good code in FreeBSD comes from Solaris

    FreeBSD imported two high profile features from OpenSolaris: DTrace and ZFS. Both are now well supported by FreeBSD. ZFS in particular is the focus of many FreeBSD developers, including those used by iXsystems, the company that supports FreeNAS development and sells commercial NAS devices based on FreeBSD. The FreeBSD developers are also working closely with the developers of Illumos, one of the open source forks of Solaris, to improve both of these features.

    Despite the benefits of ZFS, it's still relative small part common system. ZFS and DTrace make up less than 4% of the code in the kernel, which is equal to almost 10% of the code in the main system. If we assume that only 0.4% of FreeBSD is good, then the system would not have gained such popularity.

    FreeBSD has no drivers

    This is a problem that all operating systems face - even newer versions of Windows. Most of the time, users don't care about the total number of drivers, only if the drivers are already installed by default. There are some omissions in terms of driver support, but FreeBSD supports a wide range of network cards (including 802.11n chipsets), most sound cards AMD, Intel and NVIDIA GPUs.

    Hardware support is the part of the implementation that requires constant improvement, because you can't just tell hardware manufacturers to wait a couple of years for software developers to catch up. Providing support for new devices takes time to set up, although some manufacturers provide drivers themselves, such as Nvidia providing drivers for their GPUs and Intel for the latest network controllers. Other vendors provide assistance with FreeBSD driver development, including Broadcom, JMicron, HP, Mellanox, Chelsio, and Solarflare. If you know of devices that are not supported by FreeBSD, it is better to inform the developers and device manufacturers about this. Typically, the best push for a solution from manufacturers is to tell them that their customers can't use their products.

    FreeBSD 4.x is the best ever

    The 4.x release was the most stable and FreeBSD was proud that they were able to implement such a product. Many users have continued to use it over the years. The 5.x series came out during the transition to multi-threading optimization. This involved replacing a single lock around the kernel with a number of smaller locks that are shared by individual subsystems. This required a lot of work, which inevitably led to some mistakes. 5.x came with two threading implementations, which made things even more complicated. The first two releases in the 5.x series were labeled "developers only", but 5.2 was aimed at a wider audience and did not live up to the expectations of FreeBSD users. A number of large users decided not to change the 4.x series.

    The 5.x series was a painful lesson for the project. The 6.x series restored the stability of the 4.x release, and the 7.x series restored the performance of a single processor. During the release of the 8.x series, a number of third-party published benchmarks could be seen that demonstrated FreeBSD to scale better on multiprocessor systems than any other operating system.

    All of these releases had a significant number of improvements, such as an improved audio subsystem, ZFS, DTrace, UFS logging and more, but stability and performance remained the key objectives of the FreeBSD system.

    Disadvantages of FreeBSD Software

    The FreeBSD collection currently contains over 26,000 pieces of software. It's hard to compare this number to other repositories because the programs are split differently (for example, the GCC port on FreeBSD installs programs and libraries that are split between 6-10 packages on Debian, depending on the GCC version), but most things you still get you can find it there. One of the reasons users choose FreeBSD is the fact that the set of ports provides a specific, relatively obscure piece of software it needs while other systems do not.

    Most of the software in the ports set runs natively on FreeBSD. Most open source software is OS agnostic and requires minimal modification to compile and run on FreeBSD. There are exceptions such as Valgrind, which require a detailed understanding of the system. Proprietary software may be a bigger problem. Some developers, such as Opera, provide FreeBSD with their source code.

    Other software must run in emulation mode. For example, Linux binaries can run at the Linux ABI level, where Linux system calls are translated to their FreeBSD equivalents. The only flaw is a slightly increased load system calls; it is usually difficult to measure the performance difference between executions Linux programs on Linux and on FreeBSD: In some cases, programs run faster on FreeBSD than on Linux due to more efficient implementations of the base calls. For example, Linux version The Flash plugin can run using NSPluginWrapper at the Linux ABI level with its own web browser.

    A similar solution exists for Windows startup applications.

    FreeBSD does not support virtualization

    FreeBSD 9 runs as a Xen guest (domU) on both x86 and x86-64, including Amazon EC2. Thanks to work done with Microsoft, NetApp and Citrix, FreeBSD can run on Microsoft's Hyper-V hypervisor. FreeBSD 11 will include Dom0 support for domain management.

    FreeBSD also supports VirtualBox as both a guest and a host. you can find guest additions VirtualBox, and then the hypervisor itself in a set of ports. FreeBSD 10 also acts as an operating system host for the BSD hypervisor, giving many options for running FreeBSD virtual machines on FreeBSD.

    Finally, if you don't need full virtualization, you can run isolated spaces FreeBSD user(or even spaces Linux user, using Linux ABI levels) on a single FreeBSD kernel you can use the container subsystem. The container can even be given their own independent network stack etc., and thus one machine can be used to emulate an entire fleet of machines.

    The BSD license encourages mutual cooperation

    As long as the developers of the FreeBSD code do not file a copyright claim against you, you are free to use it. But, if you believe the statements of the developers themselves, this will not happen.

    Some companies will almost certainly take our code, change it, and never provide anything in return.

    Consider, as an example, the case of two major Internet companies: Google and Yahoo! Previously, their internal infrastructure was based on a GPL operating system, while later versions already use FreeBSD. Since Google is not distributing their modified operating system, they can keep GoogleFS private for example. In cases such as this, where the software is developed for internal use, the company is not required by the license agreement to disclose its modifications to FreeBSD developers.

    There are, however, some problems with the connection: for example, you cannot use a GPL-licensed library if you are already using BSD.

    Over the years, quite a few companies have made significant contributions to FreeBSD. And this is caused not only by a sense of altruism, because supporting any project that is rapidly developing is a very expensive pleasure.

    Hello, let's talk about how to choose the required version FreeBSD distribution and where you can download it. The post is aimed at those who are just starting to study this system, those who have encountered this are unlikely to find anything new for themselves here, although who knows.

    The FreeBSD system today is a free, non-commercial system, which means that anyone can try it, without restrictions. It is being developed and improved by a large number of free developers with high level knowledge and skills in this field, it is worth recognizing such enthusiasm - more than commendable.

    FreeBSD's usual habitat is, as a rule, servers, although there are also fans who install it on their home computers as the main operating system. Such use cases may also be interesting, because system requirements so minuscule that they will allow you to install the operating system even on computers that should be in a museum, due to their weak characteristics for today, or as they beautifully say “obsolete”. So, let's move on.

    Does version matter? Here you need to decide on the hardware to ensure compatibility, as well as capabilities that you may not need at all. For these reasons, total selection of the latest versions is not necessary. Information about support for versions 8.x and 9.x can be found at:
    http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/hardware.html

    To date, the first disk images of version 10 have been posted on the official ftp server. However, we will make a choice on versions 9.x.

    Anyone can get a FreeBSD disk image; they are located on a public ftp server, from where they can be downloaded:
    ftp://ftp.freebsd.org/pub/FreeBSD/releases

    Select the desired version, tear off the contents of the subdirectory.

    I chose the version 9.2 directory, here we see disk images that you can download to your computer, and then burn the image to disk using some program for “burning” disks, for example “Nero”. If you have Windows 8, you can use the standard utility for burning images to disk that is included in the system; this is not so critical.

    Disk images vary in size, one can fit on a DVD, another on a CD. I recommend making your choice on DVD image disk (in my case it is " FreeBSD-9.2-RELEASE-i386-dvd1.iso"), because You can install software packages from it. When installing from a CD (“ FreeBSD-9.2-RELEASE-i386-disc1.iso") one way or another, the necessary programs will have to be pulled from the Internet or from other sources, which in some cases is not very convenient.

    A disk image named " FreeBSD-9.2-RELEASE-i386-bootonly.iso» provides the option to start the installation process by booting into CD-ROM drive. However, it does not contain the archives necessary for installation from the same disk. Thus, installation will only be possible from other sources.

    Also, in the release directory there may be a disk image with the name “ FreeBSD-9.2-RELEASE-i386-memstick.img", it is designed to create Bootable USB media. Can be used on machines that support booting from USB drives. Typically used when necessary disaster recovery systems (“contains livefs”).

    At the initial stage of getting to know FreeBSD, when choosing an installation disk image, the user will have to choose between the RELEASE, STABLE or CURRENT branches. Let's look at the differences between these branches.

    CURRENT– this is the current branch above which this moment FreeBSD developers are working. The CURRENT branch contains all necessary changes, and after the developers conclude that all the main shortcomings of this version have been corrected, a stable version is released - STABLE.

    STABLE– this branch contains everything that was successfully tested in the CURRENT branch; if any system components were found to be unstable, they are excluded from this branch. As a rule, testing of the STABLE branch is carried out by independent users, release - by engineers, as well as by the developers themselves.

    RELEASE– this branch is formed after careful testing of the STABLE branch. It is worth noting that there may be times when the STABLE and RELEASE branches can be absolutely identical.

    That's all for now.

    FreeBSD 4

    4.0-RELEASE appeared in March 2000 and the latest version 4.11 was released in January 2005. FreeBSD 4 was very popular among Internet providers and hosting providers during the first “dot-com bubble” and was considered one of the most stable and high-performance Unix-class systems. You can still find servers running FreeBSD 4 on the Internet that serve millions of requests every day.

    One of the main disadvantages of FreeBSD 4 is considered to be poor support for multiple processors, especially in multithreading mode.

    FreeBSD 4 set a kind of record for the duration of development of one branch of the operating system - in five years it was eliminated a large number of errors and an extremely stable system was obtained.

    In the middle of the development of FreeBSD 4, the DragonFlyBSD project spun off from it, the founders of which set as their goal serious optimization of the kernel for highly loaded systems, in particular better support multiprocessing (reducing the time required to switch threads, etc.).

    FreeBSD 5

    After 3 years of development, in January 2003, the long-awaited version 5.0-RELEASE was released. This version provided enhanced support for multiprocessing and multithreading, as well as support for the UltraSPARC and IA-64 platforms.

    The biggest architectural change in FreeBSD 5 is the change in the locking mechanism to lower level kernels to improve support for multiprocessor SMP systems. This freed most of the kernel from the so-called “Giant lock”. Now the kernel has the ability to perform more than one task simultaneously. Another important change was the implementation of native support for M:N multithreading called Kernel Scheduled Entities (KSE). Starting with FreeBSD 5.3, this threading implementation was installed by default until it was replaced by the 1:1 model implementation in FreeBSD 7.

    FreeBSD 5 saw a major overhaul of the block I/O system by introducing the modular, structural I/O request translation system GEOM (contributed by Poul-Henning Kamp). GEOM makes it possible to create various functionality such as mirroring or encryption.

    Versions 5.4 and 5.5 were considered stable and high-performance, but more early versions not suitable for use in work environments.

    FreeBSD 6

    FreeBSD 6.0 was released on November 4, 2005. On November 11, 2008, version 6.4 was released. These versions continue to optimize support for SMP and multithreading, coupled with expanded support for the 802.11 standard, recording of TrustedBSD project security events, and major improvements to the performance of the network subsystem. The main achievements of this release are the elimination of the “Giant lock” from the virtual file subsystem (VFS), the implementation of additional, higher-performance support for multi-threading (libthr) with a 1:1 model, and the addition of OpenBSM - the primary security module that was created by the project TrustedBSD.

    FreeBSD 7

    FreeBSD 7.0 was released on February 27, 2008. On January 5, 2009, version 7.1 was released. New in this branch includes: optimized network protocol transport layer SCTP, journaling in the UFS2 file system, an experimental adaptation of the ZFS file system (developed by Sun), GCC4.2 compiler, basic support ARM platforms, new jemalloc memory manager optimized for parallel computing, and major changes and optimizations of subsystems for working with networks, audio devices and SMP systems. The new system showed significant improvements in speed compared to previous versions and Linux system.

    On May 4, 2009, version 7.2 was released. New in this version: support for the UltraSPARC III ("Cheetah") and SPARC64 processor family; the ability to assign several IPv4 and IPv6 addresses to each cell - the Jail virtual machine; implementation of the Superpages technique, which transparently increases the size of pages (from 4KB to 4MB) for applications virtual memory; kernel address space increased to 6 GB for 64-bit processors; support for multiple routing tables is included, including for cells; improved compatibility in the operation of 32-bit cells in a 64-bit environment; The btpand daemon has been ported from NetBSD with support for the Bluetooth Network Access Point (NAP), Group Ad-hoc Network (GN) and Personal profiles Area Network User(PANU); added new driver sdhci with support for PCI-SD host controllers (card readers); updated DRM (Direct Rendering Manager) kernel module with improved support GPUs(GPU) AMD/ATI, XGI, Intel; Network and disk device drivers have been updated. The development of an NVIDIA video driver for the 64-bit amd64 architecture is expected soon. The final adaptation of the ZFS v.13 file system for this branch is almost complete.

    FreeBSD 8

    On July 7, 2009, the first public beta version of FreeBSD 8.0 was released, the first release candidate is available to users on September 21, 2009, the second release candidate is planned for October 14, and the third release candidate is scheduled for October 28. The release will be announced on November 5, 2009.

    Version 8.0 includes a lot of new functionality, such as:

    • The Dtrace system (a dynamic tracing framework for detecting kernel and application misbehavior on a running system in real time), taken from Sun from Solaris 10 (included and running in version 7.2).
    • Xen DomU support.
    • Virtualization of network support.
    • Improved ZFS support.
    • New USB subsystem.