Begiuiled Beginner full install

JFAH

New Member

Reaction score: 6
Messages: 18

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

Aspiring Daemon

Reaction score: 515
Messages: 745

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

1. how could I download necessary installation files on USB to feed to a permanently air-gapped system?
There is pkg fetch
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.
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?
 
OP
J

JFAH

New Member

Reaction score: 6
Messages: 18

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


There is pkg fetch

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

What do you mean by file browser in base install? What file are you looking for?
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'?
 
OP
J

JFAH

New Member

Reaction score: 6
Messages: 18

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


There is pkg fetch

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

What do you mean by file browser in base install? What file are you looking for?
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

Aspiring Daemon

Reaction score: 334
Messages: 547

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

JFAH

New Member

Reaction score: 6
Messages: 18

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...
 

Trihexagonal

Son of Beastie

Reaction score: 2,424
Messages: 2,946

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:
 

grahamperrin

Daemon

Reaction score: 680
Messages: 2,170

… permanently air-gapped …

If you need – from the outset – things that are not integral to FreeBSD, you can aim for things such as:
… 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

… NEED sourcecode not binaries. …

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

What architecture/platform is the air gapped system?


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.
 

grahamperrin

Daemon

Reaction score: 680
Messages: 2,170

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

Aspiring Daemon

Reaction score: 229
Messages: 806

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 :)
 
OP
J

JFAH

New Member

Reaction score: 6
Messages: 18

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).
 
OP
J

JFAH

New Member

Reaction score: 6
Messages: 18

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

Aspiring Daemon

Reaction score: 229
Messages: 806

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

Daemon

Reaction score: 480
Messages: 1,110

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

Son of Beastie

Reaction score: 638
Messages: 2,543

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.
 

Trihexagonal

Son of Beastie

Reaction score: 2,424
Messages: 2,946

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:
Code:
root@bakemono:~ # portsnap fetch extract
root@bakemono:~ # cd /usr/ports/security/rkhunter
root@bakemono:/usr/ports/security/rkhunter # make install clean
 

Argentum

Aspiring Daemon

Reaction score: 289
Messages: 608

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.

Code:
        "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

Daemon

Reaction score: 680
Messages: 2,170

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

Please, why do you suggest those changes?

Compare with the sample file:

Code:
% 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

Aspiring Daemon

Reaction score: 289
Messages: 608

Please, why do you suggest those changes?

Compare with the sample file:

Code:
% 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",
                ]
        }
}
%
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
 
Top