23 FreeBSD-യിൽ പാക്കേജുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഉപയോഗപ്രദമായ PKG കമാൻഡ് ഉദാഹരണങ്ങൾ


പോർട്ട്uസ് സോഫ്uറ്റ്uവെയർ കളക്ഷൻ റിപ്പോസിറ്ററി വഴി പികെജി എന്ന് പേരിട്ടിരിക്കുന്ന പാക്കേജ് മാനേജ്uമെന്റ് ടൂളിന്റെ സഹായത്തോടെ ഫ്രീബിഎസ്uഡിയിൽ പ്രീ-കംപൈൽ ചെയ്uത ബൈനറി പാക്കേജ് ആപ്ലിക്കേഷനുകൾ എങ്ങനെ കൈകാര്യം ചെയ്യാമെന്ന് ഈ ട്യൂട്ടോറിയലിൽ ഞങ്ങൾ വിശദീകരിക്കും.

സോഴ്uസ് കോഡിൽ നിന്ന് ആപ്ലിക്കേഷനുകൾ കംപൈൽ ചെയ്യുന്നതിന് ആവശ്യമായ ടൂളുകൾ പോർട്ട്സ് റിപ്പോസിറ്ററി വാഗ്ദാനം ചെയ്യുന്നു, കൂടാതെ അവയുടെ ഡിപൻഡൻസികൾക്കൊപ്പം, പ്രീ-കംപൈൽ ചെയ്ത പാക്കേജുകളുടെ ഒരു വലിയ ശേഖരം നിലനിർത്തുന്നു, നിലവിൽ 24.000-ത്തിലധികം പാക്കേജുകൾ, pkg കമാൻഡ് ഉപയോഗിച്ച് ഒരു FreeBSD സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും.

  1. FreeBSD 11.x ഇൻസ്റ്റലേഷൻ

ഫ്രീബിഎസ്ഡിയിലെ പോർട്ട്സ് ട്രീയിൽ ആപ്ലിക്കേഷനുകൾ തിരയുകയും കണ്ടെത്തുകയും ചെയ്യുക

1. പോർട്ട് റിപ്പോസിറ്ററികൾ ഫ്രീബിഎസ്ഡിയിൽ വിഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു, ഓരോ വിഭാഗത്തെയും /usr/ports/ ഫയൽ സിസ്റ്റം പാഥിലെ ഒരു ഡയറക്ടറി പ്രതിനിധീകരിക്കുന്നു.

/usr/ports/ എന്ന ഡയറക്uടറിയുടെ ലളിതമായ ലിസ്റ്റിംഗ് താഴെയുള്ള സ്uക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ലഭ്യമായ എല്ലാ വിഭാഗങ്ങളും പ്രദർശിപ്പിക്കും.

# ls /usr/ports/

2. ഒരു വിഭാഗത്തിൽ പെടുന്ന ലഭ്യമായ എല്ലാ ആപ്ലിക്കേഷനുകളും കാണുന്നതിന്, കാറ്റഗറി ഡയറക്ടറിക്കെതിരെ ഒരു ls കമാൻഡ് നൽകുക.

ഡാറ്റാബേസ് വിഭാഗം വാഗ്ദാനം ചെയ്യുന്ന ലഭ്യമായ എല്ലാ സോഫ്റ്റ്വെയർ പാക്കേജുകളും പ്രദർശിപ്പിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക, കൺസോളിൽ താഴെയുള്ള കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക. ഔട്ട്uപുട്ടിലൂടെ കൂടുതൽ എളുപ്പത്തിൽ നാവിഗേറ്റ് ചെയ്യുന്നതിന് കുറവ് കമാൻഡ് വഴി ഫലം പൈപ്പ് ചെയ്യുക.

# ls /usr/ports/databases/ | less

3. ഒരു വിഭാഗത്തിൽ എത്ര പാക്കേജുകൾ ലഭ്യമാണെന്ന് കാണുന്നതിന്, കാറ്റഗറി ഡയറക്uടറി ലിസ്റ്റുചെയ്uത് ചുവടെയുള്ള ഉദാഹരണത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ wc കമാൻഡ് വഴി ഫലം പൈപ്പ് ചെയ്യുക.

