Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Jun 2020 03:14:51 -0600
From:      Brandon helsley <brandon.helsley@hotmail.com>
To:        freebsd-questions <freebsd-questions@freebsd.org>, Matthew Seaman <matthew@freebsd.org>
Subject:   Re: Mininal skills
Message-ID:  <CY4PR19MB01040BA77657FD7AB1D0B1E9F9890@CY4PR19MB0104.namprd19.prod.outlook.com>
In-Reply-To: <CY4PR19MB0104E74C96FDA086AF18C0F8F9890@CY4PR19MB0104.namprd19.prod.outlook.com>
References:  <CY4PR19MB0104E74C96FDA086AF18C0F8F9890@CY4PR19MB0104.namprd19.prod.outlook.com> <CY4PR19MB0104A2C03F4D66A1DA251A23F9880@CY4PR19MB0104.namprd19.prod.outlook.com> <CY4PR19MB0104A2C03F4D66A1DA251A23F9880@CY4PR19MB0104.namprd19.prod.outlook.com> <CY4PR19MB0104E74C96FDA086AF18C0F8F9890@CY4PR19MB0104.namprd19.prod.outlook.com>

next in thread | previous in thread | raw e-mail | index | archive | help
 
 
 
 
>I applaud your determination, and I also think it's pretty perverse for
 
people in *what is a FreeBSD channel* to tell enthusiastic newcomers to
 
go away and use some other operating system.    That's really not helpful.
 

 
>Anyhow, my advice is that the best way to get to grips with the system
 
is to use it.    What I suggest is setting yourself a series of targets or
 
small projects which are in that sweet spot where you can already do
 
much of what is necessary, but there is an achievable step up.    Give
 
yourself some challenges, but not such huge ones that you get dispirited
 
and give up.
 

 
>A fairly simple project might be something like:
 

 
    >Configure a firewall and NAT gateway between your home LAN and the
 
   outside world.
 

 
>Most of the time this would be done by some off-the-shelf router device,
 
but out of the box FreeBSD has pretty much everything necessary.    To do
 
this you will need to:
 

 
  >    * research the firewall applications available on FreeBSD, and select
 
          one to use
 
      * specify suitable hardware and network infrastructure -- for a
 
          light-duty home LAN, you should be able to do this with fairly
 
          cheap kit, but you'll want something with more than one network
 
          interface.
 
      * understand the principles of TCP/IP networking and routing; what
 
          acronyms like TCP, UDP and ICMP mean; and what network ports are
 
          and how they are used to filter traffic
 
      * start learning how to use tools like tcpdump(8), ping(8) and mtr(8)
 
          to inspect network traffic and debug network problems
 

 
>That's just an idea off the top of my head; there are very many other
 
small projects you could set yourself that will exercise different areas
 
and teach you new things.
 

 
>One of the best ways you could contribute back while doing this is to
 
record your experiences as you're going along.    It can actually be
 
pretty suprising to see where exactly the uninitiated experience
 
difficulties, and knowing that means we can improve our documentation.
 
 

 

 
Great advice from all of you!!! I really feel like I'm getting started. I'll check out your instructions and see where I stand with my understanding of the OS. I have been wanting to learn networking but my asperations are very limited when I have only one NIC. In the future ill make the formatting of my messages correct as well. At least I'll try.  
 

 

 

 
 
 
 
 
>  
> On Jun 4, 2020 at 3:00 AM, Matthew Seaman  <matthew@freebsd.org>  wrote:
>  
>  
>  On 04/06/2020 09:13, Brandon helsley wrote:  >  I can set up a desktop environment that has all the programs I need,  >  so that's not the problem. It's that I want to progress past simple  >  editing of configuration files and minor system administration tasks  >  like the crontab. I want to try and stick with FreeBSD as my main and  >  probably mostly only OS. Meaning, I would like to skip the ubuntu  >  step. It seems as though the FreeBSD docs is the way to go. Just read  >  it over a few times, as well as the porters handbook. I'll get  >  straight to it so I can contribute to ports and docs, even if it  >  takes a couple years!!! I applaud your determination, and I also think it's pretty perverse for people in *what is a FreeBSD channel* to tell enthusiastic newcomers to go away and use some other operating system. That's really not helpful. Anyhow, my advice is that the best way to get to grips with the system is to use it. What I suggest is setting yourself a series of tar
gets or small projects which are in that sweet spot where you can already do much of what is necessary, but there is an achievable step up. Give yourself some challenges, but not such huge ones that you get dispirited and give up. A fairly simple project might be something like: Configure a firewall and NAT gateway between your home LAN and the outside world. Most of the time this would be done by some off-the-shelf router device, but out of the box FreeBSD has pretty much everything necessary. To do this you will need to: * research the firewall applications available on FreeBSD, and select one  to use * specify suitable hardware and network infrastructure -- for a light-duty home LAN, you should be able to do this with fairly cheap kit, but you'll want something with more than one network interface. * understand the principles of TCP/IP networking and routing; what acronyms like TCP, UDP and ICMP mean; and what network ports are and how they are used to filter traffic * start learn
ing how to use tools like tcpdump(8), ping(8) and mtr(8) to inspect network traffic and debug network problems That's just an idea off the top of my head; there are very many other small projects you could set yourself that will exercise different areas and teach you new things. One of the best ways you could contribute back while doing this is to record your experiences as you're going along. It can actually be pretty suprising to see where exactly the uninitiated experience difficulties, and knowing that means we can improve our documentation. Cheers, Matthew 
>  
     
