# Begiuiled Beginner full install



## JFAH (Aug 29, 2021)

Hi, I'm a N00B user, just trying to find out... I just installed full disk to UFS without any wi-fi or internet available, and I'm stuck.
1. how could I download necessary installation files on USB to feed to a permanently air-gapped system?
2. how can I get a clear output in sh of all installed files so far?
My installation does not include ports, I haven't checked if it has portsnap yet. It apparently doesn't even have 'man'.
3. what is the command for any funtional file browser utility in the free base install? I haven't checked commands at random yet, but the answer to #2 would solve this issue right away.


----------



## eternal_noob (Aug 29, 2021)

Hello and welcome to the forums.

First of all, as a beginner, i advise to not use ports but packages.
And secondly, read https://docs.freebsd.org/en/books/handbook/ports/#pkgng-intro



JFAH said:


> 1. how could I download necessary installation files on USB to feed to a permanently air-gapped system?


There is `pkg fetch`


JFAH said:


> 2. how can I get a clear output in sh of all installed files so far?


To list all installed packages, use `pkg info`. Don't know how to list all FILES.


JFAH said:


> what is the command for any funtional file browser utility in the free base install?


What do you mean by file browser in base install? What file are you looking for?


----------



## JFAH (Aug 29, 2021)

eternal_noob said:


> Hello and welcome to the forums.
> 
> First of all, as a beginner, i advise to not use ports but packages.
> And secondly, read https://docs.freebsd.org/en/books/handbook/ports/#pkgng-intro
> ...


as for file manager there are a number of possible options, albeit from either linux or unix environments. Is there a 'terminal' means to view installed files? like mc... I realize I might have blocked installation of base-necessary files by having NO internet connection at the time of install.
I believe I mentioned having 'man' rejected as a command. I have not yet tried to 'fetch', yet that would be pointless on an air-gapped system. Is there a way to 'fetch' objects by https download on a google android device, then point the installation to a USB/SD card download as the 'Source'?


----------



## JFAH (Aug 29, 2021)

eternal_noob said:


> Hello and welcome to the forums.
> 
> First of all, as a beginner, i advise to not use ports but packages.
> And secondly, read https://docs.freebsd.org/en/books/handbook/ports/#pkgng-intro
> ...


I am sorry, I may have not explained the FULL depth of my issues with an air-gapped system. I connect to internet primarily through a google android device, which I hate for what its worth...
How to download Open Source BSD files to USB and then install by pointing installation to USB saved files ...make...install...clean.???


----------



## mer (Aug 29, 2021)

pkg fetch on a different system then USB to air gapped one.


----------



## JFAH (Aug 29, 2021)

Ok how do I pkg fetch on google android? Termux? Limbo? By the way I NEED sourcecode not binaries... ummm... binaries used to install to an ARM system never work when transferred to a AMD 350 cpu device...


----------



## Deleted member 30996 (Aug 30, 2021)

JFAH said:


> what is the command for any funtional file browser utility in the free base install?


There is no file manager included in the base system, not even misc/mc. 
You can use Easy Editor from the terminal with `ee`.

I had you in mind when I wrote this:








						Beginners Guide - How To Set Up A FreeBSD Desktop From Scratch
					

I'm going to guide you though the process of getting a fully functional FreeBSD 13.0-RELEASE desktop up and running, complete with system files and security settings, step-by-step as if you've never used UNIX or the command line. Now let's get started:  Insert your boot media and at the Welcome...




					forums.freebsd.org


----------



## grahamperrin@ (Aug 30, 2021)

JFAH said:


> … permanently air-gapped …



If you need – from the outset – things that are not integral to FreeBSD, you can aim for things such as:

GhostBSD, which installs an excellent live system – NB <https://forums.FreeBSD.org/threads/66877/post-528347> _The switch to FreeBSD rc.d is coming_
experimental images with KDE Plasma, such as those produced by Samuel Venable e.g. <https://forums.freebsd.org/threads/81030/> and christhegeek e.g. <https://forums.FreeBSD.org/threads/81709/post-529374>



JFAH said:


> … a 'terminal' means to view installed files? like mc …



If we ignore the air gap: misc/mc is packaged; sysutils/py-ranger might be the only option if you want Miller columns.

From <https://klarasystems.com/articles/building-customized-freebsd-images/> (undated), with added emphasis:



> … poudriere(8) … is capable of more than just packages, including building the FreeBSD base system, and even *generating FreeBSD images*! …



– interesting (I have not tried it), and poudriere is reasonably simple, however it's probably being thrown in at the deep end for a newcomer to FreeBSD.

Shallow end: welcome to FreeBSD!

Postscript



JFAH said:


> … NEED sourcecode not binaries. …



Sorry, I missed that. It might negate most of what I suggested.

What architecture/platform is the air gapped system?









						Platforms
					

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms.




					www.freebsd.org
				