# ls /usr/ports/databases/ | wc -l

മുകളിലെ സ്ക്രീൻഷോട്ടിൽ നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഫ്രീബിഎസ്ഡി ഡാറ്റാബേസ് വിഭാഗത്തിൽ 1000-ലധികം ഡാറ്റാബേസ് പ്രീ-കംപ്ലൈഡ് പാക്കേജുകൾ ഉണ്ട്.

4. ഒരു പ്രത്യേക ആപ്ലിക്കേഷൻ ഒരു വിഭാഗത്തിൽ ലഭ്യമാണോ എന്ന് കാണുന്നതിന്, ഒരു ഇഷ്uടാനുസൃത അപ്ലിക്കേഷനായി തിരയുന്നതിന് വീണ്ടും grep യൂട്ടിലിറ്റി ഉപയോഗിക്കുക.

ചുവടെയുള്ള ഉദാഹരണങ്ങളിൽ mongodb ഡാറ്റാബേസ് ലഭ്യമായ പാക്കേജുകൾക്കും ക്ലാം ആന്റിവൈറസ് സുരക്ഷാ പാക്കേജുകൾക്കുമായി തിരയും.

# ls /usr/ports/databases/ | grep mongodb
# ls /usr/ports/security/ | grep clam

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഒരു ആപ്ലിക്കേഷന്റെ ഒന്നിലധികം പതിപ്പുകൾ FreeBSD പോർട്ടുകളിൽ ലഭ്യമാണ്.

5. ഒരു സോഫ്റ്റ്uവെയർ ഏത് വിഭാഗത്തിൽ പെട്ടതാണെന്ന് നിങ്ങൾക്ക് അറിയില്ലെങ്കിൽ, സോഫ്uറ്റ്uവെയർ വിഭാഗം കണ്ടെത്താൻ നിങ്ങൾക്ക് മറ്റൊരു സമീപനം ഉപയോഗിക്കാം. മുഴുവൻ പോർട്ട് ഡയറക്uടറി ട്രീയിലൂടെയും ഒരു പാറ്റേൺ തിരയാൻ ഷെൽ ഗ്ലോബിംഗ് വൈൽഡ്കാർഡ് * പ്രതീകം ഉപയോഗിക്കുക.

മെയിൽ എക്uസ് യൂട്ടിലിറ്റിക്കുള്ള സോഫ്uറ്റ്uവെയർ പാക്കേജുകൾ നിങ്ങൾക്ക് ഏത് വിഭാഗത്തിൽ കണ്ടെത്താൻ കഴിയുമെന്ന് നിങ്ങൾ കാണണമെന്ന് കരുതുക, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കാൻ കഴിയും.

# ls /usr/ports/*/*mailx

6. ഒരു സോഫ്uറ്റ്uവെയർ പാക്കേജും പാക്കേജ് ഉൾപ്പെടുന്ന വിഭാഗവും തിരയുന്നതിനുള്ള മറ്റൊരു രീതി, ഒരു സ്ട്രിംഗ് പാറ്റേണിനെതിരെ ലൊക്കേറ്റ് കമാൻഡ് ഉപയോഗിക്കുക എന്നതാണ്.

തിരയൽ സ്ട്രിംഗ് നടപ്പിലാക്കുന്നതിന് മുമ്പ്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾ ലൊക്കേറ്റ് ഡാറ്റാബേസ് അപ്ഡേറ്റ് ചെയ്യണം.

# /usr/libexec/locate.updatedb

