• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Manually adding openjdk7

Scheduled Pinned Locked Moved General pfSense Questions
19 Posts 3 Posters 3.9k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T
    teslamad
    last edited by May 19, 2014, 2:11 PM

    Is this the only solution to install java on a Nano system? Modifying source code is not really a great option. This is not a single test deployment we're trying to do here.

    Andrew Robinson
    Cloud Infrastructure Engineer
    Cisco Systems, Inc

    1 Reply Last reply Reply Quote 0
    • J
      jimp Rebel Alliance Developer Netgate
      last edited by May 19, 2014, 2:20 PM

      Unless you have enough RAM to spare that you can increase the size of /tmp and /var, yes.

      Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

      Need help fast? Netgate Global Support!

      Do not Chat/PM for help!

      1 Reply Last reply Reply Quote 0
      • T
        teslamad
        last edited by Jun 19, 2014, 8:11 PM

        @jimp:

        There are ways around it, poke at the source code for gitsync on that older version for one method.

        I'm having trouble figuring this out. Can you give me a little more direction please. Source code is not very friendly to me.

        Thanks,
        Andrew

        Andrew Robinson
        Cloud Infrastructure Engineer
        Cisco Systems, Inc

        1 Reply Last reply Reply Quote 0
        • T
          teslamad
          last edited by Jun 20, 2014, 6:56 PM

          Looks like pkg_add already tries to use multiple locations.

          ENVIRONMENT
              The value of the PKG_PATH is used if a given package cannot be found.
              The environment variable should be a series of entries separated by
              colons.  Each entry consists of a directory name. The current directory
              may be indicated implicitly by an empty directory name, or explicitly by
              a single period.

          The environment variable PKG_DBDIR specifies an alternative location for
              the installed package database, default location is /var/db/pkg.

          The environment variables PKG_TMPDIR and TMPDIR, in that order, are taken
              to name temporary directories where pkg_add will attempt to create its
              staging area in.  If these variables are not present or if the directo-
              ries named lack sufficient space, then pkg_add will use the first of
              /var/tmp, /tmp or /usr/tmp with sufficient space.

          The environment variable PACKAGEROOT specifies an alternate location for
              pkg_add to fetch from.  The fetch URL is built using this environment
              variable and the automatic directory logic that pkg_add uses when the -r
              option is invoked. An example setting would be "ftp://ftp3.FreeBSD.org".

          The environment variable PACKAGESITE specifies an alternate location for
              pkg_add to fetch from.  This variable subverts the automatic directory
              logic that pkg_add uses when the -r option is invoked.  Thus it should be
              a complete URL to the remote package file(s).

          The environment variable PKGDIR specifies an alternative location to save
              downloaded packages to when -K option is used.

          FILES
              /var/tmp   Temporary directory for creating the staging area, if envi-
            ronmental variables PKG_TMPDIR or TMPDIR do not point to a
            suitable directory.
              /tmp   Next choice if /var/tmp does not exist or has insufficient
            space.
              /usr/tmp   Last choice if /var/tmp and /tmp are not suitable for creat-
            ing the staging area.
              /var/db/pkg  Default location of the installed package database.

          Andrew Robinson
          Cloud Infrastructure Engineer
          Cisco Systems, Inc

          1 Reply Last reply Reply Quote 0
          • T
            teslamad
            last edited by Jun 20, 2014, 7:01 PM

            Trying to figure out now how to change the size of tmp. Since I have been using the NanoBSD image for 4GB CF, doing the installation myself wasn't an option. Also, every time I have tried to do the install manually, it has failed somehow (and I'm no stranger to installing pfSense). Perhaps I can create a new tmpfs?

            Andrew Robinson
            Cloud Infrastructure Engineer
            Cisco Systems, Inc

            1 Reply Last reply Reply Quote 0
            • J
              jimp Rebel Alliance Developer Netgate
              last edited by Jun 23, 2014, 3:19 PM

              System > Advanced, Misc tab, at the bottom

              Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

              Need help fast? Netgate Global Support!

              Do not Chat/PM for help!

              1 Reply Last reply Reply Quote 0
              • T
                teslamad
                last edited by Jun 23, 2014, 8:41 PM

                Can that value be easily set/changed via the command line?

                Andrew Robinson
                Cloud Infrastructure Engineer
                Cisco Systems, Inc

                1 Reply Last reply Reply Quote 0
                • T
                  teslamad
                  last edited by Jun 23, 2014, 8:49 PM

                  Unfortunately this does not seem to work. I set /tmp to 100MB. pfSense is running the NanoBSD version (Obviously) on an Alix 2D3 which I believe only has 256MB of memory. I gave it 100MB as I figured this would be enough for a test (Openjdk7 is only about 55MB), but not enough to cause problems (just to try the download). It's still telling me the file system is full.

                  Andrew Robinson
                  Cloud Infrastructure Engineer
                  Cisco Systems, Inc

                  1 Reply Last reply Reply Quote 0
                  • J
                    jimp Rebel Alliance Developer Netgate
                    last edited by Jun 24, 2014, 5:24 PM

                    It would need to be much larger than that. ALIX wouldn't have enough RAM.

                    The technique used b the gitsync script may work (set fs to rw, then use /root/tmp/ for scratch space). It's lot harsher on the CF though.

                    I don't imagine you'll have tons of luck running anything Java on an ALIX though, you may want to reconsider how that platform is being put to use.

                    Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                    Need help fast? Netgate Global Support!

                    Do not Chat/PM for help!

                    1 Reply Last reply Reply Quote 0
                    • T
                      teslamad
                      last edited by Jun 26, 2014, 7:20 PM Jun 26, 2014, 7:13 PM

                      What version in the FTP site should I be using now for pfSense 2.1.4? I never know what to use… A few versions ago it was 8.1. Now there is 8.2, and I don't even see 8.3 anymore... Now 9.0... I hate all these different version jumps.

                      Is there a tale somewhere? For example:

                      2.0.1 = 8.1
                      2.1 = 8.2
                      2.1.4 = 9.0

                      Those are just examples. idk if those were even correct old versions. I'm so lost...

                      Is this the correct link right?

                      ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/

                      I ask because I also found this which contains 8.3, 8.4, 9.1, 9.2, Stable versions and current versions.......... SCREW IT

                      ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/

                      Andrew Robinson
                      Cloud Infrastructure Engineer
                      Cisco Systems, Inc

                      1 Reply Last reply Reply Quote 0
                      • J
                        jimp Rebel Alliance Developer Netgate
                        last edited by Jun 26, 2014, 7:15 PM

                        pfSense 2.1.x uses FreeBSD 8.3, which is no longer supported upstream by FreeBSD (but we maintain our own patches).

                        FreeBSD moved the 8.3 files to their ftp-archive server.

                        Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                        Need help fast? Netgate Global Support!

                        Do not Chat/PM for help!

                        1 Reply Last reply Reply Quote 0
                        • T
                          teslamad
                          last edited by Jun 26, 2014, 8:35 PM

                          Therefore I should be using the following correct?

                          ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.3-release/Latest/

                          I chose the link above as the archive server does not list 8.3

                          Andrew Robinson
                          Cloud Infrastructure Engineer
                          Cisco Systems, Inc

                          1 Reply Last reply Reply Quote 0
                          • T
                            teslamad
                            last edited by Jun 26, 2014, 8:59 PM Jun 26, 2014, 8:54 PM

                            Ok, little bit of progress (but nothing you probably don't already know)

                            I set the ram disks for /tmp and /var to their max and tried to do the download using the following:

                            /etc/rc.conf_mount_rw    # Set file system temporarily to read write
                            pkg_add -r -v ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.3-release/Latest/openjdk7.tbz    # Fetch openjdk7

                            I set -v so I could watch the process. Last time I tried withhout it and got a "Broken Pipe" error and didn't know what it meant. Watching it closely this time, I noticed it was successfully fetching the package. I was also simultaneously watching the RAM usage. Of course the RAM usage slowly climbed until it maxed out at 100% and crashed. ie "Broken Pipe" error.

                            Again, you probably knew all this was going to happen and warned me. I didn't understand how a package of only aprox 55MB could need so much space, but I guess during the staging process, it extracts, maybe duplicates… who knows. Anyways, I guess this confirms now for sure that I cannot use the /tmp /var RAM disks as a solution.

                            This means I must force pkg_add to use a different location. You keep telling me to use the gitsync code, but I don't know how to do that. I don't even know where to begin utilizing that source code to help me in this situation. My only next thought process was to either force pkg_add to use some other space via the environment variables, or do a custom install where I increase the size of /tmp at install.

                            As for the first method, I tried setting the environment variables TMPDIR and PKG_TMPDIR to point to somewhere else like /root or /mnt (USB drive) using the command below, but it made no change.

                            setenv "TMPDIR" "/mnt"
                            setenv "PKG_TMPDIR" "/mnt"

                            or

                            setenv "TMPDIR" "/root"
                            setenv "PKG_TMPDIR" "/root"

                            Can you please explain your previous suggestion in more detail, or give me some tips on this new potential solution I am trying.

                            I wish I didn't have to get JAVA running on ALIX, but it's for work and they're requesting it. Problem is, I have had it working in the past with an older (non nano) version of pfSense, so now they don't understand why all of a sudden I can't get it to work...

                            Thank you for your continued support

                            Andrew Robinson
                            Cloud Infrastructure Engineer
                            Cisco Systems, Inc

                            1 Reply Last reply Reply Quote 0
                            • T
                              teslamad
                              last edited by Jun 26, 2014, 9:42 PM

                              WOOOOOOOOOOOOOT finally got it!

                              So I must have had a typo the first go around. Here was the solution:

                              /etc/rc.conf_mount_rw    # Set file system temporarily to read write
                              setenv "TMPDIR" "/root"    # Set the environment variable so pkg_add uses a location with enough space
                              setenv "PKG_TMPDIR" "/root"    # Set the environment variable so pkg_add uses a location with enough space
                              pkg_add -r -v ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.3-release/Latest/openjdk7.tbz    # Fetch openjdk7
                              rehash    # Updates executables available in path
                              java -version    # Tests whether JAVA is working

                              Thank you all for your help

                              Andrew Robinson
                              Cloud Infrastructure Engineer
                              Cisco Systems, Inc

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                This community forum collects and processes your personal information.
                                consent.not_received