{"id":3395,"date":"2023-02-17T23:22:59","date_gmt":"2023-02-18T04:22:59","guid":{"rendered":"https:\/\/dft.wiki\/?p=3395"},"modified":"2026-07-18T11:18:30","modified_gmt":"2026-07-18T15:18:30","slug":"introduction-to-unix-for-linux-users","status":"publish","type":"post","link":"https:\/\/dft.wiki\/?p=3395","title":{"rendered":"Introduction to UNIX for Linux Users"},"content":{"rendered":"<p>While Linux is not a direct descendant of Unix, it was inspired by Unix and designed to be similar to it in many ways.<\/p>\n<p>Unix is a family of multi-user, multitasking operating systems known for its portability, scalability, and stability. It is also the foundation of macOS.<\/p>\n<p>BSD stands for Berkeley Software Distribution, a Unix operating system. This acronym carries over to name popular distributions like FreeBSD and OpenBSD, both of which are introduced in this post.<\/p>\n<p><strong>FreeBSD<\/strong> [<a href=\"https:\/\/www.freebsd.org\/where\/\">Link<\/a>] and <strong>OpenBSD<\/strong> [<a href=\"https:\/\/www.openbsd.org\/faq\/faq4.html#Download\">Link<\/a>] are well-known for performance, stability, and security. The main ideological difference is licensing: FreeBSD allows forks to be proprietary, while OpenBSD requires all derivatives to remain open under the same original license.<\/p>\n<p>Minimum requirements:<\/p>\n<ul>\n<li><strong>FreeBSD<\/strong>\n<ul>\n<li>CPU: 1 core<\/li>\n<li>RAM: 1 GB<\/li>\n<li>Storage: 2 GB<\/li>\n<\/ul>\n<\/li>\n<li><strong>OpenBSD<\/strong>\n<ul>\n<li>CPU: 1 core<\/li>\n<li>RAM: 64 MB<\/li>\n<li>Storage: 1 GB<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5957\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/unix.png\" alt=\"\" width=\"369\" height=\"277\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/unix.png 369w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/unix-300x225.png 300w\" sizes=\"auto, (max-width: 369px) 100vw, 369px\" \/><\/p>\n<p>The main difference between UNIX and Linux:<\/p>\n<ul>\n<li>Linux is just the kernel that gets packaged\/distrubuted is multiple flavours.<\/li>\n<li>Linux is UNIX-like or UNIX-inspired and does not share any common source.<\/li>\n<li>UNIX got forked multiple times, and each fork is totally independent of the others.<\/li>\n<li>UNIX flavours work in synergy to improve themselves and interoperability wherever possible.<\/li>\n<\/ul>\n<p><strong>Note:<\/strong> TrueNAS (FreeNAS), pfSense, and OPNsense are all based on FreeBSD.<\/p>\n<hr \/>\n<p><strong>INSTALLATION<\/strong><\/p>\n<p>For Linux users, the CLI installation of both distributions should be straightforward. The right approach depends on the environment and intended use.<\/p>\n<p>The ISO image offers the most flexible installation source because it includes a wider variety of hardware drivers. However, if the system will run on specific hardware such as a SBC (like Raspberry Pi) or as a VM, tailored images are also available.<\/p>\n<ul>\n<li><strong>FreeBSD<\/strong><\/li>\n<\/ul>\n<p>The installation is straightforward and should not pose much of a challenge to a Linux user.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3399\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-15-22-19-03.png\" alt=\"\" width=\"740\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-15-22-19-03.png 740w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-15-22-19-03-300x202.png 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<ul>\n<li><strong>OpenBSD<\/strong><\/li>\n<\/ul>\n<p>Do not expect anything fancy with OpenBSD. It is not pretty or particularly user-friendly.<\/p>\n<p>When you see the following screen, do not panic. That is simply how it looks.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3407\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-33-21.png\" alt=\"\" width=\"740\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-33-21.png 740w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-33-21-300x202.png 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p>Follow the steps:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3408\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-35-33.png\" alt=\"\" width=\"740\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-35-33.png 740w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-35-33-300x202.png 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3409\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-36-27.png\" alt=\"\" width=\"740\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-36-27.png 740w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-36-27-300x202.png 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3410\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-46-09.png\" alt=\"\" width=\"740\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-46-09.png 740w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-46-09-300x202.png 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3411\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-47-26.png\" alt=\"\" width=\"740\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-47-26.png 740w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-47-26-300x202.png 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3412\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-48-29.png\" alt=\"\" width=\"740\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-48-29.png 740w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-48-29-300x202.png 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p>Mirrors are sorted by latency after a ping test. It is recommended to use the first one.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3413\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-49-09.png\" alt=\"\" width=\"740\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-49-09.png 740w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-49-09-300x202.png 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3414\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-50-12.png\" alt=\"\" width=\"740\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-50-12.png 740w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-50-12-300x202.png 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3415\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-55-59.png\" alt=\"\" width=\"740\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-55-59.png 740w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/02\/Screenshot-from-2023-02-17-21-55-59-300x202.png 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p>Remember to remove the installation media, otherwise it will keep prompting to start the installation on boot.<\/p>\n<hr \/>\n<p><strong>FIRST ACCESS<\/strong><\/p>\n<p>Log in with the root credentials set during installation.<\/p>\n<p>To reboot and shut down:<\/p>\n<pre>reboot<\/pre>\n<pre>shutdown -p now<\/pre>\n<p>Without the <code>-p<\/code> flag, the system will not power off after shutdown, similar to issuing just the <code>halt<\/code> command.<\/p>\n<p>List processes:<\/p>\n<pre>ps aux\r\ntop<\/pre>\n<hr \/>\n<p><strong>UPDATING, UPGRADING, AND INSTALLING PACKAGES<\/strong><\/p>\n<p>Update and upgrade all packages using the package manager.<\/p>\n<p><strong>For FreeBSD:<\/strong><\/p>\n<pre>pkg update &amp;&amp; pkg upgrade -y<\/pre>\n<p><strong>For OpenBSD:<\/strong><\/p>\n<pre>pkg_add -Uu<\/pre>\n<p>Audit vulnerable installed packages (FreeBSD only):<\/p>\n<pre>pkg audit -F &amp;&amp; pkg audit<\/pre>\n<p>Fetch and install system updates (FreeBSD only):<\/p>\n<pre>freebsd-version\r\nfreebsd-update fetch install<\/pre>\n<p>Before installing updates, the <code>vi<\/code> editor will open with output for review and approval. This may be unexpected for Linux users, so take time to read it carefully before proceeding in a production environment. A reboot is always recommended afterward.<\/p>\n<p>There is no <code>nano<\/code> by default, but it can be installed. <code>vi<\/code> gets the job done for those comfortable with it.<\/p>\n<p><strong>For FreeBSD:<\/strong><\/p>\n<pre>pkg install nano<\/pre>\n<p><strong>For OpenBSD:<\/strong><\/p>\n<pre>pkg_add nano<\/pre>\n<p>It may first prompt you to install the package manager, then ask for confirmation to install the desired package. If there is no Internet access because the network interfaces need configuration, follow the next steps first.<\/p>\n<hr \/>\n<p><strong>NETWORK CONFIGURATION<\/strong><\/p>\n<p>Most likely, two network interfaces will be needed. For this demo, the first interface is treated as WAN (has Internet access) and the second as LAN (internal network access only).<\/p>\n<pre>ifconfig<\/pre>\n<p>Three network interfaces may appear: <strong>em0<\/strong> (WAN), <strong>em1<\/strong> (LAN), and <strong>lo0<\/strong> (loopback). If any were not properly configured during installation, follow the steps below.<\/p>\n<p><strong>For FreeBSD:<\/strong><\/p>\n<pre>nano \/etc\/rc.conf<\/pre>\n<pre>...\r\n# WAN (em0)\r\nifconfig_em0=\"DHCP\"\r\n# LAN (em1)\r\nifconfig_em1=\"inet 10.0.0.10 netmask 255.255.255.0\"\r\n...<\/pre>\n<p>Optionally, if DHCP does not provide a default gateway, one can be added to the same configuration file:<\/p>\n<pre>...\r\ndefaultrouter=\"10.1.1.1\"\r\n...<\/pre>\n<p>Out of the box, FreeBSD and OpenBSD can route traffic between all configured interfaces, but this requires enabling a single flag:<\/p>\n<pre>gateway_enable=\"YES\"<\/pre>\n<p>Apply the configuration by restarting the network service:<\/p>\n<pre>service netif restart<\/pre>\n<p>Check networks and routes:<\/p>\n<pre>netstat -r\r\nnetstat -nr<\/pre>\n<p>Setting a static route:<\/p>\n<pre>route add -net 192.168.0.0\/16 10.2.2.1<\/pre>\n<p>To make it persist across reboots:<\/p>\n<pre>nano \/etc\/rc.conf<\/pre>\n<pre>...\r\nstatic_routes=\"net2\"\r\nroute_net2=\"-net 192.168.0.0\/16 10.2.2.1\"\r\n...<\/pre>\n<p>For more than one static route:<\/p>\n<pre>...\r\nstatic_routes=\"net2 net3\"\r\nroute_net2=\"-net 192.168.0.0\/16 10.2.2.1\"\r\nroute_net3=\"-net 172.16.0.0\/24 10.2.2.1\"\r\n...<\/pre>\n<p>When configured to use DHCP, <code>\/etc\/resolv.conf<\/code> will be populated automatically. As with Linux, it can always be managed manually, and auto-population can be suppressed as follows:<\/p>\n<pre>\/etc\/dhclient-enter-hooks<\/pre>\n<pre>...\r\nadd_new_resolv_conf() {\r\n        # Do not overwrite \/etc\/resolv.conf with the DHCP configuration.\r\n        return 0\r\n}\r\n...<\/pre>\n<p><strong>For OpenBSD:<\/strong><\/p>\n<pre>nano \/etc\/hostname.em0<\/pre>\n<p>For DHCP:<\/p>\n<pre>inet autoconf<\/pre>\n<p>For a static IP:<\/p>\n<pre>inet 10.1.1.2 255.255.255.0 10.1.1.1<\/pre>\n<p>Apply:<\/p>\n<pre>sh \/etc\/netstart<\/pre>\n<hr \/>\n<p><strong>MANAGING USERS<\/strong><\/p>\n<p>Create a new user:<\/p>\n<pre>adduser userName<\/pre>\n<p>Delete a user:<\/p>\n<pre>rmuser userName<\/pre>\n<p>Change the current user&#8217;s password or another user&#8217;s password:<\/p>\n<pre>passwd<\/pre>\n<pre>passwd userName<\/pre>\n<p>To grant administrator privileges, add the user to the <code>wheel<\/code> group.<\/p>\n<p><strong>For FreeBSD:<\/strong><\/p>\n<pre>pw groupmod -n wheel -m userName<\/pre>\n<p>To remove a user from the group, replace <code>-m<\/code> with <code>-d<\/code>. To list members of the <code>wheel<\/code> group:<\/p>\n<pre>pw groupshow -n wheel<\/pre>\n<p><strong>For OpenBSD:<\/strong><\/p>\n<pre>usermod -G wheel userName<\/pre>\n<p>List the groups a user belongs to:<\/p>\n<pre>id userName<\/pre>\n<p>Since the <code>root<\/code> user cannot SSH by default (as with most Linux systems), use the newly created user to connect remotely, then switch to root with <code>su<\/code>.<\/p>\n<p>The SSHd service may need to be restarted to allow the new user to connect.<\/p>\n<p><strong>For FreeBSD:<\/strong><\/p>\n<pre>service sshd restart\r\nservice sshd status<\/pre>\n<p><strong>For OpenBSD:<\/strong><\/p>\n<pre>rcctl restart sshd\r\nrcctl check sshd<\/pre>\n<hr \/>\n<p><strong>FILE SYSTEM<\/strong><\/p>\n<p>Originally, <strong>UFS<\/strong> (Unix File System) was the default file system, but <strong>ZFS<\/strong> (Zettabyte File System) is now the default due to its support for advanced features like snapshots, compression, and RAID.<\/p>\n<p>Besides UFS and ZFS, there is also a native file system called <strong>HAMMER<\/strong> (Highly Available, Multi-Master, Elastic Replicated Object Store), developed by DragonFly BSD. It provides high availability and fault tolerance, and is worth exploring if those features are relevant to your use case.<\/p>\n<p>FAT, NTFS, EXT2 through EXT4, APFS, and ISO 9660 are also supported, along with the network file systems NFS (Linux) and CIFS (Windows). Note that XFS is <span style=\"text-decoration: underline;\">NOT<\/span> officially supported.<\/p>\n<p>Linux users will find the directory structure and file\/permission management largely familiar.<\/p>\n<hr \/>\n<p><strong>FIREWALL ON FREEBSD<\/strong><\/p>\n<p>Enable the firewall:<\/p>\n<pre>nano \/etc\/rc.conf<\/pre>\n<pre>...\r\nfirewall_enable=\"YES\"\r\n...<\/pre>\n<p>Create the ruleset:<\/p>\n<pre>nano \/etc\/ipfw.rules<\/pre>\n<pre>ipfw add allow tcp from any to any 80 in\r\nipfw add allow ip from any to any 21 out\r\nipfw add allow tcp from 10.20.30.0\/24 to 10.1.1.1 22 in\r\nipfw add deny udp from any to any 53\r\nipfw add deny all from 192.168.0.10 to any in\r\nipfw add deny tcp from any to any 22 in via em0\r\nipfw add deny tcp from any to any 10000-20000 fwd em0<\/pre>\n<ul>\n<li><strong>in<\/strong> \/ <strong>out<\/strong>\n<ul>\n<li>Applied only to traffic to and from the local system.<\/li>\n<\/ul>\n<\/li>\n<li><strong>in via<\/strong> \/ <strong>out via<\/strong>\n<ul>\n<li>Applied to traffic on the specified interface, including forwarded packets.<\/li>\n<\/ul>\n<\/li>\n<li><strong>fwd<\/strong>\n<ul>\n<li>Applied only to packets being forwarded to the specified interface.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Load the rules into the kernel:<\/p>\n<pre>\/sbin\/ipfw \/etc\/ipfw.rules<\/pre>\n<p>To make the firewall rules persist across reboots, add the same line to the following file:<\/p>\n<pre>nano \/etc\/rc.local<\/pre>\n<pre>...\r\n\/sbin\/ipfw \/etc\/ipfw.rules\r\n...<\/pre>\n<hr \/>\n<p><strong>FIREWALL<\/strong><\/p>\n<p><strong>PF<\/strong> (Packet Filter) is the default firewall in FreeBSD, GhostBSD, and others in the family.<\/p>\n<pre>nano \/etc\/pf.conf<\/pre>\n<ul>\n<li>Example for routing between WAN and LAN.<\/li>\n<\/ul>\n<pre>wan=\"<strong>em0<\/strong>\"\r\nlan=\"<strong>em1<\/strong>\"\r\n\r\nset skip on lo0\r\nset block-policy drop\r\n\r\nblock drop all\r\n\r\nblock in all\r\nblock out all\r\n\r\npass quick in all keep state\r\npass in on $wan proto <strong>tcp<\/strong> from any to any port <strong>80<\/strong>\r\npass in on $lan proto { <strong>tcp<\/strong> <strong>udp<\/strong> } from $lan:network to port { <strong>139<\/strong> <strong>445<\/strong> }\r\npass out inet proto <strong>icmp<\/strong> icmp-type { <strong>echoreq<\/strong> }\r\npass in on $lan proto <strong>icmp<\/strong> all icmp-type { <strong>echoreq<\/strong>, <strong>echorep<\/strong> }<\/pre>\n<p>Optionally, replace <code>keep state<\/code> with <code>modulate state<\/code> for additional security. This randomizes the initial sequence number of TCP packets to help prevent TCP session hijacking.<\/p>\n<ul>\n<li>Example for blocking all ports except SSH.<\/li>\n<\/ul>\n<pre>ext_if = \"<strong>vtnet0<\/strong>\"\r\ntcp_services = \"{ <strong>22<\/strong> }\"\r\n\r\nset skip on lo0\r\nset block-policy drop\r\n\r\nscrub in all\r\nblock all\r\n\r\npass out on $ext_if keep state\r\npass in on $ext_if proto <strong>tcp<\/strong> to port $tcp_services keep state\r\npass in on $ext_if inet proto <strong>icmp<\/strong> icmp-type <strong>echoreq<\/strong><\/pre>\n<p>Test and temporarily apply (auto-revert safety net):<\/p>\n<pre>pfctl -nf \/etc\/pf.conf &amp;&amp; pfctl -f \/etc\/pf.conf &amp;&amp; sleep 60 &amp;&amp; pfctl -d<\/pre>\n<p>If the response is it <code>pfctl: Failed to open netlink: No such file or directory<\/code> means the kernel module is not loaded yet.<\/p>\n<pre>kldstat\r\nkldload pf\r\nkldload pflog<\/pre>\n<p>Test if the allowed inbound connection works, then apply it permanently.<\/p>\n<pre>pfctl -e\r\nservice pf start<\/pre>\n<p>Enable the firewall on boot:<\/p>\n<pre>sysrc pf_enable=YES\r\nsysrc pflog_enable=YES<\/pre>\n<p>Check the firewall status:<\/p>\n<pre>pfctl -si<\/pre>\n<p>Check the applied rules:<\/p>\n<pre>pfctl -sr<\/pre>\n<hr \/>\n<p><strong>TROUBLESHOOTING<\/strong><\/p>\n<ul>\n<li><strong>System Logs<\/strong><\/li>\n<\/ul>\n<p>Watch logs in real time:<\/p>\n<pre>tail -f \/var\/log\/messages<\/pre>\n<p>Filter for a specific entry type:<\/p>\n<pre>tail -f \/var\/log\/messages | grep error<\/pre>\n<pre>grep ssh \/var\/log\/messages<\/pre>\n<ul>\n<li><strong>Diagnostic Tools<\/strong><\/li>\n<\/ul>\n<pre>ping 8.8.8.8<\/pre>\n<pre>traceroute 1.1.1.1<\/pre>\n<pre>top<\/pre>\n<pre>tcpdump -i em0<\/pre>\n<pre>dmesg | less<\/pre>\n<ul>\n<li><strong>Configuration<\/strong><\/li>\n<\/ul>\n<pre>hostname myNewHostname<\/pre>\n<pre>sysrc hostname=\"myNewHostname\"<\/pre>\n<ul>\n<li><strong>Enabling IPv6<\/strong><\/li>\n<\/ul>\n<pre>sysrc ipv6_activate_all_interfaces=\"YES\"\r\nsysrc ifconfig_<strong>em0<\/strong>_ipv6=\"inet6 accept_rtadv\"\r\nsysrc rtsold_enable=\"YES\"\r\nsysrc dhcpcd_enable=\"YES\"\r\npkg install -y dhcpcd\r\nnano \/etc\/dhcpcd.conf<\/pre>\n<pre>allowinterfaces <strong>em0<\/strong>\r\nipv6only\r\nnoipv6rs<\/pre>\n<p>Reboot then test.<\/p>\n<pre>reboot\r\nifconfig | grep inet6\r\nping 2606:4700:4700::1111\r\nping 1.1.1.1<\/pre>\n<p>Replace <code>em0<\/code> with the interface name for your environment.<\/p>\n<ul>\n<li>Setting Timezone.<\/li>\n<\/ul>\n<pre>tzsetup<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>While Linux is not a direct descendant of Unix, it was inspired by Unix and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-3395","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/3395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3395"}],"version-history":[{"count":22,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/3395\/revisions"}],"predecessor-version":[{"id":6014,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/3395\/revisions\/6014"}],"wp:attachment":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}