Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Zero to Hero ====== //Learn the basics of %%FreeBSD%% in 30 minutes// ===== About this guide ===== //Zero to Hero// is a broad, swift introduction to %%FreeBSD%% for newcomers who have little to no knowledge of the operating system, the project behind the operating system, or the community surrounding both the operating system and the project. ==== Goals ==== If you are brand new to %%FreeBSD%%, then you might have some or all of the following questions: *What is %%FreeBSD%%? *How do I install %%FreeBSD%% on my computer? *Once I have installed %%FreeBSD%%, how do I start using it? *What common desktop software applications are available for %%FreeBSD%%? *Where can I learn more about %%FreeBSD%%? With this guide, our shared goal is to answer all fundamental questions of this kind. Broadly speaking, then, we aim to provide: * a document that is truly helpful for complete newcomers to %%FreeBSD%% with as few hidden assumptions about pre-existing knowledge as possible * an introduction to the %%FreeBSD%% operating system, the project behind the operating system, and the community that surrounds both the operating system and the project * a guide by which anyone can learn the basics of %%FreeBSD%% in as few as 30 minutes ==== Relationship to the FreeBSD Handbook ==== For the official introduction to the %%FreeBSD%% operating system, see [[https://docs.freebsd.org/en/books/handbook/parti/|Part I]] of the //%%FreeBSD%% Handbook//. //Zero to Hero// differs from Part I of the //Handbook// in 3 ways: - Whereas the //Handbook// is official and (therefore) updated strictly when needed, this document is unofficial and (therefore) able to be updated and changed constantly. Rephrased, whereas the //Handbook// is largely static, this document is meant to be dynamic. - Whereas the //Handbook// tends to be theoretical with tangible examples only as needed, this guide is chiefly practical. - Whereas the //Handbook// is strictly about the %%FreeBSD%% operating system with only passing reference to outside software (and no recommendations regarding outside software), this guide includes direct engagement with and recommendations for a host of third-party packages. 'Zero to Hero' vigorously will point you, the reader, to different portions of the 'Handbook' for broader and deeper reading. ===== Study Timeline ===== Here is an outline of the topics that we cover with an estimated amount of time to read and digest each item. The total estimated time is 30 minutes. - What is %%FreeBSD%%? (5 minutes) - History (2 minutes) - %%FreeBSD%% Today (2 minutes) - BSD License(s) (1 minute) - How do I install %%FreeBSD%% on my computer? (5 minutes) - Plan your installation (2 minutes) - Create the installation medium (1 minute) - Install %%FreeBSD%% (2 minutes) - Once I have installed %%FreeBSD%%, how do I start using it? (6 minutes) - Documentation: man pages & more (2 minutes) - Common commands (2 minutes) - Desktop environments & window managers (2 minutes) - What common desktop software applications are available for %%FreeBSD%%? (9 minutes) - Office software (3 minutes) - Web browsers and email clients (3 minutes) - Terminal emulators and geeky gadgets (3 minutes) - Where can I learn more about %%FreeBSD%%? (5 minutes) - Handbook, Wiki, and Man Pages -- oh, my! (2 minutes) - IRC and mailing lists (2 minutes) - Further reading (1 minute) ===== What is FreeBSD? ===== ==== History ==== Ultimately, %%FreeBSD%% is a descendant of AT&T's original Unix operating system, which was first released in 1969. In 1979, 10 years after Unix's release, the Computer Systems Research Group (CSRG) at the University of California, Berkeley published the first Berkeley Software Distribution (BSD) of Unix, a version of AT&T's operating system with many improvements from computer science students and researchers working at UC Berkeley and elsewhere. Over the next fifteen years, BSD gained extensive rewrites, additions, and other improvements from academic contributors all over the world, until (eventually) the operating system was constituted almost exclusively by CSRG's code rather than AT&T's code. In 1992, with CSRG's funding waning and the BSD project facing possible collapse, the project managers released nearly the entire operating system's source code under the first BSD License (see below). A team of persons who had contributed to BSD took the source code and created what is now the %%FreeBSD%% operating system, releasing version 1.0 in 1993. Since the name "Unix" is still owned by AT&T, %%FreeBSD%%, like other *BSD operating systems (e.g. %%NetBSD%% and %%OpenBSD%%), is legally called a "Unix-like operating system." However, unlike some other Unix-like operating systems with which you might be familiar (e.g. GNU/Linux), the *BSD operating systems are truly based on the original Unix and work with many of the same commands and principles as their primordial counterpart did in 1969. The %%FreeBSD%% operating system, in turn, has been developed as a stand-alone project continuously since 1993. For more about %%FreeBSD%%'s history, see //Absolute %%FreeBSD%%// (3rd ed.), xxiv-xxvi or [[https://docs.freebsd.org/en/books/handbook/introduction/#history|Chapter 1 (Introduction)]] in the //Handbook.// ==== FreeBSD Today ==== Today, %%FreeBSD%% has hundreds of [[/Developers#DeveloperLists|committers]]. Committers are developers who play an active, regular role in writing and reviewing the source code with direct modification access. Thus, receiving a "commit bit" (i.e. the rights of a committer) is a great honor for a code contributor, reflecting that the community as a whole trusts his/her work. Committers elect the [[https://www.freebsd.org/administration/#t-core|Core Team]] and other code-related [[https://www.freebsd.org/administration/|administrative groups]]. The Core Team has managerial oversight of the direction of %%FreeBSD%%'s code and the priorities of the code committing team writ large. The %%FreeBSD%% project functions almost wholly democratically, so the members of the Core Team play the important role of resolving disputes. Many people contribute to %%FreeBSD%% in ways beside working with code, including writing (like those of us who write for the Wiki), speaking, submitting bug reports for the code contributors and committers, fundraising, and more. The [[https://freebsdfoundation.org/|FreeBSD Foundation]] is a non-profit organization dedicated to supporting and promoting the %%FreeBSD%% Project and community worldwide. There is not any way of knowing how many computers have %%FreeBSD%% or a %%FreeBSD%%-derived operating system running on them, but the number is probably in the millions. %%FreeBSD%%'s flexibility for server, firewall, embedded system, and desktop usage makes it highly popular. [[https://www.freenas.org/|FreeNAS]] (an operating system for network attached storage), [[https://www.pfsense.org/|pfSense]] and [[https://opnsense.org/|OPNSense]] (enterprise-grade firewalls), and [[https://www.ghostbsd.org/|GhostBSD]] (an operating system specifically designed for regular desktop usage) are three (among many) globally famous projects that are actually custom builds of %%FreeBSD%% that come pre-configured with additional software. Since %%FreeBSD%% powers everything from the massive server arrays that Netflix uses to share online videos to Sony's Playstation video game consoles, it is probable that you already have interacted with %%FreeBSD%% in some capacity without even knowing it. ==== BSD License(s) ==== %%FreeBSD%% uses a simplified version of the [[https://www.freebsd.org/copyright/license/|original]] BSD License. All BSD Licenses are highly //permissive//, meaning (in simplest terms) that code released under BSD Licenses is truly open for anyone to use for any purpose as long as he/she does not claim to have written it and understands that the authors of the code are not liable in case of difficulties with it. Contributors often volunteer their time for the good of the world with no expectation of anything in return. **%%FreeBSD%% is a gift.** For %%FreeBSD%%'s detailed legal information, see [[https://www.freebsd.org/copyright/|freebsd.org/copyright]]. For the exact wording of %%FreeBSD%%'s own License, see [[https://www.freebsd.org/copyright/freebsd-license/|The FreeBSD Copyright]]. ===== How do I install FreeBSD on my computer? ===== Over the 30 years since %%FreeBSD%% became an independent project, its contributors have worked hard to make installation easy for most situations but extremely flexible for special use cases. Here we give just enough detail to cover simple small office and home installation scenarios. For a more detailed installation guide, see //Absolute %%FreeBSD%%// (3rd ed.), Chapters 2--4 or [[https://docs.freebsd.org/en/books/handbook/bsdinstall/|Chapter 2 (Installing FreeBSD)]] in the //Handbook.// ==== Plan your installation ==== The most important part of any installation is planning. Only you, the person who intends to install %%FreeBSD%%, can know what your exact requirements are. More advanced users will need to answer big-picture questions of this kind, which we specifically show here to highlight some of %%FreeBSD%%'s unique features (so, dear beginner, you may feel free to skip this for now and move directly to "Determine your hardware needs"): *Do you need to build a ZFS pool to preserve a high degree of data integrity with crucial features like automatic healing being a part of the operating system itself? If so, read [[https://docs.freebsd.org/en/books/handbook/zfs/|Chapter 20 (The Z File System)]] in the 'Handbook' or Chapter 12 (The Z File System) of //Absolute %%FreeBSD%%// (3rd ed.). *Should you integrate Jails into your installation as a fundamental part of its operation for the complete isolation of processes as a way to limit a potential intruder's number of attack surfaces while reducing the odds of a system crash if an unstable third-party application should fail? If so, read [[https://docs.freebsd.org/en/books/handbook/jails/|Chapter 15 (Jails)]] in the //Handbook// or Chapter 22 (Jails) of //Absolute %%FreeBSD%%// (3rd ed.). *Do you need the Linux Binary Compatibility layer, a.k.a. Linuxulator, for a pseudo-native installation of some piece of software that happens to be available for GNU/Linux but not %%FreeBSD%%? If so, see [[https://docs.freebsd.org/en/books/handbook/linuxemu/|Chapter 10 (Linux Binary Compatibility)]] in the //Handbook// or the end of Chapter 17 (Advanced Software Management) of //Absolute %%FreeBSD%%// (3rd ed.). *Should you build a custom kernel, say, to add some key hardware support or to reduce %%FreeBSD%% to a radically small total footprint for an embedded system? If so, read [[https://docs.freebsd.org/en/books/handbook/kernelconfig/|Chapter 8 (Configuring the FreeBSD Kernel)]] in the //Handbook// or Chapter 6 (Kernel Games) in //Absolute %%FreeBSD%%// (3rd ed.). Since you are a true beginner, it is likely that none of those 4 world-renowned features of %%FreeBSD%% means anything to you at this time. Fear not! We are halfway through this 30 minute //Zero to Hero// guide; let us not get bogged down in the details. You will learn about %%FreeBSD%%'s myriad features as time continues. === Determine your hardware needs === For you, dear beginner, the most important step in planning your installation will be determining whether or not %%FreeBSD%% will work properly on your hardware. The good news is that **if you own a desktop, laptop, or server computer from when %%FreeBSD%% started (1993) or later, %%FreeBSD%% probably will work well on your device.** %%FreeBSD%% has [[https://docs.freebsd.org/en/articles/committers-guide/#archs|four tiers]] of support for various CPU architectures. At this time, 64-bit x86 (amd64), which is the standard architecture for nearly all such computers built today (including both Intel and AMD CPUs), as well as 64-bit ARM, which is a popular architecture for embedded systems and single-board computers (e.g. the Raspberry Pi, on which %%FreeBSD%% [[arm/Raspberry%20Pi|runs perfectly]]), are both Tier 1, meaning that they are fully supported and have top overall priority. Many other architectures have Tier 2 (developmental) or Tier 3 (experimental) support. If you do not know which architecture you have, and your PC is from about 2005 or later, then you have an amd64-based (Tier 1) system. You should check our Wiki's [[/Graphics]] and [[/WiFi|WiFi]] pages for the most up-to-date information about specific graphics cards and wireless networking cards, respectively. === Choose the best FreeBSD version for you === The next step is to choose which version of %%FreeBSD%% to install. For almost every beginner, the most recent -RELEASE is the best choice. -RELEASE has binary upgrades, which means that it can be upgraded automatically with a few keystrokes. The most recent -RELEASE also will have the widest range of modern hardware support with the most up-to-date features writ large of all -RELEASE versions that are supported at a given time. The list of currently supported -RELEASE versions is available at [[https://www.freebsd.org/where/|freebsd.org/where]]. ==== Create the installation medium ==== - Download the correct installation image from [[https://www.freebsd.org/where/|freebsd.org/where]]. The most reliable and fastest installation medium for modern amd64 hardware is a standard USB flash drive. Alternatively, you may use a CD-ROM or a DVD. For a flash drive, you will want a .img image. For a CD-ROM or DVD, you will want a .iso image. If your computer has a stable, wired (RJ-45) Internet connection available for it (not wireless, since that would require additional setup), we recommend the *-mini-memstick.img and *-bootonly.iso, which will automatically download fully updated versions of all system utilities and other parts of %%FreeBSD%% for you during installation. If your computer does not have such a connection, then we recommend the full *-memstick.img image for a USB flash drive or *-dvd1.iso image specifically for a DVD (which contains a more full fileset than *-disc1.iso for CD-ROMs). - ==== Install FreeBSD ==== ===== Once I have installed FreeBSD, how do I start using it? ===== ==== Documentation: man pages & more ==== ==== Common commands ==== ==== Desktop environments & window managers ==== ===== What common desktop software applications are available for FreeBSD? ===== ==== Office software ==== ==== Web browsers and email clients ==== ==== Terminal emulators and geeky gadgets ==== ===== Where can I learn more about FreeBSD? ===== ==== Handbook, Wiki, and Man Pages -- oh, my! ==== ==== IRC and mailing lists ==== ==== Further Reading ==== === Guidebooks === ***All Users**: The most up-to-date comprehensive guidebook is Michael W. Lucas's //[[https://mwl.io/nonfiction/os#af3e|Absolute FreeBSD, 3rd ed]]// (No Starch Press, 2019). This volume should be accessible for anyone with at least an elementary understanding of Unix-like operating systems, but true newcomers are likely to need to cross-check some concepts and terms in the //%%FreeBSD%% Handbook//, here in the //%%FreeBSD%% Wiki//, and/or elsewhere. ***Advanced Users**: Robert N. M. Watson, George V. Neville-Neil, and Marshall Kirk [[/McKusick|McKusick]]'s //[[https://www.oreilly.com/library/view/the-design-and/9780133761825/|The Design and Implementation of the FreeBSD Operating System, 2nd ed.]]// (Addison-Wesley Professional, 2014) is an exceedingly intricate study that is meant for kernel developers, software engineers, and other persons who work on or with the operating system at an advanced level. === News === ***Official**: The [[https://freebsdfoundation.org/our-work/journal/|FreeBSD Journal]] is the [[https://freebsdfoundation.org/|FreeBSD Foundation]]'s official magazine. ***Unofficial**: [[https://www.freebsdnews.com/|FreeBSDNews]] is a news website maintained by members of the %%FreeBSD%% community. ===== Bibliography ===== Absolute %%FreeBSD%% (3rd ed.) %%FreeBSD%% Handbook coreystephan/zerotohero.txt Last modified: 2022/10/03 03:57by KubilayKocak