From owner-freebsd-questions@freebsd.org Wed Feb 1 20:16:43 2017 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AF195CCC3F2 for ; Wed, 1 Feb 2017 20:16:43 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mailrelay11.qsc.de (mailrelay11.qsc.de [212.99.187.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.antispameurope.com", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2F5DC13A for ; Wed, 1 Feb 2017 20:16:42 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mx01.qsc.de ([213.148.129.14]) by mailrelay11.qsc.de; Wed, 01 Feb 2017 21:19:19 +0100 Received: from r56.edvax.de (port-92-195-126-61.dynamic.qsc.de [92.195.126.61]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx01.qsc.de (Postfix) with ESMTPS id 443323CBF9; Wed, 1 Feb 2017 21:16:32 +0100 (CET) Received: from r56.edvax.de (localhost [127.0.0.1]) by r56.edvax.de (8.14.5/8.14.5) with SMTP id v11KGVRB003552; Wed, 1 Feb 2017 21:16:31 +0100 (CET) (envelope-from freebsd@edvax.de) Date: Wed, 1 Feb 2017 21:16:31 +0100 From: Polytropon To: byrnejb@harte-lyne.ca Cc: freebsd-questions@freebsd.org Subject: Re: Variable assignment in sh Message-Id: <20170201211631.a65c3b9b.freebsd@edvax.de> In-Reply-To: <84861d4906923faec222f96580833c2f.squirrel@webmail.harte-lyne.ca> References: <20170131161824.a9f1ef46.freebsd@edvax.de> <20170131185103.7f911dfb.freebsd@edvax.de> <5f51e2c3bdb8a20c6a7786c2b345c957.squirrel@webmail.harte-lyne.ca> <20170131200143.00c5e5da.freebsd@edvax.de> <84861d4906923faec222f96580833c2f.squirrel@webmail.harte-lyne.ca> Reply-To: Polytropon Organization: EDVAX X-Mailer: Sylpheed 3.1.1 (GTK+ 2.24.5; i386-portbld-freebsd8.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-cloud-security-sender: freebsd@edvax.de X-cloud-security-recipient: freebsd-questions@freebsd.org X-cloud-security-Virusscan: CLEAN X-cloud-security-disclaimer: This E-Mail was scanned by E-Mailservice on mailrelay11.qsc.de with BB0C76A355A X-cloud-security-connect: mx01.qsc.de[213.148.129.14], TLS=1, IP=213.148.129.14 X-cloud-security: scantime:.2111 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2017 20:16:43 -0000 On Wed, 1 Feb 2017 14:59:29 -0500, James B. Byrne wrote: > > On Tue, January 31, 2017 14:01, Polytropon wrote: > > I know, those are very special cases, and if your goal is not > > portability and "guaranteed availability", then it won't hit you. > > I just thought it's worth being mentioned. > > Thank you. I have found your explanation of what goes on under the > covers very interesting. In this case I am dealing with a zfs system > so if /usr is not there then neither is /bin. That depends on your actual partitioning. Commonly / contains /bin (but ZFS layout can easily differ from that concept). On the / partition, you'll find everything to successfully boot the system into single user mode (sometimes called "maintenance mode" or "emergency mode"), which is a state where only / is mounted read-only and a shell is presented. Historically, the different partitions resided on different physical disks (due to size limitation), which today doesn't apply anymore. However, ZFS allows you to manage system disk content as "fine grained" as you like, for example different ZFS partitions for /usr/src and /usr/ports and /usr/local are possible. That /usr/local is the place where 3rd party software (binaries and libraries) are stored to per default, and if that partition cannot be mounted (be it /usr or /usr/local), bash won't be available. A typical "functional partitioning" approach for UFS consists of partitions for / (which includes /bin), /tmp, /var, /usr, and /home. ZFS allows you to be much more precise, and you can also apply different additions like compression depending on the use of "sub-partitions" as mentioned above. In a worst case scenario, rely on what the system provides, and don't try to override those defaults without good reasons and sufficient precaution (like a statically linked /bin/bash for example). There is almost nothing worse than a system that successfully boots into single user mode, but then surprisingly cannot start a shell... ;-) -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...