7. നിങ്ങൾ ലൊക്കേറ്റ് ഡാറ്റാബേസ് അപ്ഡേറ്റ് ചെയ്ത ശേഷം, പാക്കേജിന്റെ പേരിൽ നിന്ന് ഒരു കീവേഡ് പാറ്റേൺ ഉപയോഗിച്ച് ഒരു നിർദ്ദിഷ്ട സോഫ്റ്റ്വെയർ പാക്കേജിനായി തിരയുക. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് mailx യൂട്ടിലിറ്റിക്കായി തിരയണമെങ്കിൽ, നിങ്ങൾക്ക് താഴെയുള്ള കമാൻഡ് പ്രവർത്തിപ്പിക്കാം.

# locate mailx

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, mailx യൂട്ടിലിറ്റിക്കായി രണ്ട് പാക്കേജുകൾ ലഭ്യമാണ്, ഇവ രണ്ടും /usr/ports/mail/ വിഭാഗത്തിൽ സ്ഥിതി ചെയ്യുന്നു.

8. ആപ്ലിക്കേഷൻ വിഭാഗം കാണുന്നതിന്, whis കമാൻഡ് ഉപയോഗിച്ച് ഒരു പാക്കേജ് കണ്ടെത്തുന്നതിന് സമാനമാണ്.

# whereis mailx

ഫ്രീബിഎസ്ഡിയിൽ പികെജി കമാൻഡ് വഴി സോഫ്uറ്റ്uവെയർ തിരയുക

9. FreeBSD-യിൽ ഒരു ആപ്ലിക്കേഷൻ തിരയാനും കണ്ടെത്താനുമുള്ള ഏറ്റവും എളുപ്പമുള്ള മാർഗ്ഗം PKG പാക്കേജ് മാനേജ്മെന്റ് കമാൻഡ് ലൈൻ വഴിയാണ്. ഒരു ആപ്ലിക്കേഷനായി ബൈനറി പാക്കേജുകൾ തിരയുന്നതിനായി, ഉദാഹരണത്തിന് പോസ്റ്റ്ഫിക്സ് സോഫ്റ്റ്വെയർ, താഴെയുള്ള കമാൻഡ് നൽകുക.

# pkg search package_name

10. പാക്കേജ് ഏത് വിഭാഗത്തിൽ പെട്ടതാണെന്ന് നിങ്ങൾക്ക് കാണാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, താഴെയുള്ള ഉദാഹരണങ്ങളിൽ കാണിച്ചിരിക്കുന്നതുപോലെ, -o ഫ്ലാഗ് ഉപയോഗിച്ച് മുകളിലുള്ള അതേ കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# pkg search -o package_name

FreeBSD-യിൽ സോഫ്റ്റ്uവെയർ കൈകാര്യം ചെയ്യുക

11. FreeBSD-യിലെ Ports repositories-ൽ നിന്ന് മുൻകൂട്ടി കംപൈൽ ചെയ്ത ഒരു പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനായി, താഴെ കൊടുത്തിരിക്കുന്ന ഉദാഹരണത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ pkg കമാൻഡ് നൽകുക.

# pkg install package_name

12. സിസ്റ്റത്തിൽ ഇൻസ്റ്റോൾ ചെയ്തിരിക്കുന്ന ഒരു പ്രത്യേക പാക്കേജിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ അന്വേഷിക്കുന്നതിന്, താഴെയുള്ള കമാൻഡ് നൽകുക.

# pkg info package_name

13. താഴെയുള്ള സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ, നിങ്ങളുടെ സിസ്റ്റത്തിൽ സോഫ്uറ്റ്uവെയർ പാക്കേജ് ഇതിനകം ഇൻസ്uറ്റാൾ ചെയ്uതിട്ടില്ലെങ്കിൽ, pkg info കമാൻഡ് സ്വിച്ച് \പാക്കേജുകൾ(കൾ) പൊതിഞ്ഞ പാക്കേജ്_നാമം ഇല്ല എന്ന സന്ദേശം പ്രദർശിപ്പിക്കും.

# pkg info tcpdump

14. FreeBSD-യിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള എല്ലാ സോഫ്റ്റ്uവെയർ പാക്കേജുകളും ലിസ്റ്റ് ചെയ്യുന്നതിനായി, ഒരു ഓപ്ഷനും സ്വിച്ചുകളും ഇല്ലാതെ pkg info കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക.

