SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
NIH Invented Here, package manager for pkgsrc

                Aleksey Cheusov
              cheusov@NetBSD.org



              Minsk, Belarus, 2011
Overview




                          Available commands
   nih help        - Display help message
   nih refresh     - Download pkg_summary(5) and SHA512 files
   nih install
     nih update    - Install or update packages
   nih uninstall
     nih delete
     nih remove    - Uninstall packages
Overview



                           Available commands
   nih   verify    -   Verify packages integrity
   nih   status    -   Show the status of installed packages
   nih   info      -   Show information about package
   nih   meta      -   Output available/installed meta packages
   nih   leaf      -   Output or remove leaf packages
   nih   list      -   List packages
   nih   mark      -   Mark packages
   nih   deps      -   Show dependencies
   nih   clean-cache   - Clean-up cache directory with binaries
Overview




                             Available options
   nih   -h             -   Display help message
   nih   -V             -   Display nih version
   nih   -y             -   Answer ’Yes’ to all questions
   nih   <command> -h   -   Display help message for a <command>
nih refresh




   how it works
    # nih refresh
    Downloading pkg_summary.bz2...
    Downloading SHA512.bz2...
    #
pkg summary(5)

  format
   PKGNAME=abcde-2.3.99.7
   PKGPATH=audio/abcde
   COMMENT=Command-line utility to rip and encode an audio CD
   HOMEPAGE=http://code.google.com/p/abcde/
   FILE_SIZE=54738
   DEPENDS=cd-discid>=0.7
   DEPENDS=id3-[0-9]*
   DEPENDS=id3v2-[0-9]*
   DEPENDS=cdparanoia>=3.0.9.7
   ...
              <empty line>
   PKGNAME=abook-0.6.0rc2
   COMMENT=Text-based addressbook program
   ...
