1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

How to install PostgreSQL 9.3 in FreeBSD jail?

Discussion in 'Installation and Maintenance of Ports or Packages' started by eonil, Oct 7, 2013.

  1. eonil

    eonil New Member

    Messages:
    16
    Thanks Received:
    0
    Hello. I am newbie on this forum. I am not sure that I can ask a question like this, but if this doesn't fit here, please let me know, then I will handle it.

    I was trying to configure a PostgreSQL server in a jail. I configured virtual NICs using PF, and a jail for FreeBSD using qjail create pgsql-jail 192.168.0.3.

    When I tried to install PostgreSQL 9.3 using port collection, it shows strange message at first.

    Code:
    pgsql-jail /usr/ports/databases/postgresql93-server >make install
    ===> Building/installing dialog4ports as it is required for the config dialog
    ===>  Cleaning for dialog4ports-0.1.5_1
    ===> Skipping 'config' as NO_DIALOG is defined
    ====> You must select one and only one option from the KRB5 single
    *** [check-config] Error code 1
    
    Stop in /basejail/usr/ports/ports-mgmt/dialog4ports.
    *** [install] Error code 1
    
    Stop in /basejail/usr/ports/ports-mgmt/dialog4ports.
    ===> Options unchanged
    => postgresql-9.3.0.tar.bz2 doesn't seem to exist in /var/ports/distfiles/postgresql.
    => Attempting to fetch ftp://ftp.se.postgresql.org/pub/dat...gresql/source/v9.3.0/postgresql-9.3.0.tar.bz2
    postgresql-9.3.0.tar.bz2                        1% of   16 MB   71 kBps



    Anyway, installation continues, so I waited. I chose all default options for all option dialogs. And at the end of the process, I saw it finally failed with this message.

    Code:
    ====> Compressing man pages
    ===>  Building package for pkgconf-0.9.3
    Creating package /basejail/usr/ports/devel/pkgconf/pkgconf-0.9.3.tbz
    Registering depends:.
    Registering conflicts: pkg-config-*.
    Creating bzip'd tar ball in '/basejail/usr/ports/devel/pkgconf/pkgconf-0.9.3.tbz'
    tar: Failed to open '/basejail/usr/ports/devel/pkgconf/pkgconf-0.9.3.tbz'
    pkg_create: make_dist: tar command failed with code 256
    *** [do-package] Error code 1
    
    Stop in /basejail/usr/ports/devel/pkgconf.
    *** [build-depends] Error code 1
    
    Stop in /basejail/usr/ports/textproc/libxml2.
    *** [install] Error code 1
    
    Stop in /basejail/usr/ports/textproc/libxml2.
    *** [lib-depends] Error code 1
    
    Stop in /basejail/usr/ports/databases/postgresql93-server.
    *** [install] Error code 1
    
    Stop in /basejail/usr/ports/databases/postgresql93-server.



    I have no idea why this fails. Errors at beginning seems I have something wrong with dialog4ports. And errors at last seems installer cannot write to ports file tree. AFAIK, the ports files are read-only shared from host system.

    What's wrong with my jail? How can install PostgreSQL 9.3 in my jail?


    P.S. I cross-posted this question to http://unix.stackexchange.com/questions/93946/how-to-install-postgresql-9-3-in-freebsd-jail I hope cross-posting is not a violation manner in this forum...
     
  2. neolix

    neolix New Member

    Messages:
    27
    Thanks Received:
    0
    This is an issue to do with a change in how the port system handles the install target. You have two choices:
    1. Update qjail if there is a newer version or wait until the maintainer creates a fix. You could also email them to let them know.
    2. As a temporary measure, execute mkdir -p /var/ports/packages in the jail, and then attempt to install PostgreSQL.
     
  3. eonil

    eonil New Member

    Messages:
    16
    Thanks Received:
    0
    Unfortunately, I couldn't find regular way to contact the author... The sourceforge forum/mailing list was empty.
     
  4. ShelLuser

    ShelLuser Active Member

    Messages:
    1,059
    Thanks Received:
    266
    Now, I have no experience with qjail at all, but it looks to me as if those commands are not running in a jail but more so on the host system, which could explain a thing or two.

    If this is a regular jail I'd use jls to check its details and then jexec to run a command inside that jail, a shell for example. Then you should be able to install those ports in the same way you'd install a port on any other FreeBSD system.
     
  5. neolix

    neolix New Member

    Messages:
    27
    Thanks Received:
    0
    @@eonil, did you attempt the second option, creating the /var/ports/packages directory in the jail and then running make install again?
     
    Last edited by a moderator: Oct 16, 2014
  6. eonil

    eonil New Member

    Messages:
    16
    Thanks Received:
    0
    Last edited by a moderator: Oct 16, 2014