From owner-freebsd-questions@freebsd.org  Thu Jun  4 09:16:33 2020
Return-Path: <owner-freebsd-questions@freebsd.org>
Delivered-To: freebsd-questions@mailman.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
 by mailman.nyi.freebsd.org (Postfix) with ESMTP id D7425331AED
 for <freebsd-questions@mailman.nyi.freebsd.org>;
 Thu,  4 Jun 2020 09:16:33 +0000 (UTC) (envelope-from
 4250.82.1d4c1000838a2c1.db1b4e4c46a1d9b08b0a15fab14ee98a@email-od.com)
Received: from s1-b0c6.socketlabs.email-od.com
 (s1-b0c6.socketlabs.email-od.com [142.0.176.198])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 49d0X04d38z4DRR
 for <freebsd-questions@freebsd.org>; Thu,  4 Jun 2020 09:16:32 +0000 (UTC)
 (envelope-from
 4250.82.1d4c1000838a2c1.db1b4e4c46a1d9b08b0a15fab14ee98a@email-od.com)
DKIM-Signature: v=1; a=rsa-sha256; d=email-od.com;i=@email-od.com;s=dkim;
 c=relaxed/relaxed; q=dns/txt; t=1591262193; x=1593854193;
 h=content-transfer-encoding:content-type:mime-version:references:in-reply-to:message-id:subject:cc:to:from:date:x-thread-info;
 bh=KR/KGSo9rntgP3uhgnuTIoYTumyjmokslkO9lsRQVhU=;
 b=P93EVAovu0Lb0et35Opgb6v+dPCQiC9puInjm15wzT5j00xVPa3c4PYy3bdLVoOKwj0SbXQ5aw9hCymWdFkX7O2I81iXp7AHfoa6SOGDwPiDJpjIqKPQ/tJkzCw0xLW5pz3q6dO5E7Ziks99jmZsxqg/TrvvGNuWzPUpbTZeHVQ=
X-Thread-Info: NDI1MC45Mi4xZDRjMTAwMDgzOGEyYzEuZnJlZWJzZC1xdWVzdGlvbnM9ZnJlZWJzZC5vcmc=
Received: from r1.sg.in.socketlabs.com (r1.sg.in.socketlabs.com
 [142.0.179.11]) by mxsg2.email-od.com
 with ESMTP(version=Tls12 cipher=Aes256 bits=256);
 Thu, 4 Jun 2020 05:16:25 -0400
Received: from smtp.lan.sohara.org (EMTPY [185.202.17.215]) by
 r1.sg.in.socketlabs.com
 with ESMTP(version=Tls12 cipher=Aes256 bits=256);
 Thu, 4 Jun 2020 05:16:24 -0400
Received: from [192.168.63.1] (helo=steve.lan.sohara.org)
 by smtp.lan.sohara.org with smtp (Exim 4.92.3 (FreeBSD))
 (envelope-from <steve@sohara.org>)
 id 1jglz4-000Hdc-UX; Thu, 04 Jun 2020 10:16:22 +0100
Date: Thu, 4 Jun 2020 10:16:22 +0100
From: Steve O'Hara-Smith <steve@sohara.org>
To: Ralf Mardorf <ralf.mardorf@rocketmail.com>
Cc: Ralf Mardorf via freebsd-questions <freebsd-questions@freebsd.org>
Subject: Re: Minimal skills
Message-Id: <20200604101622.a80ddad4340e19775abaa3a4@sohara.org>
In-Reply-To: <20200604105503.7c8b629b@archlinux>
References: <20200604082304.fe7d3d80.freebsd@edvax.de>
 <CY4PR19MB0104DD86F8FE6446AD1BF327F9890@CY4PR19MB0104.namprd19.prod.outlook.com>
 <CY4PR19MB0104A2C03F4D66A1DA251A23F9880@CY4PR19MB0104.namprd19.prod.outlook.com>
 <20200604005859.ca438474.freebsd@edvax.de>
 <CY4PR19MB0104C290121BF756D57B2DDBF9880@CY4PR19MB0104.namprd19.prod.outlook.com>
 <20200604020051.0c02472d.freebsd@edvax.de>
 <CY4PR19MB0104DD86F8FE6446AD1BF327F9890@CY4PR19MB0104.namprd19.prod.outlook.com>
 <CY4PR19MB010470EB8E75DF42106CDD1AF9890@CY4PR19MB0104.namprd19.prod.outlook.com>
 <20200604082304.fe7d3d80.freebsd@edvax.de>
 <CY4PR19MB0104D7FC1305DE6A99A8F0C4F9890@CY4PR19MB0104.namprd19.prod.outlook.com>
 <20200604105503.7c8b629b@archlinux>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; amd64-portbld-freebsd12.0)