I don't know enough about AMD to guess, and (unless I'm missing something) at a glance, <https://www.google.com/search?q="AMD+350"&tbs=li:1#unfucked> doesn't tell me.


----------



## Argentum (Aug 30, 2021)

grahamperrin said:


> If you need – from the outset – things that are not integral to FreeBSD, you can aim for things such as:
> 
> GhostBSD, which installs an excellent live system – NB <https://forums.FreeBSD.org/threads/66877/post-528347> _The switch to FreeBSD rc.d is coming_


NomadBSD is another alternative.


----------



## grahamperrin@ (Aug 30, 2021)

Argentum said:


> NomadBSD is another alternative.



True, it's also excellent (in different ways), however – my postscript re: architecture(s) – I'm not sure whether either system will suit what's required for building from source.

Bearing in mind, /usr/ports includes Makefiles but not source code for what's to be made …

<http://distcache.freebsd.org/ports-distfiles/> includes files, however the directory listing is (understandably) _403 Forbidden_.


----------



## ondra_knezour (Aug 30, 2021)

The `make fetch-recursive-list` command shall display all files downloaded with `make fetch-recursive`, which would download all files for given port and dependencies, see ports(7). This work in any port's directory and may or may not work in /usr/ports. I don't have any system with ports installed on hand right now to try it, sorry


----------



## T-Daemon (Aug 31, 2021)

JFAH said:


> I connect to internet primarily through a google android device, ...


Doesn't that "google android device" has USB tethering?

If it does connect the device to the FreeBSD system and activate USB tethering on Android. A ue0 device interface should be created automatic, execute dmesg(8) to check. Continue with  12.5.2. Configuring the Network Card.


----------



## JFAH (Sep 6, 2021)

ondra_knezour said:


> The `make fetch-recursive-list` command shall display all files downloaded with `make fetch-recursive`, which would download all files for given port and dependencies, see ports(7). This work in any port's directory and may or may not work in /usr/ports. I don't have any system with ports installed on hand right now to try it, sorry


"make fetch-recursive-list" tells me "make warning: /usr/obj/: Read-Only file system." 
I know I'm rip-van-winkle'ing this thread here, but I can't do much with this until a holiday (Labor Day).


----------



## JFAH (Sep 6, 2021)

JFAH said:


> Hi, I'm a N00B user, just trying to find out... I just installed full disk to UFS without any wi-fi or internet available, and I'm stuck.
> 1. how could I download necessary installation files on USB to feed to a permanently air-gapped system?
> 2. how can I get a clear output in sh of all installed files so far?
> My installation does not include ports, I haven't checked if it has portsnap yet. It apparently doesn't even have 'man'.
> 3. what is the command for any funtional file browser utility in the free base install? I haven't checked commands at random yet, but the answer to #2 would solve this issue right away.


I know my own posts here are sparse, sorry. Thanks to ALL of you for your helpful replies. I've tried posting questions on a linux distro board once, with no reply in years... Trisquel users apparently weren't interested in telling me I was off-topic or whatever. Thanks.
UPDATE:
this base install has portsnap, fetch, ee, and make. However no ports, pkg, vim, mc, ranger or poudriere, as mentioned elsewhere in this thread.


----------



## ondra_knezour (Sep 7, 2021)

That make command is supposed to be run in the /usr/ports directory. 
So `portsnap fetch extract` to download end extract ports tree (I did not use it in years, so I just hope it still works this way)
`cd /usr/ports`
`make fetch-recursive-list`


----------



## astyle (Sep 7, 2021)

Sounds like OP is using an Android phone to tether a machine to Internet. For starters, this is an incredibly awkward way of doing things. But even then, the important part is *setting up the phone* to reliably tether the machine to Internet, and the rest - just standard FreeBSD advice.

For OP's case it seems to be boiling down to doing some good planning on exactly when and for how long to use the phone as a temporary Internet tether (for downloading the necessary stuff). `# pkg fetch` requires a connection, so do ports. If you have an air-gapped system, and anything at all is missing, installing the missing components becomes awkward. I would know, I've been through that, when closer to 2000, the Internet connection was considered (not by me, though) an 'un-affordable luxury' in my home, instead of a utility on par with water and electricity. I liked Linux back then, but finding RPM packages for it involved first finding a place with an Internet connection, then downloading RPM files using available Windows machines, saving those files to a USB stick, coming home, trying to install the bespoke RPM's, only to discover that something else is missing, and I have to repeat that trip outside.

For the base system - unless OP used bootonly.iso to get started, the base system definitely includes `man`, `ls`, and `cd` - userland utilities to browse the filesystem and study the manuals. Oh, and base system definitely includes pkg(8). So, for OP, I'd recommend finding a good book on UNIX for beginners, and to get comfortable using command line.


----------



## tingo (Sep 10, 2021)