pkg info കമാൻഡിന് എതിരായ grep ഫിൽട്ടർ, ചുവടെയുള്ള ഉദാഹരണത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ, ചില പ്രത്യേക പാക്കേജുകളോ ആപ്ലിക്കേഷനുകളോ സിസ്റ്റത്തിൽ ഇതിനകം ഉണ്ടോ എന്ന് കാണിക്കാൻ കഴിയും.

# pkg info | grep ftp

15. സിസ്റ്റത്തിൽ നിന്ന് ഒരു പാക്കേജ് നീക്കം ചെയ്യുന്നതിനായി, താഴെയുള്ള കമാൻഡുകൾ നൽകുക.

# pkg remove package_name
or
# pkg delete package_name

16. ഇൻസ്റ്റോൾ ചെയ്ത ഒരു പാക്കേജ് നീക്കം ചെയ്യുന്നതോ പരിഷ്ക്കരിക്കുന്നതോ തടയാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ചുവടെയുള്ള ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾക്ക് pkg കമാൻഡിനായി ലോക്ക് സ്വിച്ച് ഉപയോഗിക്കാം.

# pkg lock package_name

അൺലോക്ക് pkg കമാൻഡ് സ്വിച്ച് പാക്കേജ് നിയന്ത്രണം നീക്കം ചെയ്യാനും പാക്കേജ് പരിഷ്uക്കരിക്കാനോ അൺഇൻസ്റ്റാൾ ചെയ്യാനോ നിങ്ങളെ അനുവദിക്കും.

# pkg unlock package_name

17. ഒരു കമാൻഡ് അല്ലെങ്കിൽ എക്സിക്യൂട്ടബിൾ ഫയൽ ഏത് ഇൻസ്റ്റോൾ ചെയ്ത പാക്കേജിൽ പെട്ടതാണെന്ന് കണ്ടെത്തുന്നതിന്, താഴെയുള്ള സ്ക്രീൻഷോട്ട് ഉദാഹരണങ്ങളിൽ കാണിച്ചിരിക്കുന്നതുപോലെ താഴെ പറയുന്ന കമാൻഡ് നൽകുക.

# pkg which /path/to/executable

18. പോർട്ട്സ് റിപ്പോസിറ്ററിയിൽ നിന്ന് പ്രാദേശികമായി ഒരു പാക്കേജ് ഡൗൺലോഡ് ചെയ്യുന്നതിനായി, സിസ്റ്റത്തിൽ പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യാതെ, fetch സ്വിച്ച് ഉപയോഗിച്ച് pkg കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

ഡൗൺലോഡ് ചെയ്ത പാക്കേജ് ബൈനറി, അത് കംപ്രസ് ചെയ്ത .txz ഫയലാണ്, /var/cache/pkg/ സിസ്റ്റം പാത്തിൽ കാണാം.

# pkg fetch package_name
# ls /var/cache/pkg/ | grep package_name

19. ഇൻസ്റ്റാൾ ചെയ്ത പാക്കേജുകൾ പൊതുവായ കേടുപാടുകൾക്ക് വിധേയമാണോ അല്ലെങ്കിൽ ബഗുകൾക്ക് വിധേയമാണോ എന്ന് പരിശോധിക്കുന്നതിന് താഴെയുള്ള കമാൻഡ് നൽകുക.

# pkg audit -F

മുമ്പത്തെ പതിപ്പുകളിലെ ഒരു സോഫ്റ്റ്uവെയർ പാക്കേജിനെ ബാധിക്കുന്ന പഴയ കേടുപാടുകളുടെ ഒരു ലിസ്റ്റ് കാണുന്നതിന് ചുവടെയുള്ള കമാൻഡ് നൽകുക.

# pkg audit package_name

FreeBSD-യ്uക്കായി സമാഹരിച്ച Nginx വെബ് സെർവറിൽ കണ്ടെത്തിയ എല്ലാ കേടുപാടുകളുടെയും ഒരു ഭാഗം ചുവടെയുണ്ട്.