X-Clacks-Overhead: "GNU Terry Pratchett"
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Rspamd-Queue-Id: 49d0X04d38z4DRR
X-Spamd-Bar: --
Authentication-Results: mx1.freebsd.org;
 dkim=pass header.d=email-od.com header.s=dkim header.b=P93EVAov;
 dmarc=none; spf=pass (mx1.freebsd.org: domain of
 4250.82.1d4c1000838a2c1.db1b4e4c46a1d9b08b0a15fab14ee98a@email-od.com
 designates 142.0.176.198 as permitted sender)
 smtp.mailfrom=4250.82.1d4c1000838a2c1.db1b4e4c46a1d9b08b0a15fab14ee98a@email-od.com
X-Spamd-Result: default: False [-2.54 / 15.00]; ARC_NA(0.00)[];
 NEURAL_HAM_MEDIUM(-0.99)[-0.994];
 R_DKIM_ALLOW(-0.20)[email-od.com:s=dkim]; FROM_HAS_DN(0.00)[];
 MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ip4:142.0.176.0/20];
 MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[sohara.org];
 NEURAL_HAM_LONG(-1.05)[-1.050]; RCVD_COUNT_THREE(0.00)[4];
 TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[];
 DKIM_TRACE(0.00)[email-od.com:+]; RCPT_COUNT_TWO(0.00)[2];
 RCVD_IN_DNSWL_NONE(0.00)[142.0.176.198:from];
 NEURAL_HAM_SHORT(-0.80)[-0.799];
 FREEMAIL_TO(0.00)[rocketmail.com];
 FORGED_SENDER(0.30)[steve@sohara.org,4250.82.1d4c1000838a2c1.db1b4e4c46a1d9b08b0a15fab14ee98a@email-od.com];
 MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[];
 ASN(0.00)[asn:7381, ipnet:142.0.176.0/22, country:US];
 FROM_NEQ_ENVFROM(0.00)[steve@sohara.org,4250.82.1d4c1000838a2c1.db1b4e4c46a1d9b08b0a15fab14ee98a@email-od.com];
 MID_RHS_MATCH_FROM(0.00)[]
X-BeenThere: freebsd-questions@freebsd.org
X-Mailman-Version: 2.1.33
Precedence: list
List-Id: User questions <freebsd-questions.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/freebsd-questions>, 
 <mailto:freebsd-questions-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-questions/>;
List-Post: <mailto:freebsd-questions@freebsd.org>
List-Help: <mailto:freebsd-questions-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/freebsd-questions>, 
 <mailto:freebsd-questions-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 04 Jun 2020 09:16:33 -0000

On Thu, 4 Jun 2020 10:55:03 +0200
Ralf Mardorf via freebsd-questions <freebsd-questions@freebsd.org> wrote:

> On Thu, 4 Jun 2020 02:25:30 -0600, Brandon helsley wrote:
> >First, before I try to understand that. What exactly is "writing shell
> >scripts" is this similar to editing resource script files like
> >.xinitrc or .xsession?
> 
> Those _are_ shell scripts.

	However they are typically very minimal shell scripts that just
launch a handful of programs and maybe set a variable or two.

	The various unix user shells embed quite powerful programming
languages, much of the system is based around small programs written in the
language supported by /bin/sh - these are also called shell scripts.

	All the documentation on that language is in the sh manpage (man
sh) as highly condensed reference documentation. There are many tutorials
on shell programming - the only thing to watch out for are Linux centred
ones that assume bash with all its extensions to the sh language.

	It is possible to write surprisingly sophisticated programs in
shell, it is not particularly wise to do so, the language is best suited to
short programs - often embedding pipelines to save typing (or forgetting
options) like this one I used to render troff files in book format:

#!/bin/sh

BOOK=$1
groff "$BOOK" | psbook -s4 | psnup -2 -m27 | lpr -C duplex:shortbind

	Usually scripts like this start life on the command line and get
put into a script file for safe keeping. I have a *lot* of them mostly
obsolete :)

-- 
Steve O'Hara-Smith <steve@sohara.org>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CY4PR19MB01040BA77657FD7AB1D0B1E9F9890>