Phone tethering is a convenient way of getting a machine onto the 'net for say, a FreeBSD installation if network interfaces on the machine being installed are not being recognized during install. I highly recommend it! But as astyle writes: you should have tried this before so you know how to do this, know what the network interface from the phone will be named and so on.


----------



## Erichans (Sep 10, 2021)

astyle said:


> Sounds like OP is using an Android phone to tether a machine to Internet.
> [...]
> Oh, and base system definitely includes pkg(8).



pkg(7):


> To avoid backwards incompatibility issues, the actual pkg(8) tool is not installed in the base system.  The	first time invoked, pkg will bootstrap the real pkg(8) from a remote repository.


----------



## Deleted member 30996 (Sep 10, 2021)

ondra_knezour said:


> That make command is supposed to be run in the /usr/ports directory.
> So `portsnap fetch extract` to download end extract ports tree (I did not use it in years, so I just hope it still works this way)
> `cd /usr/ports`
> `make fetch-recursive-list`


This is how I do it if I'm going to downoad a snapshot of the ports tree the first time and install rkunter:

```
root@bakemono:~ # portsnap fetch extract
root@bakemono:~ # cd /usr/ports/security/rkhunter
root@bakemono:/usr/ports/security/rkhunter # make install clean
```


----------



## Argentum (Sep 10, 2021)

ondra_knezour said:


> That make command is supposed to be run in the /usr/ports directory.
> So `portsnap fetch extract` to download end extract ports tree (I did not use it in years, so I just hope it still works this way)


Or use `gitup ports`. See gitup(1). Gitup should be installed before that, of course.

And /usr/local/etc/gitup.conf changed.


```
"defaults" : {
                "host"           : "git.freebsd.org",
                "port"           : 443,
                "verbosity"      : 1,
                "work_directory" : "/var/db/gitup",
        },

        "ports" : {
                "repository" : "/ports.git",
                "branch"     : "main",
                "target"     : "/usr/ports",
                "ignores"    : [
                        "distfiles",
                        "packages",
                ],
        },
```


----------



## grahamperrin@ (Sep 11, 2021)

Argentum said:


> … /usr/local/etc/gitup.conf changed.



Please, why do you suggest those changes?

Compare with the sample file:


```
% cat /usr/local/etc/gitup.conf.sample
# $FreeBSD$
#
# Default configuration options for gitup.conf.
{
        "defaults" : {
                "host"           : "git.freebsd.org",
                "port"           : 443,
#               "proxy_host"     : "",
#               "proxy_port"     : 0,
#               "proxy_username" : "",
#               "proxy_password" : "",
#               "source_address" : "",
                "low_memory"     : false,
                "display_depth"  : 0,
                "verbosity"      : 1,
                "work_directory" : "/var/db/gitup",
        },

        "ports" : {
                "repository_path"  : "/ports.git",
                "branch"           : "main",
                "target_directory" : "/usr/ports",
                "ignores"          : [
                        "distfiles",
                        "packages",
                        "INDEX-11",
                        "INDEX-12",
                        "INDEX-13",
                        "INDEX-14",
                ],
        },

        "quarterly" : {
                "repository_path"  : "/ports.git",
                "branch"           : "quarterly",
                "target_directory" : "/usr/ports",
                "ignores"          : [
                        "distfiles",
                        "packages",
                        "INDEX-11",
                        "INDEX-12",
                        "INDEX-13",
                        "INDEX-14",
                ]
        },

        "release" : {
                "repository_path"  : "/src.git",
                "branch"           : "releng/11.4",
                "target_directory" : "/usr/src",
                "ignores"          : [
                        "sys/amd64/conf",
                        "sys/arm64/conf",
                        "sys/i386/conf",
                        "sys/pc98/conf",
                        "sys/powerpc/conf",
                        "sys/riscv/conf",
                        "sys/sparc64/conf",
                ]
        },

        "stable" : {
                "repository_path"  : "/src.git",
                "branch"           : "stable/12",
                "target_directory" : "/usr/src",
                "ignores"          : [
                        "sys/amd64/conf",
                        "sys/arm64/conf",
                        "sys/i386/conf",
                        "sys/pc98/conf",
                        "sys/powerpc/conf",
                        "sys/riscv/conf",
                        "sys/sparc64/conf",
                ]
        },

        "current" : {
                "repository_path"  : "/src.git",
                "branch"           : "main",
                "target_directory" : "/usr/src",
                "ignores"          : [
                        "sys/amd64/conf",
                        "sys/arm64/conf",
                        "sys/i386/conf",
                        "sys/pc98/conf",
                        "sys/powerpc/conf",
                        "sys/riscv/conf",
                        "sys/sparc64/conf",
                ]
        }
}
%
```


----------



## Argentum (Sep 11, 2021)

grahamperrin said:


> Please, why do you suggest those changes?
> 
> Compare with the sample file:
> 
> ...


I think I had an early version and then I did the manual changes to get it working. In the original install the server was not *git.freebsd.org*


----------

