#mounting

opensciencedaily@diasp.org

Trump steel tariffs remain in effect indefinitely


Former President Donald Trump issued an order in March 2018 to impose a 25% global tariff on imported steel and 10% on aluminum, and after almost four years, there is no end in sight for these import taxes. The Section 232 order aimed to increase domestic steel production and address excess steel capacity that has…
https://www.solarpowerworldonline.com/2022/01/trump-steel-tariffs-remain-in-effect-indefinitely/
#racking, #mounting, #components, #news, #policy


opensciencedaily@diasp.org

Standard Solar developing 21 solar canopies for Southern California school district


The Long Beach Unified School District (LBUSD) in Southern California is taking a meaningful step in achieving its sustainability goals by adding solar canopies at 21 of its schools. Standard Solar is funding and will own and operate the portfolio of more than 4 MW of solar canopy systems. The project was developed in partnership…
https://www.solarpowerworldonline.com/2021/05/standard-solar-developing-solar-canopies-for-southern-california-school-district/
#projects, #news, #markets, #racking, #standardsolar, #mounting, #carports, #components


opensciencedaily@diasp.org

Array Technologies supplying trackers for potentially 4-GW solar project portfolio


Array Technologies has been awarded a contract for up to 4 GW of solar trackers from Primoris Services Corporation, a specialty contracting services provider that also provides solar installation through its renewable energy subsidiary. “Primoris Renewable Energy is one of the top solar contractors in the U.S., and we are pleased to expand our relationship…
https://www.solarpowerworldonline.com/2021/04/array-technologies-supplying-trackers-for-solar-project-portfolio/
#racking, #mounting, #projects, #tracking, #markets, #components, #news, #commercial


mischerh@pluspora.com

automount CIFS share with autofs

This HowTo will prepare a Linux client to automatically mount CIFS shares from a remote Samba server on access/demand. Since I am mounting different filesystems, I have structured my mountpoints as follows:

<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-linenumbers="false" data-enlighter-theme="enlighter">/
├── home
│   ├── USER
│   │   ├── mnt
│   │   │   ├── cifs
│   │   │   │   ├── smb-server-a.fqdn
│   │   │   │   │   ├── share-a
│   │   │   │   │   ├── share-b
│   │   │   │   │   └── share-c
│   │   │   │   ├── smb-server-b.fqdn
│   │   │   │   │   ├── share-b
│   │   │   │   │   ├── share-b
│   │   │   │   │   └── share-c
│   │   │   ├── sshfs
│   │   │   │   ├── ssh-server-a.fqdn

From here on, I will use “mysambaserver.local” as the Samba servers FQDN, “mysambaserver” as its hostname, “myusername” as my username, “mygroup” as group and “myPassWord” as the password.

At time of writing, the server is running Ubuntu 18.04.4 LTS and the client is running Ubuntu 20.04.1 LTS.

This HowTo got compiled by trial and error and from these sources:

Install Required packages, check supported filesystems

Install the required packages on the client (gigolo is just “nice to have”) and check if its kernel supports CIFS.

<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">apt-get install autofs cifs-utils smbclient gigolo gvfs-backends gvfs-fuse fuse
ls -1 /lib/modules/$(uname -r)/kernel/fs | grep "cifs"
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-linenumbers="false" data-enlighter-theme="enlighter">cifs

Check remote SAMBA connection

Check remote connection to the Samba server:

<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">smbclient -N -L //<mysambaserver.local>/
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-linenumbers="false" data-enlighter-theme="enlighter"> 

        Sharename       Type      Comment

        ---------       ----      -------

        share-a         Disk      Share A

        share-b         Disk      Share B

        share-c         Disk      Share C

        IPC$            IPC       IPC Service (mysambaserver server (Samba, Ubuntu))

SMB1 disabled -- no workgroup available

Check authenticated login

Check an authenticated remote login. If the command line asks for a password, enter the SMB password which is configured for the user at the Samba server (via smbpasswd).

<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">smbclient -U <myusername> -L //<mysambaserver.local>/
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-linenumbers="false" data-enlighter-theme="enlighter">Enter WORKGROUP\myusername's password: [myPassWord] <--- enter the password


        Sharename       Type      Comment

        ---------       ----      -------

        share-a         Disk      Share A

        share-b         Disk      Share B

        share-c         Disk      Share C

        IPC$            IPC       IPC Service (mysambaserver server (Samba, Ubuntu))

SMB1 disabled -- no workgroup available

Create mount point

