Packages

From Things and Stuff Wiki
Revision as of 20:25, 19 April 2017 by Milk (talk | contribs) (→‎Packages)
Jump to navigation Jump to search


General

See also Apple#Package management


  • http://www.freedesktop.org/software/PackageKit/ PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit. The actual nuts-and-bolts distro tool (yum, apt, conary, etc) is used by PackageKit using compiled and scripted helpers. PackageKit isn't meant to replace these tools, instead providing a common set of abstractions that can be used by standard GUI and text mode package managers. PackageKit itself is a system activated daemon called packagekitd. Being system activated means that it's only being run when the user is using a text mode or graphical tool, and quits when it's no longer being used. This means we don't delay the boot sequence or session startup and don't consume memory when not being used.
  • http://asic-linux.com.mx/~izto/checkinstall/ - Installs a compiled program from the program's source directory using "make install" or any other command supplied on checkinstall's command line. checkinstall will create a Slackware, RPM or Debian compatible package and install it using your distribution's standard package administration utilities.
  • pkgs.org - Linux Software Catalog and Packages Search. RPM, DEB, TGZ, TXZ packages from well-known repositories of the Archlinux, Fedora, CentOS, RHEL, Scientific Linux, Debian, Ubuntu, openSUSE, Mandriva, Mageia and Slackware distributions; packages search by name, filename, summary, description, requires, provides, files and directories; pPowerful packages browser (summary, description, files, requires, provides, changelog, etc.)

Arch

pacman

pacman -Ss packagename
  # search repos for packagename

pacman -S packagename
  # install packagename

pacman -Syu
  # update repo lists and upgrade system
pacman -Qo [file]
  # check what package owns a file

pacman -Qi
  # info on all installed programmes

pacman -Qi packagename
  # info in packagename

pacman -Ql packagename
  # list all files owned by packagename
pacman -Qqtd
  # check whether there are any orphaned packages
pacman -R packagename
  # remove packagename

pacman -Rsn packagename
  # remove orphaned packages

pacman -Rc packagename
  # remove package and deps ('cascade')
pacman -Rdd qt
pacman -Syuuu
  # when qt4 replaced qt, but qt had deps.
  • cacheclean - Cleans up pacman packages. Users selects how many old versions to keep.
cacheclean {-p} {-v} <# of copies to keep>
# of copies to keep - (required) how many generations of each package.
-p - (optional) preview what would be deleted.
-v - (optional) show deleted packages.

for i in `pacman -Qdt | awk '{print $1}'`; do pacman -R $i ; done

Helpers


  • yaourt - really good, coloured and paged results w/ number selection
yaourt packagename
  # search with interactive install

yaourt --noconfirm
  # no edit package build and no confirm prompt to install

yaourt -Syu --noconfirm
  # update all

yaourt -Syu --aur --noconfirm
  # update including AUR packages
yaourt -Syua --noconfirm --devel
  # update including AUR packages and check -git packages for newer latest commits to build


Packages

/usr/share/pacman/PKGBUILD.proto
  # template


 makepkg -g >> PKGBUILD && makepkg

"ERROR: PKGBUILD contains CRLF characters and cannot be sourced." Solution:

sed -i 's/^M//' PKGBUILD

[ctrl+v][ctrl+m] for the ^M symbol.

pacman -Qdt
  list all orphans
pacman -Rsn $(pacman -Qdtq)
  remove them all

Repos

Other

  • gist: unused.sh - finds unused package on your Arch Linux box

Junest

  • https://github.com/fsquillace/junest - Jailed User NEST is a lightweight Arch Linux based distribution that allows to have an isolated GNU/Linux environment inside any generic host GNU/Linux OS and without the need to have root privileges for installing packages.

Debian

including ubuntu, linux mint and others

dpkg --get-selections > installed-software
  create list of installed software

dpkg --set-selections < installed-software
dselect
  reinstall from list
dpkg --list
  to check

Apt

apt-get install package
etc.  
apt-cache search 'web server'
etc.
apt-find show python
 show files installed by package

GUI

Other

Red Hat

RPM

7z also extracts rpm to cpio, and cpio to files.

Yum

  • Yum is an automatic updater and package installer/remover for rpm systems. It automatically computes dependencies and figures out what things should occur to install packages. It makes it easier to maintain groups of machines without having to manually update each one using rpm. Yum has a plugin interface for adding simple features. Yum can also be used from other python programs via its module inteface.

dnf

Gentoo Portage

Guix

Ports Collection

Other

  • PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit. The actual nuts-and-bolts distro tool (dnf, apt, etc) is used by PackageKit using compiled and scripted helpers. PackageKit isn't meant to replace these tools, instead providing a common set of abstractions that can be used by standard GUI and text mode package managers. PackageKit itself is a system activated daemon called packagekitd. Being system activated means that it's only being run when the user is using a text mode or graphical tool, and quits when it's no longer being used. This means we don't delay the boot sequence or session startup and don't consume memory when not being used.
  • Zero Install - 0install, is a decentralised cross-platform software installation system available under the LGPL. It allows software developers to publish programs directly from their own web-sites, while supporting features familiar from centralised distribution repositories such as shared libraries, automatic updates and digital signatures. It is intended to complement, rather than replace, the operating system's package management. 0install packages never interfere with those provided by the distribution.



Distributed

  • https://github.com/whyrusleeping/gx - a packaging tool built around the distributed, content addressed filesystem IPFS. It aims to be flexible, powerful and simple. gx is Alpha Quality. It's not perfect yet, but it's proven dependable enough for managing dependencies in go-ipfs and ready for pioneering developers early users to try out and explore. [4]