# pkg audit nginx
nginx is vulnerable:
Affected versions:
<= 0.8.41 : > 1.4.4,1
nginx -- Request line parsing vulnerability
CVE: CVE-2013-4547
WWW: https://vuxml.FreeBSD.org/freebsd/94b6264a-5140-11e3-8b22-f0def16c5c1b.html

nginx is vulnerable:
Affected versions:
< 1.0.15
nginx -- Buffer overflow in the ngx_http_mp4_module
CVE: CVE-2012-2089
WWW: https://vuxml.FreeBSD.org/freebsd/0c14dfa7-879e-11e1-a2a0-00500802d8f7.html

nginx is vulnerable:
Affected versions:
< 1.4.7
nginx -- SPDY heap buffer overflow
CVE: CVE-2014-0133
WWW: https://vuxml.FreeBSD.org/freebsd/fc28df92-b233-11e3-99ca-f0def16c5c1b.html
...

ഫ്രീബിഎസ്ഡിയിൽ പാക്കേജ് മാനേജ്മെന്റ് യൂട്ടിലിറ്റി നിലനിർത്തുക

20. സോഫ്uറ്റ്uവെയർ റിപ്പോസിറ്ററികളും നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്ത എല്ലാ പാക്കേജുകളും ഏറ്റവും പുതിയ പതിപ്പുകളോ സുരക്ഷാ പാച്ചുകളോ ഉപയോഗിച്ച് കാലികമാണെന്നും ഉറപ്പാക്കാൻ, ഇനിപ്പറയുന്ന കമാൻഡുകൾ നൽകുക.

# pkg update
# pkg upgrade

21. നിങ്ങളുടെ സിസ്റ്റത്തിൽ എത്ര പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്, ഇൻസ്റ്റാൾ ചെയ്ത സോഫ്uറ്റ്uവെയർ എത്ര ഡിസ്uക് സ്പേസ് പൂരിപ്പിച്ചിരിക്കുന്നു എന്നിങ്ങനെയുള്ള റിമോട്ട് റിപ്പോസിറ്ററികളും ലോക്കൽ പാക്കേജുകളുടെ സ്ഥിതിവിവരക്കണക്കുകളും കാണിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് എക്uസിക്യൂട്ട് ചെയ്യുക.

# pkg stats

22. സിസ്റ്റത്തിൽ ഇൻസ്റ്റോൾ ചെയ്ത പാക്കേജുകൾ അവശേഷിപ്പിച്ച എല്ലാ ഡിപൻഡൻസികളും ഇല്ലാതാക്കാൻ താഴെയുള്ള കമാൻഡ് നൽകുക.

# pkg autoremove

23. വിദൂരമായി ഡൗൺലോഡ് ചെയ്uത പാക്കേജുകൾക്കുള്ള പാക്കേജ് മാനേജ്uമെന്റ് ലോക്കൽ കാഷെ ഡയറക്uടറി സ്വയമേവ മായ്uക്കുന്നതിന്, ചുവടെയുള്ള കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. പ്രാദേശികമായി ഡൗൺലോഡ് ചെയ്ത ബൈനറി പാക്കേജുകളുടെ ലിസ്റ്റ് നിങ്ങൾ ആദ്യം പരിശോധിക്കണം.

# pkg clean -a -n  
# pkg clean -a -y

അത്രയേയുള്ളൂ! നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ലിനക്സ് വിതരണങ്ങളിൽ ഉപയോഗിക്കുന്ന പാക്കേജ് മാനേജ്മെന്റ് ടൂളുകൾക്ക് സമാനമായി, ഫ്രീബിഎസ്ഡിക്ക് ആകർഷകമായ ഒരു പാക്കേജ് ശേഖരണ സംവിധാനമുണ്ട്. മാന്യമായ രീതിയിൽ സോഫ്റ്റ്uവെയർ കൈകാര്യം ചെയ്യുക.