Create the mount point in the users home directory:

<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">mkdir -pv /home/<myusername>/mnt/cifs
chown -R <myusername>:<mygroup> /home/<myusername>/mnt/

autofs configuration

The configuration consists of the master map file (/etc/auto.master), the corresponding map file (/etc/auto.mysambaserver-cifs) and the key file which contains the credentials for authentication.

In the following we will configure autofs to mount shares to /home/<myusername>/mnt/cifs/<mysambaserver.local>/<share-name>.

Map file

Create the mapfile

<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">vim /etc/auto.<mysambaserver>-cifs
<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-theme="enlighter">#!/bin/bash
# $Id$
# This file must be executable to work! chmod 755!
set -x
KEY="${1}"
# Note: create a cred file for each windows/Samba-Server in your network
#       which requires password authentification.  The file should contain
#       exactly two lines:
#          username=user
#          password=*****
#       Please don't use blank spaces to separate the equal sign from the
#       user account name or password.
CREDFILE="/etc/autofs/keys/${KEY}"
# # !!!!!!!!!!!!!!!!! PAY ATTENTION TO the CIFS VERSION in MOUNTOPTS !!!!!!!!!!!!!!!!!!!!!!!!!!!
# https://www.raspberrypi.org/forums/viewtopic.php?t=201727 # https://www.raspberrypi.org/forums/viewtopic.php?t=211987
# http://krisko210.blogspot.com/2016/06/autofs-automount-nfs-share.html
# Note: Use cifs instead of smbfs:
MOUNTOPTS="-fstype=cifs,file_mode=0644,dir_mode=0755,nounix,uid=1000,gid=1000"
SMBCLIENTOPTS=""
for EACH in /bin /sbin /usr/bin /usr/sbin
do
        if [ -x $EACH/smbclient ]
        then
                SMBCLIENT=$EACH/smbclient
                break
        fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "${CREDFILE}" ]
then
        MOUNTOPTS=$MOUNTOPTS",credentials=${CREDFILE}"
        SMBCLIENTOPTS="-A "$CREDFILE
else
        SMBCLIENTOPTS="-N"
fi
$SMBCLIENT $SMBCLIENTOPTS -gL "${KEY}" 2>/dev/null \
   | awk -v key="$KEY" -v opts="${MOUNTOPTS}" -F'|' -- '
        BEGIN   { ORS=""; first=1 }
        /Disk/  { if (first) { print opts; first=0 };
                  gsub(/ /, "\\ ", $2);
                  sub(/\$/, "\\$", $2);
                  print " \\\n\t /" $2, "://" key "/" $2 }
        END     { if (!first) print "\n"; else exit 1 }
        '
<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">chmod 755 /etc/auto.<mysambaserver>-cifs

This file is a slightly modified version of the file auto.smb which usually comes as part of the autofs package. You need to modify the line defining the mountopts above and change userid and groupid to the uid/gid of your personal account.

key file

Now you have to give autofs the credentials needed to access shares on your network. To do this create a key file

<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">mkdir -pv /etc/autofs/keys/
vim /etc/autofs/keys/<mysambaserver.local>
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="enlighter">username=<myusername>
password=<myPassWord>
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-linenumbers="false">chown root:root /etc/autofs/keys/<mysambaserver.local>
chmod 600 /etc/autofs/keys/<mysambaserver.local>

Master-Map

The maps to be monitored are specified in this file.

Execute the following command to append the line “/home/myusername/mnt/cifs /etc/auto.mysambaserver-cifs –timeout=60” at the end of the /etc/auto.master file:

<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">echo "/home/<myusername>/mnt/cifs /etc/auto.<mysamabaserver>-cifs --timeout=60 --ghost" >>/etc/auto.master

The syntax here is: <Directory> <Map-File> [Parameter]

The shares should be unmounted after an inactivity of 60 seconds (–timeout=60) and empty directories should be created for the individual shares before mounting (–ghost).

Debugging

for debugging output stop the daemon and interactively start autofs with verbose output enabled

<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">service autofs stop
automount -f -v

You can restart autofs with

<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">service autofs start

Test

Use the following command to test if your setup is working

<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-linenumbers="false">ls -als /home/<myusername>/mnt/cifs/<mysambaserver.fqdn>/<share-name>

#autofs #cifs #filesystem #howto #linux #mount #mounting #samba #smb #ubuntu

Originally posted at: https://www.nanoscopic.de/2020/09/automount-cifs-share-with-autofs/