nih list
   suboptions
    -a|-I    output all installed packages
    -u       output packages installed by user


   how it works
    # nih list -u
    ImageMagick-6.6.6.5nb1 Package for display and interac...
    SDL-1.2.14nb1       Simple DirectMedia Layer, a cross-...
    a2ps-4.14nb1        Formats an ascii file for printing...
    abcde-2.3.99.7      Command-line utility to rip and en...
    aspell-english-6.0.0nb1 English language support for a...
    aspell-russian-0.99f7.1nb1 Russian language support fo...
    aumix-2.8nb7        Set mix levels (ncurses interface ...
    ...
    #
nih info



   suboptions
    -b     search in pkg_summary.txt (the default)
    -o     search using pkg_online
    -I     search in installed packages

    -r     raw output in pkg_summary(5) format
    -q     quiet mode, do not print "No matches found" to stderr
nih info
   how it works
    # nih info dict-server
    -----------------------------------------------------------
    PKGNAME:           dict-server-1.12.0
    DEPENDS:           libmaa>=1.2.0
    COMMENT:           Dictionary Service Protocol server
    SIZE_PKG:          389441
    HOMEPAGE:          http://www.dict.org/
    LICENSE:           gnu-gpl-v2
    PKGPATH:           textproc/dict-server
    PKGTOOLS_VERSION:20100204
    REQUIRES:
        /usr/lib/libc.so.12
        /usr/lib/libm.so.0
        /usr/lib/libz.so.1
        /usr/pkg/lib/libmaa.so.2
    DESCRIPTION:
        The Dictionary Server Protocol (DICT) is a TCP...
        ...
    #
nih verify




   suboptions
    -m       check   the checksums of installed files
    -l|-U    check   the REQUIRES/PROVIDES coherence
    -L       check   existence of library files listed in REQUIRES
    -d       check   the presence of dependencies
nih verify
   how it works
    # nih verify -m
     --------------------- checksums ----------------------
    /usr/pkg/bin/pkgdep fails MD5 checksum
    # pkg delete -f libmaa
    Package ‘libmaa-1.2.0’ is still required
                                      by other packages:
            paexec-0.16.1nb1
            dict-client-1.12.0nb1
            dict-server-1.12.0nb1
    # nih verify -d
     -------------- dependencies/conflicts ----------------
    d: not_found libmaa>=1.3.0 <- dict-1.12.0nb1
    d: not_found libmaa>=1.3.0 <- dictd-1.12.0nb1
    d: not_found libmaa>=1.3.0 <- paexec-0.16.1nb1
    #
nih verify



   how it works
    # nih verify -l
     --------------- REQUIRES/PROVIDES coherence ----------
    l: not_found /usr/pkg/lib/libmaa.so.3 paexec-0.16.1nb1
    l: not_found /usr/pkg/lib/libmaa.so.3 dict-1.12.0nb1
    l: not_found /usr/pkg/lib/libmaa.so.3 dictd-1.12.0nb1
    #
nih leaf



   suboptions
    -t     output only PKGNAME

    -R     remove automatically installed leaf packages

    -n     don’t actually deinstall packages,
           just report the steps that would be taken.
nih leaf


   how it works
    # nih leaf
    gmake-3.82nb1        GNU version of ’make’ utility
    automake-1.11.1nb1   GNU Standards-compliant
                                        Makefile generator
    # nih leaf -R
    Removing gmake-3.82nb1...
    Removing automake-1.11.1nb1...
    Removing autoconf-2.68...
    #
nih mark




   suboptions
   -u   mark packages as "installed by user"
   -a   mark packages as "installed as a dependency"
nih mark


   how it works
   # nih leaf
   gmake-3.82nb2         GNU version of ’make’ utility
   automake-1.11.1nb1    GNU Standards-compliant
                                   Makefile generator
   # nih mark -u gmake
   # nih leaf
   automake-1.11.1nb1    GNU Standards-compliant
                                   Makefile generator
   #
nih delete




   suboptions
    -n       don’t actually deinstall packages,
             just report the steps that
             would be taken if it were.
nih delete
   how it works
    # nih remove -n libmaa
    Getting a list of installed packages...
    Generating an update plan...
    ------------------- UPDATE PLAN -------------------
    The following packages will be removed
        dict-mueller7-1.2 paexec-0.16.1nb1
        libmaa-1.3.0 pkg_conflicts-0.4.0nb1
        dict-client-1.12.0nb1 dict-server-1.12.0nb1
        dict-data-1.8.0nb1 pkg_online-client-0.12.1
        distbb-9nb20110511 pkg_online-server-0.12.1
    Proceed (y/N)? y
    Removing package dict-data-1.8.0nb1...
    Removing package dict-mueller7-1.2...
    Removing package pkg_conflicts-0.4.0nb1...
    Removing package distbb-9nb20110511...
    Removing package pkg_online-server-0.12.1...
    ...
    #
nih install



   suboptions
    -n        don’t actually install a package,
              just report the steps that
              would be taken if it were.

    -d        download binaries only, do not update
              installed packages
nih install
   how it works
    # nih install editors/emacs22
    Getting a list of installed packages...
    Generating an update plan...
    ------------------ UPDATE PLAN ---------------------
    The following packages will be installed
        emacs-22.3nb13
    The following packages will be installed
                              as auto-removable
        giflib-4.1.6 jpeg-8c perl-5.12.2nb2
        png-1.5.1 tiff-3.9.4nb3
    Proceed (y/N)? y
    Downloading package emacs-22.3nb13.tgz...
    Installing package png-1.5.1 as a dependency...
    Installing package giflib-4.1.6 as a dependency...
    ...
    Installing package emacs-22.3nb13...
    Updating pkgdb...
    Done.
    #
nih install

   how it works
    # nih install emacs- vim
    Getting a list of installed packages...
    Generating an update plan...
    ----------------- UPDATE PLAN --------------------
    The following packages will be removed
        png-1.5.1 giflib-4.1.6 jpeg-8c perl-5.12.2nb2
        tiff-3.9.4nb3 emacs-22.3nb13
    The following packages will be installed
        vim-7.2.446
    The following packages will be installed
                                 as auto-removable
        vim-share-7.2.446
    Proceed (y/N)?
nih search

   suboptions
   -b    search in pkg_summary.txt (the default)
   -o    search using pkg_online
   -I    search in installed packages

   -s    output search strategies
   -f    output search fields
   -1    display 1-line information
              about packages (default)
   -3    display short information
              about packages
   -9    display full information
              about packages
   -r    raw output in pkg_summary(5) format
   -q    quiet mode
nih search
   how it works
   # nih search -of
   synonym | full name
   --------------------------
         p    PKGPATH
         n    PKGNAME
     empty    PKGBASE
              DEPENDS
              BUILD_DEPENDS
              CONFLICTS
              HOMEPAGE
         c    COMMENT
              LICENSE
              ONLYFOR
              NOTFOR
         m    MAINTAINER
         C    CATEGORIES
         f    PLIST
         d    DESCRIPTION
   #
nih search
   how it works
   # nih search -os
   synonym | full name | description
   --------------------------------------
     empty          exact Match headwords exactly
         p        prefix  Match prefixes
                 nprefix  Match prefixes (skip, count)
         s     substring  Match substring occurring anywhere
                                          in a headword
         u        suffix  Match suffixes
         r             re POSIX 1003.2 (modern) regexps
                  regexp  Old (basic) regular expressions
         x       soundex  Match using SOUNDEX algorithm
         v            lev Match headwords within
                          Levenshtein distance one
         w           word Match separate words
         f          first Match the first word
         l           last Match the last word
   #
nih search

   how it works
   # nih search -o m:p:ahoka
   audio/cmus                -   Cmus is a small, fast and ...
   games/pokerth             -   Texas Holdem poker with on...
   lang/see                  -   JavaScript interpreter and...
   mail/sylpheed             -   Gtk based e-mail and netne...
   shells/mksh               -   MirBSD Korn Shell
   textproc/hunspell         -   Improved spellchecker
   textproc/hunspell-hu_HU   -   Hungarian dictionary for h...
   wip/mplayer-snapshot(mplayer) -   Fast, cross-platform m...
   wip/mplayer-snapshot-share(mplayer-share) -   Documentat...
   wip/umurmur               -   Mumble (murmur) server for...
   www/opera                 -   Opera web browser
   #
nih search
   how it works
   # nih search -o DEPENDS:s:webkit
   devel/devhelp             -   Documentation viewer based ...
   devel/qtscriptgenerator   -   Tool that generates Qt bind...
   finance/gnucash           -   Personal or business financ...
   graphics/shotwell         -   Shotwell is a photo organiz...
   wip/blam                  -   Blam is a feed reader for G...
   wip/deforaos-surfer       -   DeforaOS desktop web browser
   wip/froggymicroblog(frogmicroblog) -   C# twitter identi....
   wip/gmpc-wikipedia        -   GMPC plugin showing wikiped...
   wip/gwibber               -   Open source microblogging c...
   wip/libgtask              -   Library for asynchronous an...
   wip/py-webkit(py26-webkitgtk) -   Python bindings for the...
   wip/surf                  -   Surf is a fast and minimali...
   wip/webkit-sharp          -   Webkit-sharp Bindings webki...
   www/epiphany              -   The web browser for the GNO...
   www/kazehakase            -   Web browser with multiple l...
   www/liferea-current(liferea) -   Simple FeedReader clone ...
   www/midori                -   Lightweight web browser usi...
   #
nih search

   how it works
   # nih search -o dns server
   net/dhisd                  -  DynDNS server
   net/fpdns                  -  Fingerprinting DNS servers
   net/maradns                -  Secure DNS server for *NIX...
   net/mydns-mysql            -  MySQL-based DNS server
   net/mydns-pgsql            -  PostgreSQL-based DNS server
   net/nsd                    -  Authoritative-only DNS server
   net/p5-Net-DNSServer       -  Perl5 module to be used as...
   net/powerdns               -  Modern, advanced and high ...
   net/powerdns-recursor(pdns-recursor) -   PowerDNS resolv...
   net/rootprobe              -  Root DNS server performanc...
   net/unbound                -  DNS resolver and recursive...
   sysutils/wbm-bind8         -  Webmin module for managing...
   wip/ldapdns(ldapdns-cvs) -    Tiny, fast authoritative n...
   wip/py-oak(py26-oak)       -  Authoritative/recursive DN...
   #
nih search
   how it works
   # nih search -o dict C:w:textproc -spell 
                -japanese -chinese -korean -festlex
   misc/lookup                  -    Electric dictionary agent ...
   textproc/dict-client         -    Dictionary Service Protoco...
   textproc/dict-dictionaries(dict-data) -          Dictionary dat...
   textproc/dict-mueller7       -    English-Russian dictionary...
   textproc/dict-server         -    Dictionary Service Protoco...
   textproc/dictem              -    Dictionary client (RFC-222...
   textproc/diction             -    GNU version of diction and...
   textproc/dikt                -    Dictionary protocol client...
   textproc/eb                  -    C library for accessing EB...
   textproc/eblook              -    Interactive command-line i...
   textproc/ebview              -    GTK2 based EPWING dictiona...
   textproc/emacs-dict-client -       Emacs package for talking...
   textproc/p5-Net-Dict         -    Client API for the DICT pr...
   textproc/xfce4-dict-plugin -       Xfce dictionary server pl...
   wip/dict-est-rus             -    DICTD data for Estonian-Ru...
   ...
   #
nih search
   how it works
   # nih search FILE SIZE:awk:’fvalue+0 > 100000000’
   games/flightgear-data       - FlightGear Simulator data files
   misc/kdeartwork4            - Artwork for the KDE integrate...
   x11/kdebase-workspace4      - base workspace for the KDE 4 ...
   misc/kdeedu4                - Edutainment,cation tools fo...
   games/kdegames4             - Games for the KDE integrated ...
   x11/kdelibs4                - Support libraries for the KDE...
   x11/kdelibs4                - Support libraries for the KDE...
   misc/kdepim4                - Personal Information Manageme...
   misc/openoffice3            - Integrated office productivit...
   x11/qt4-docs                - Documentation for the QT C++ ...
   games/supertuxkart          - Free 3D kart racing game
   games/ufoai                 - UFO Alien Invasion
   games/warmux                - Battle game
   games/wesnoth               - Fantasy turn-based strategy game
   misc/zyGrib-maps            - High resolution map files for...
   #
The End

Mais conteúdo relacionado

Mais procurados

pkgsrc on SmartOS
pkgsrc on SmartOSpkgsrc on SmartOS
pkgsrc on SmartOS
jonperkin
 
Presentation for RHCE in linux
Presentation  for  RHCE in linux Presentation  for  RHCE in linux
Presentation for RHCE in linux
Kuldeep Tiwari
 
Inside Docker for Fedora20/RHEL7
Inside Docker for Fedora20/RHEL7Inside Docker for Fedora20/RHEL7
Inside Docker for Fedora20/RHEL7
Etsuji Nakai
 

Mais procurados (20)

BSD for Linux Users
BSD for Linux UsersBSD for Linux Users
BSD for Linux Users
 
pkgsrc on SmartOS
pkgsrc on SmartOSpkgsrc on SmartOS
pkgsrc on SmartOS
 
Posscon2013
Posscon2013Posscon2013
Posscon2013
 
Software Packaging with RPM
Software Packaging with RPMSoftware Packaging with RPM
Software Packaging with RPM
 
OpenWRT and Perl
OpenWRT and PerlOpenWRT and Perl
OpenWRT and Perl
 
Configure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation WorkshopConfigure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation Workshop
 
005 skyeye
005 skyeye005 skyeye
005 skyeye
 
Rhce ppt
Rhce pptRhce ppt
Rhce ppt
 
Linux Kernel Development
Linux Kernel DevelopmentLinux Kernel Development
Linux Kernel Development
 
olf10
olf10olf10
olf10
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Flourish11
Flourish11Flourish11
Flourish11
 
Fsoss12
Fsoss12Fsoss12
Fsoss12
 
Lavigne bsdmag sept12
Lavigne bsdmag sept12Lavigne bsdmag sept12
Lavigne bsdmag sept12
 
Scale 2010: BSD for Linux Users
Scale 2010: BSD for Linux UsersScale 2010: BSD for Linux Users
Scale 2010: BSD for Linux Users
 
Presentation for RHCE in linux
Presentation  for  RHCE in linux Presentation  for  RHCE in linux
Presentation for RHCE in linux
 
Inside Docker for Fedora20/RHEL7
Inside Docker for Fedora20/RHEL7Inside Docker for Fedora20/RHEL7
Inside Docker for Fedora20/RHEL7
 
4th
4th4th
4th
 
Fsoss2011
Fsoss2011Fsoss2011
Fsoss2011
 

Semelhante a NIH package manager for pkgsrc

Direction of building ns2 using cygwin under windows system
Direction of building ns2 using cygwin under windows systemDirection of building ns2 using cygwin under windows system
Direction of building ns2 using cygwin under windows system
yahyaoui hamdi
 
Spack - A Package Manager for HPC
Spack - A Package Manager for HPCSpack - A Package Manager for HPC
Spack - A Package Manager for HPC
inside-BigData.com
 
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
maclean liu
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Simon Boulet
 
9 steps to install and configure postgre sql from source on linux
9 steps to install and configure postgre sql from source on linux9 steps to install and configure postgre sql from source on linux
9 steps to install and configure postgre sql from source on linux
chinkshady
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
 

Semelhante a NIH package manager for pkgsrc (20)

Linux Troubleshooting
Linux TroubleshootingLinux Troubleshooting
Linux Troubleshooting
 
How to make debian package from scratch (linux)
How to make debian package from scratch (linux)How to make debian package from scratch (linux)
How to make debian package from scratch (linux)
 
PostgreSQL Portland Performance Practice Project - Database Test 2 Howto
PostgreSQL Portland Performance Practice Project - Database Test 2 HowtoPostgreSQL Portland Performance Practice Project - Database Test 2 Howto
PostgreSQL Portland Performance Practice Project - Database Test 2 Howto
 
RAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and DatabaseRAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and Database
 
Direction of building ns2 using cygwin under windows system
Direction of building ns2 using cygwin under windows systemDirection of building ns2 using cygwin under windows system
Direction of building ns2 using cygwin under windows system
 
Introduction to linux day1
Introduction to linux day1Introduction to linux day1
Introduction to linux day1
 
Spack - A Package Manager for HPC
Spack - A Package Manager for HPCSpack - A Package Manager for HPC
Spack - A Package Manager for HPC
 
Approaching package manager
Approaching package managerApproaching package manager
Approaching package manager
 
Native Hadoop with prebuilt spark
Native Hadoop with prebuilt sparkNative Hadoop with prebuilt spark
Native Hadoop with prebuilt spark
 
Rpm Introduction
Rpm IntroductionRpm Introduction
Rpm Introduction
 
Debug generic process
Debug generic processDebug generic process
Debug generic process
 
Linux
Linux Linux
Linux
 
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
 
From Zero To Production (NixOS, Erlang) @ Erlang Factory SF 2016
From Zero To Production (NixOS, Erlang) @ Erlang Factory SF 2016From Zero To Production (NixOS, Erlang) @ Erlang Factory SF 2016
From Zero To Production (NixOS, Erlang) @ Erlang Factory SF 2016
 
9 steps to install and configure postgre sql from source on linux
9 steps to install and configure postgre sql from source on linux9 steps to install and configure postgre sql from source on linux
9 steps to install and configure postgre sql from source on linux
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Basic Linux kernel
Basic Linux kernelBasic Linux kernel
Basic Linux kernel
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
PHP selber bauen
PHP selber bauenPHP selber bauen
PHP selber bauen
 

Mais de Транслируем.бел

Mais de Транслируем.бел (20)

Медицинские трансляции
Медицинские трансляцииМедицинские трансляции
Медицинские трансляции
 
Vinteo
VinteoVinteo
Vinteo
 
Руководство по видео, трансляциям и премьерам (Youtube 2020)
Руководство по видео, трансляциям и премьерам (Youtube 2020)Руководство по видео, трансляциям и премьерам (Youtube 2020)
Руководство по видео, трансляциям и премьерам (Youtube 2020)
 
Корпоративный новый год онлайн
Корпоративный новый год онлайнКорпоративный новый год онлайн
Корпоративный новый год онлайн
 
Unofficial guide to vmix by streamgeeks
Unofficial guide to vmix by streamgeeksUnofficial guide to vmix by streamgeeks
Unofficial guide to vmix by streamgeeks
 
Руководство для малого и среднего бизнеса по использованию цифровых решений
Руководство для малого и среднего бизнеса по использованию цифровых решенийРуководство для малого и среднего бизнеса по использованию цифровых решений
Руководство для малого и среднего бизнеса по использованию цифровых решений
 
Sennheiser ew100 g2
Sennheiser ew100 g2Sennheiser ew100 g2
Sennheiser ew100 g2
 
Sony mcs 8m
Sony mcs 8mSony mcs 8m
Sony mcs 8m
 
Сравнение поколений Y и Z
Сравнение поколений Y и ZСравнение поколений Y и Z
Сравнение поколений Y и Z
 
Онлайн-трансляции в соцсетях
Онлайн-трансляции в соцсетяхОнлайн-трансляции в соцсетях
Онлайн-трансляции в соцсетях
 
Как организовать трансляцию в Facebook
Как организовать трансляцию в FacebookКак организовать трансляцию в Facebook
Как организовать трансляцию в Facebook
 
The ultimate guide to facebook live for your event
The ultimate guide to facebook live for your eventThe ultimate guide to facebook live for your event
The ultimate guide to facebook live for your event
 
Guide to facebook live
Guide to facebook liveGuide to facebook live
Guide to facebook live
 
Comdi player
Comdi playerComdi player
Comdi player
 
Что сделать, чтобы сто раз все не переделывать
Что сделать, чтобы сто раз все не переделыватьЧто сделать, чтобы сто раз все не переделывать
Что сделать, чтобы сто раз все не переделывать
 
Когда сказать нет. Арсений Кравченко
Когда сказать нет. Арсений КравченкоКогда сказать нет. Арсений Кравченко
Когда сказать нет. Арсений Кравченко
 
Marketing Essentials for Startup Teams
Marketing Essentials for Startup TeamsMarketing Essentials for Startup Teams
Marketing Essentials for Startup Teams
 
SMM учебник. Как продвигать банк в социальных сетях. Наглядное пособие
SMM учебник. Как продвигать банк в социальных сетях. Наглядное пособиеSMM учебник. Как продвигать банк в социальных сетях. Наглядное пособие
SMM учебник. Как продвигать банк в социальных сетях. Наглядное пособие
 
методы монетизации интернет проектов
методы монетизации интернет проектовметоды монетизации интернет проектов
методы монетизации интернет проектов
 
Belarus internet users discovery
Belarus internet users discoveryBelarus internet users discovery
Belarus internet users discovery
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

NIH package manager for pkgsrc

  • 1. NIH Invented Here, package manager for pkgsrc Aleksey Cheusov cheusov@NetBSD.org Minsk, Belarus, 2011
  • 2. Overview Available commands nih help - Display help message nih refresh - Download pkg_summary(5) and SHA512 files nih install nih update - Install or update packages nih uninstall nih delete nih remove - Uninstall packages
  • 3. Overview Available commands nih verify - Verify packages integrity nih status - Show the status of installed packages nih info - Show information about package nih meta - Output available/installed meta packages nih leaf - Output or remove leaf packages nih list - List packages nih mark - Mark packages nih deps - Show dependencies nih clean-cache - Clean-up cache directory with binaries
  • 4. Overview Available options nih -h - Display help message nih -V - Display nih version nih -y - Answer ’Yes’ to all questions nih <command> -h - Display help message for a <command>
  • 5. nih refresh how it works # nih refresh Downloading pkg_summary.bz2... Downloading SHA512.bz2... #
  • 6. pkg summary(5) format PKGNAME=abcde-2.3.99.7 PKGPATH=audio/abcde COMMENT=Command-line utility to rip and encode an audio CD HOMEPAGE=http://code.google.com/p/abcde/ FILE_SIZE=54738 DEPENDS=cd-discid>=0.7 DEPENDS=id3-[0-9]* DEPENDS=id3v2-[0-9]* DEPENDS=cdparanoia>=3.0.9.7 ... <empty line> PKGNAME=abook-0.6.0rc2 COMMENT=Text-based addressbook program ...
  • 7. nih list suboptions -a|-I output all installed packages -u output packages installed by user how it works # nih list -u ImageMagick-6.6.6.5nb1 Package for display and interac... SDL-1.2.14nb1 Simple DirectMedia Layer, a cross-... a2ps-4.14nb1 Formats an ascii file for printing... abcde-2.3.99.7 Command-line utility to rip and en... aspell-english-6.0.0nb1 English language support for a... aspell-russian-0.99f7.1nb1 Russian language support fo... aumix-2.8nb7 Set mix levels (ncurses interface ... ... #
  • 8. nih info suboptions -b search in pkg_summary.txt (the default) -o search using pkg_online -I search in installed packages -r raw output in pkg_summary(5) format -q quiet mode, do not print "No matches found" to stderr
  • 9. nih info how it works # nih info dict-server ----------------------------------------------------------- PKGNAME: dict-server-1.12.0 DEPENDS: libmaa>=1.2.0 COMMENT: Dictionary Service Protocol server SIZE_PKG: 389441 HOMEPAGE: http://www.dict.org/ LICENSE: gnu-gpl-v2 PKGPATH: textproc/dict-server PKGTOOLS_VERSION:20100204 REQUIRES: /usr/lib/libc.so.12 /usr/lib/libm.so.0 /usr/lib/libz.so.1 /usr/pkg/lib/libmaa.so.2 DESCRIPTION: The Dictionary Server Protocol (DICT) is a TCP... ... #
  • 10. nih verify suboptions -m check the checksums of installed files -l|-U check the REQUIRES/PROVIDES coherence -L check existence of library files listed in REQUIRES -d check the presence of dependencies
  • 11. nih verify how it works # nih verify -m --------------------- checksums ---------------------- /usr/pkg/bin/pkgdep fails MD5 checksum # pkg delete -f libmaa Package ‘libmaa-1.2.0’ is still required by other packages: paexec-0.16.1nb1 dict-client-1.12.0nb1 dict-server-1.12.0nb1 # nih verify -d -------------- dependencies/conflicts ---------------- d: not_found libmaa>=1.3.0 <- dict-1.12.0nb1 d: not_found libmaa>=1.3.0 <- dictd-1.12.0nb1 d: not_found libmaa>=1.3.0 <- paexec-0.16.1nb1 #
  • 12. nih verify how it works # nih verify -l --------------- REQUIRES/PROVIDES coherence ---------- l: not_found /usr/pkg/lib/libmaa.so.3 paexec-0.16.1nb1 l: not_found /usr/pkg/lib/libmaa.so.3 dict-1.12.0nb1 l: not_found /usr/pkg/lib/libmaa.so.3 dictd-1.12.0nb1 #
  • 13. nih leaf suboptions -t output only PKGNAME -R remove automatically installed leaf packages -n don’t actually deinstall packages, just report the steps that would be taken.
  • 14. nih leaf how it works # nih leaf gmake-3.82nb1 GNU version of ’make’ utility automake-1.11.1nb1 GNU Standards-compliant Makefile generator # nih leaf -R Removing gmake-3.82nb1... Removing automake-1.11.1nb1... Removing autoconf-2.68... #
  • 15. nih mark suboptions -u mark packages as "installed by user" -a mark packages as "installed as a dependency"
  • 16. nih mark how it works # nih leaf gmake-3.82nb2 GNU version of ’make’ utility automake-1.11.1nb1 GNU Standards-compliant Makefile generator # nih mark -u gmake # nih leaf automake-1.11.1nb1 GNU Standards-compliant Makefile generator #
  • 17. nih delete suboptions -n don’t actually deinstall packages, just report the steps that would be taken if it were.
  • 18. nih delete how it works # nih remove -n libmaa Getting a list of installed packages... Generating an update plan... ------------------- UPDATE PLAN ------------------- The following packages will be removed dict-mueller7-1.2 paexec-0.16.1nb1 libmaa-1.3.0 pkg_conflicts-0.4.0nb1 dict-client-1.12.0nb1 dict-server-1.12.0nb1 dict-data-1.8.0nb1 pkg_online-client-0.12.1 distbb-9nb20110511 pkg_online-server-0.12.1 Proceed (y/N)? y Removing package dict-data-1.8.0nb1... Removing package dict-mueller7-1.2... Removing package pkg_conflicts-0.4.0nb1... Removing package distbb-9nb20110511... Removing package pkg_online-server-0.12.1... ... #
  • 19. nih install suboptions -n don’t actually install a package, just report the steps that would be taken if it were. -d download binaries only, do not update installed packages
  • 20. nih install how it works # nih install editors/emacs22 Getting a list of installed packages... Generating an update plan... ------------------ UPDATE PLAN --------------------- The following packages will be installed emacs-22.3nb13 The following packages will be installed as auto-removable giflib-4.1.6 jpeg-8c perl-5.12.2nb2 png-1.5.1 tiff-3.9.4nb3 Proceed (y/N)? y Downloading package emacs-22.3nb13.tgz... Installing package png-1.5.1 as a dependency... Installing package giflib-4.1.6 as a dependency... ... Installing package emacs-22.3nb13... Updating pkgdb... Done. #
  • 21. nih install how it works # nih install emacs- vim Getting a list of installed packages... Generating an update plan... ----------------- UPDATE PLAN -------------------- The following packages will be removed png-1.5.1 giflib-4.1.6 jpeg-8c perl-5.12.2nb2 tiff-3.9.4nb3 emacs-22.3nb13 The following packages will be installed vim-7.2.446 The following packages will be installed as auto-removable vim-share-7.2.446 Proceed (y/N)?
  • 22. nih search suboptions -b search in pkg_summary.txt (the default) -o search using pkg_online -I search in installed packages -s output search strategies -f output search fields -1 display 1-line information about packages (default) -3 display short information about packages -9 display full information about packages -r raw output in pkg_summary(5) format -q quiet mode
  • 23. nih search how it works # nih search -of synonym | full name -------------------------- p PKGPATH n PKGNAME empty PKGBASE DEPENDS BUILD_DEPENDS CONFLICTS HOMEPAGE c COMMENT LICENSE ONLYFOR NOTFOR m MAINTAINER C CATEGORIES f PLIST d DESCRIPTION #
  • 24. nih search how it works # nih search -os synonym | full name | description -------------------------------------- empty exact Match headwords exactly p prefix Match prefixes nprefix Match prefixes (skip, count) s substring Match substring occurring anywhere in a headword u suffix Match suffixes r re POSIX 1003.2 (modern) regexps regexp Old (basic) regular expressions x soundex Match using SOUNDEX algorithm v lev Match headwords within Levenshtein distance one w word Match separate words f first Match the first word l last Match the last word #
  • 25. nih search how it works # nih search -o m:p:ahoka audio/cmus - Cmus is a small, fast and ... games/pokerth - Texas Holdem poker with on... lang/see - JavaScript interpreter and... mail/sylpheed - Gtk based e-mail and netne... shells/mksh - MirBSD Korn Shell textproc/hunspell - Improved spellchecker textproc/hunspell-hu_HU - Hungarian dictionary for h... wip/mplayer-snapshot(mplayer) - Fast, cross-platform m... wip/mplayer-snapshot-share(mplayer-share) - Documentat... wip/umurmur - Mumble (murmur) server for... www/opera - Opera web browser #
  • 26. nih search how it works # nih search -o DEPENDS:s:webkit devel/devhelp - Documentation viewer based ... devel/qtscriptgenerator - Tool that generates Qt bind... finance/gnucash - Personal or business financ... graphics/shotwell - Shotwell is a photo organiz... wip/blam - Blam is a feed reader for G... wip/deforaos-surfer - DeforaOS desktop web browser wip/froggymicroblog(frogmicroblog) - C# twitter identi.... wip/gmpc-wikipedia - GMPC plugin showing wikiped... wip/gwibber - Open source microblogging c... wip/libgtask - Library for asynchronous an... wip/py-webkit(py26-webkitgtk) - Python bindings for the... wip/surf - Surf is a fast and minimali... wip/webkit-sharp - Webkit-sharp Bindings webki... www/epiphany - The web browser for the GNO... www/kazehakase - Web browser with multiple l... www/liferea-current(liferea) - Simple FeedReader clone ... www/midori - Lightweight web browser usi... #
  • 27. nih search how it works # nih search -o dns server net/dhisd - DynDNS server net/fpdns - Fingerprinting DNS servers net/maradns - Secure DNS server for *NIX... net/mydns-mysql - MySQL-based DNS server net/mydns-pgsql - PostgreSQL-based DNS server net/nsd - Authoritative-only DNS server net/p5-Net-DNSServer - Perl5 module to be used as... net/powerdns - Modern, advanced and high ... net/powerdns-recursor(pdns-recursor) - PowerDNS resolv... net/rootprobe - Root DNS server performanc... net/unbound - DNS resolver and recursive... sysutils/wbm-bind8 - Webmin module for managing... wip/ldapdns(ldapdns-cvs) - Tiny, fast authoritative n... wip/py-oak(py26-oak) - Authoritative/recursive DN... #
  • 28. nih search how it works # nih search -o dict C:w:textproc -spell -japanese -chinese -korean -festlex misc/lookup - Electric dictionary agent ... textproc/dict-client - Dictionary Service Protoco... textproc/dict-dictionaries(dict-data) - Dictionary dat... textproc/dict-mueller7 - English-Russian dictionary... textproc/dict-server - Dictionary Service Protoco... textproc/dictem - Dictionary client (RFC-222... textproc/diction - GNU version of diction and... textproc/dikt - Dictionary protocol client... textproc/eb - C library for accessing EB... textproc/eblook - Interactive command-line i... textproc/ebview - GTK2 based EPWING dictiona... textproc/emacs-dict-client - Emacs package for talking... textproc/p5-Net-Dict - Client API for the DICT pr... textproc/xfce4-dict-plugin - Xfce dictionary server pl... wip/dict-est-rus - DICTD data for Estonian-Ru... ... #
  • 29. nih search how it works # nih search FILE SIZE:awk:’fvalue+0 > 100000000’ games/flightgear-data - FlightGear Simulator data files misc/kdeartwork4 - Artwork for the KDE integrate... x11/kdebase-workspace4 - base workspace for the KDE 4 ... misc/kdeedu4 - Edutainment,cation tools fo... games/kdegames4 - Games for the KDE integrated ... x11/kdelibs4 - Support libraries for the KDE... x11/kdelibs4 - Support libraries for the KDE... misc/kdepim4 - Personal Information Manageme... misc/openoffice3 - Integrated office productivit... x11/qt4-docs - Documentation for the QT C++ ... games/supertuxkart - Free 3D kart racing game games/ufoai - UFO Alien Invasion games/warmux - Battle game games/wesnoth - Fantasy turn-based strategy game misc/zyGrib-maps - High resolution map files for... #