Freebsd Install Package
- Freebsd Install Package In Jail
- Freebsd Pkg Remove
- Install Freebsd Packages Pfsense
- Freebsd Install Package From Ports
- Freebsd Install Ports
- Freebsd Package List
Installation of XFCE. Then run the following command to install desktop manager Slim. FreeBSD repository is up-to-date. All repositories are up-to-date. The following 1 package (s) will be affected (of 0 checked): New packages to be INSTALLED: slim: 1.3.612 Number of packages to be installed: 1 280 KiB to be downloaded.
- A FreeBSD PC which is connected to internet, the architecture must match that of the target where you want to install the packages. Pkg installed on this internet machine running FreeBSD. Root privileges on this machine A storage medium to transfer packages from this machine to another.
- Installing packages from FreeBSD is technically possible, but not recommended due to potential dependency problems. Passing the full URL to a package using pkg add will work, but care is needed to avoid future problems.
I am trying to learn FreeBSD and have been trying to install xorg-minimal, gedit and libreoffice offline for a couple of weeks now (read manual) and just keep going around in circles. It is a new install of FreeBSD 10. Is there anyone here who will take the time to help and go through the basics for me?
I have saved xorg-minimal-7.5.2.tbz and gedit and libreoffice to disk and also succeeded in installing pkg-1.8.3.
During my last attempt, I edited a /usr/local/etc/pkg/repos/FreeBSD.conf
like this:
and then edited /usr/local/etc/pkg/repos/<fileName>.conf
like this:
When I try to use pkg install
, I get errors like these:
Like I said, I have tried so many things, I am starting to feel a little punch drunk and it would not surprise me if I am leaving out some critical step.
Anthon2 Answers
pkg
relies on various metadata files that you don't have on your local machine, because they are downloaded from a configured package repository. I think the best solution here is to revert to using the default FreeBSD repo, and simply use the pkg add
command, which will attempt to install a package from a local package archive file, instead of pkg install
, which will search your configured repos and attempt to install a package from a remote source.
Incidentally, you can also use pkg fetch
to download package archive files from a configured repo, for installation later using pkg add
:
The -d
flag to pkg fetch
tells pkg
to download any dependencies that may be required to successfully install the named package. Note that by default, packages downloaded in this manner are stashed in /var/cache/pkg
, and you'll need to include the path to the archive file when you call pkg add
.
It is a very simple step that you have missed. Simply use the --no-repo-update
option to pkg install
. Make sure, when on-line, that your repository indexes are up-to-date, of course. And use pkg fetch
or pkg install --fetch-only
to fetch the package files when on-line, similarly.
Not the answer you're looking for? Browse other questions tagged package-managementfreebsd or ask your own question.
Known to fully work on (official package manager):
- FreeBSD
- DragonflyBSD
Known to work on (has been ported to):
- Linux
- NetBSD/EdgeBSD
- OpenBSD/Bitrig
- OSX
Table of Contents:
Cirrus CI: (Linux, OSX, FreeBSD):
libpkg
pkg is built on top of libpkg, a new library to interface with packageregistration backends.It abstracts package management details such as registration, remoterepositories, package creation, updating, etc.
pkg package format
pkg package format is a tar archive which can be raw, or use the followingcompression: gz, bzip2 and xz, defaulting in xz format.
The tar itself is composed in two types of elements:
- the special files at the beginning of the archive, starting with a '+'
- the data.
The metadata
pkg uses several files for metadata:
- +COMPACT_MANIFEST
- +MANIFEST
COMPACT_MANIFEST
This is a subset of the information included in the main MANIFEST,omitting the lists of files, checksums, directories and scripts.It contains the information used to build the repository catalogue.
MANIFEST
The manifest is in UCL format, it contains all theinformation about the package:
Valid scripts are:
- pre-install
- post-install
- install
- pre-deinstall
- post-deinstall
- deinstall
- pre-upgrade
- post-upgrade
- upgrade
Script MUST be in sh format.Nothing else will work.The shebang is not required.
When the manifest is read by pkg_create files and dirs can use analternate format:
This allows overriding the users, groups and mode of files anddirectories during package creation.So, for example, this allows to creation of a package containingroot-owned files without being packaged by the root user.
Local database
When a package is installed, it is registered in a SQLite database.
The SQLite database allow fast queries and ACID transactions. It alsoallows finding the reverse dependencies reliably without a needing the+REQUIRED_BY hack.
In order to save space the MTREE is only stored once, which save 18K perinstalled package.
pkg supports a register
command to register packages into the SQLitedatabase from the ports. The register command can execute the install script,show pkg-message, ..
Installing packages
pkg add
can install a package archive from the local disk, or from aremote FTP/HTTP server.
If only a package name is given, it will search the repository cataloguesand download and install the package if it exists. Any dependencies will bedownloaded and installed first.
This is possible because we have the dependency information in thecatalogue of the remote repository.
pkg add
will check if the user attempts to install a package builtfor another arch or release.
Upgrading packages
pkg also supports upgrades of binary packages.
pkg will compare the versions of installed packages and those available inthe repository. It will compute the proper update order and apply them.
Deleting packages
pkg delete
will remove a package, and (depending on the command linearguments) any other packages that depend on what you're trying todelete.
Directory leftovers are automatically removed if they are empty andnot in the MTREE.
Installing pkg
There are three ways to install pkg: two for general day-to-day use,and the third if you want to help with pkg development.
Pkg bootstrap
All supported versions of FreeBSD now contain /usr/sbin/pkg a.k.apkg(7). This is a small placeholder that has just the minimumfunctionality required to install the real pkg(8).
To use, simply run any pkg(8) command line. pkg(7) will intercept thecommand, and if you confirm that is your intention, download thepkg(8) tarball, install pkg(8) from it, bootstrap the local packagedatabase and then proceed to run the command you originally requested.
More recent versions of pkg(7) understand pkg -N
as a test to see ifpkg(8) is installed without triggering the installation, andconversely, pkg bootstrap[-f]
to install pkg(8) (or force it to bereinstalled) without performing any other actions.
pkg in Ports
pkg-1.0 release was committed to the the ports tree on 30th August2012, and a series of further releases are planned. To install thelatest release version:
Freebsd Install Package In Jail
Building pkg using sources from Git [FreeBSD]
In order to build pkg from source, you will need to have Gnuautotools and some other tools installed.
The next thing to do is to get the pkg sources installed on your machine.You can grab a development snapshot of pkg from the pkg GitHub repository
To get the latest version of pkg from the Git repo, just clone it:
or
Or you can take an already tagged release of pkg from the above webpage as well.Just open your browser and download the release you want.
Freebsd Pkg Remove
Once you have the pkg sources, installing it is fairly easy:
Now you should have the latest pkg installed on your system. Notethat this build and install procedure does not update the localpackage database at all, so you will get some odd effects due to thepackaging system being misled into thinking an older version of pkg isinstalled.
Note: if you're running anything other than FreeBSD or DragonFly, youwill need to do some porting work. The pkg(8) codebase should bereasonably portable onto anything with a c99 compiler, POSIX compliantsystem and capable of running Gnu autotools. However, various placesin the pkg(8) code make assumptions about OS specific behaviour. Ifyou do try anything like this, we'd be very interested to hear how youget on.
Building pkg using sources from Git [OpenBSD and Bitrig]
A quick usage introduction to pkg
In this section of the document we will try to give a quick and dirtyintroduction on the practical usage of pkg - installing packages,searching in remote package repositories, updating remote packagerepositories and installing from them, etc.
Getting help on the commands usage
In order to get help on any of the pkg commands you should use the pkg help <command>
command, which will take the man page of the specified command.
In order to get the available commands in pkg, just execute pkg help
Querying the local package database
In order to get information about installed packages use the pkg info
command.
pkg info
will query the local package database and displayinformation about the package you are interested in.
To list all install/registered packages in the local database, usethis command:
For more information on querying the local package database, pleaserefer to pkg-info(1) man page.
Installing packages
Packages are installed either from a repository, from the results of alocal compilation of software via the ports or from a pkg tarballindependently obtained from some other source.
A repository is a collection of packages which have been gatheredtogether, had a catalogue created and then published, typically byexposing the repository via HTTP or some other networking protocol.You can also publish a repository from a local or NFS mountedfilesystem (using file:// style URLs) or via SSH (using ssh:// URLs.)
Adding pkg tarballs directly
In order to install the package foo-1.2.3 from a local pkg tarball,use a command similar to the following:
You will need to make sure that all dependencies of foo-1.2.3 areeither also available as tarballs in the same directory, or previouslyinstalled by other means.
You can also install the package foo-1.2.3 tarball from a remotelocation using the FTP/HTTP protocol. In order to do that you coulduse a command similar to the following:
Which works in exactly the same way, except that it fetches thepackage tarballs using the protocol indicated by the URL.
For more information on installing packages on your FreeBSD system,please refer to pkg-add(1)
Working with a remote package repository
While pkg(8) can deal with individual package tarballs, the real powercomes from the use of repositories, which publish a 'catalogue' ofmeta-data about the packages they contain.
You can configure pkg(8) to use one or several repositories.Supported versions of FreeBSD now contain a default configuration outof the box: /etc/pkg/FreeBSD.conf
which is setup to install packagesfrom the official package repositories.
To add additional repositories, create a per-repository configurationfile in /usr/local/etc/pkg/repos
-- it doesn't matter what thefilename is other than it must match '*.conf' and you should add a'priority' setting indicating the preference order. This is just aninteger, where higher values indicate the more preferred repositories.Priority defaults to 0 unless explicitly stated. This is the valuefor the default /etc/pkg/FreeBSD.conf
To disable the default FreeBSD.conf, create a file/usr/local/etc/pkg/repos/FreeBSD.conf
with the contents:
To check quickly what repositories you have configured, run pkg -vv
.
See pkg.conf(5) for details of the format of pkg.conf
and theper-repository repo.conf
files. See pkg-repository(5) for moredetails about package repositories and how to work with them.
Note that the old style of setting PACKAGESITE in pkg.conf isno-longer supported. Setting PACKAGESITE in the environment hasmeaning for the pkg(7) shim, but is ignored by pkg(8).
Updating from remote repositories
Then fetch the repository catalogues using the command:
For more information on updating from remote repositories, pleaserefer to pkg-update(1).
This will fetch the remote package database to your local system. Igi 5 game free download full version for windows. Nowin order to install packages from the remote repository, you can usethe pkg install
command:
Working with multiple repositories
If you have more than one repository defined, then you probably wantto install some packages from a specific repository, but allow othersto be obtained from whatever repository has them available.
You can install a package from a specific repository:
where myrepo
is one of the tags shown in the pkg -vv
output.pkg(8) will automatically create an annotation showing whichrepository a package came from, similarly to the effect of running:
pkg(8) will attempt to use the same repository for any updates to thispackage, even if there are more recent versions available from otherrepositories. This is usually the desired behaviour. Otherwise seethe documentation for CONSERVATIVE_UPGRADE
in pkg.conf(5).
Searching in remote package repositories
You can search in the remote package repositories using the pkg search
command.
If you have multiple repositories configured, pkg search
will returnresults from searching each of them. Use the -r reponame
option toconfine your search to a specific repository.
An example search for a package could be done like this:
For more information on the repositories search, please refer topkg-search(1)
Installing from remote repositories
pkg(8) will install a package from the highest priority repositorythat contains the package and that allows the solver to satisfy thepackage dependencies. This may entail reinstalling existing packagesfrom a different repository.
The process continues until the package is fetched and installed, orall remote repositories fail to fetch the package.
Remote installations of packages using pkg are done by the pkg install
command.
Here's an example installation of few packages:
Install Freebsd Packages Pfsense
Or you could also install the packages using only one command, like this:
For more information on the remote package installs, please refer topkg-install(1)
Backing up your package database
Freebsd Install Package From Ports
It is a good idea that you backup your local package database on regular basis.
In order to backup the local package database, you should use the pkg backup
command.
The above command will create a dump of your local package database in/path/to/pkg-backup.dump
For more information on backing up your local package database, pleaserefer to pkg-backup(1)
Creating a package repository
You can also use pkg, so that you create a package repository.
In order to create a package repository you need to use the pkg create
command.
Freebsd Install Ports
Here's an example that will create a repository of all your currentlyinstalled packages:
The above commands will create a repository of all packages on your system.
Now you can share your repo with other people by letting them know ofyour repository :)
These can all be easily combined using drag & drop functions, and it's easy to blend genres. And the best part: All the sounds fit perfectly together.
Additional resources
The Git repository of pkg is hosted on GitHub
The pkg Wiki page
In order to get in contact with us, you can find us in the#pkgng@FreeNode IRC channel.
Freebsd Package List
If you hit a bug when using pkg, you can always submit an issue in thepkg issue tracker.