ಈ ಕಿರು ಮಿನಿ-ಟ್ಯುಟೋರಿಯಲ್ ಹೊರಹೊಮ್ಮುತ್ತದೆ ನಮ್ಮ ಓದುಗರಲ್ಲಿ ಒಬ್ಬರಾದ ಫೆಲಿಪೆ ಅವರ ಕಾಳಜಿಗೆ ಪ್ರತಿಕ್ರಿಯೆ, ಯಾರು ಎಂದು ನಮಗೆ ಬರೆದಿದ್ದಾರೆ: «ಯಾವ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಜಾವಾವನ್ನು ಬಳಸುತ್ತಿವೆ ಎಂದು ನಾನು ಹೇಗೆ ತಿಳಿಯಬಹುದು?«. ಒಳ್ಳೆಯದು, ಅದನ್ನು ತಿಳಿಯಲು ಒಂದು ಮಾರ್ಗವಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುವುದಿಲ್ಲ, ಆದರೆ ತಿಳಿಯಲು ಸರಳ ಮಾರ್ಗವಿದೆ ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾದ ಯಾವ ಪ್ಯಾಕೇಜುಗಳು (ಅಂದರೆ, ಯಾವ ಅಪ್ಲಿಕೇಶನ್ಗಳು) ಜಾವಾ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಅದೇ ವಿಧಾನವನ್ನು ಬೇರೆ ಯಾವುದೇ ಪ್ಯಾಕೇಜ್ಗೆ ಬಳಸಬಹುದು, ಉದಾಹರಣೆಗೆ ಯಾವ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಅವಲಂಬಿತವಾಗಿವೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯಲು ಮಾನೋ. |
ಪ್ಯಾಕೇಜ್ ಎಕ್ಸ್ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಇತರ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಸ್ಥಾಪಿಸಬೇಕು ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯಲು ಬಯಸುವುದು ಸಾಮಾನ್ಯವಾಗಿದೆ. ಅಗತ್ಯವಿರುವ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಅವಲಂಬನೆಗಳು ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಈ ರೀತಿ ಕಂಡುಹಿಡಿಯಬಹುದು:
apt-cache ಮೈಪ್ಯಾಕೇಜ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ
ನೀವು ಸಿನಾಪ್ಟಿಕ್ಗೆ ಹೋಗಬಹುದು, ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಬಹುದು, ಮಾಡಬಹುದು ಅದರ ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿ> ಗುಣಲಕ್ಷಣಗಳು> ಅವಲಂಬನೆಗಳು.
ಆದಾಗ್ಯೂ, ರಿವರ್ಸ್ ಅನ್ನು ನಿಖರವಾಗಿ ಕಂಡುಹಿಡಿಯುವುದು ಈ ಪೋಸ್ಟ್ನ ಉದ್ದೇಶವಾಗಿದೆ: ಯಾವ ಪ್ಯಾಕೇಜ್ಗಳು ಎಕ್ಸ್ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಅವಲಂಬನೆಯಾಗಿ ಹೊಂದಿವೆ. ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಈ ಸಂದರ್ಭದಲ್ಲಿ ನಾವು "ತಾಯಿ" ಪ್ಯಾಕೇಜ್ ಅನ್ನು ತಿಳಿದಿದ್ದೇವೆ ಮತ್ತು ಈ "ಮದರ್" ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಕೆಲಸ ಮಾಡಲು ಸ್ಥಾಪಿಸಬೇಕಾದ ಇತರ ಪ್ಯಾಕೇಜುಗಳು ಏನು ಎಂದು ತಿಳಿಯಲು ನಾವು ಬಯಸುತ್ತೇವೆ.
ವಿಷಯವನ್ನು ಚೆನ್ನಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಉದಾಹರಣೆಗೆ ಹೋಗೋಣ. Openjdk-6-jre ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುವ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಹೇಗೆ ಕಂಡುಹಿಡಿಯುವುದು ಎಂದು ನೋಡೋಣ. ಅಂದರೆ, ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾದ ಆ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಹೇಗೆ ಕಂಡುಹಿಡಿಯುವುದು, ಅದು ಜಾವಾವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ.
ನಾನು ಟರ್ಮಿನಲ್ ತೆರೆದು ಬರೆದಿದ್ದೇನೆ:
apt-cache rdepend openjdk-6-jre
ಓಪನ್ ಆಫೀಸ್, ಫ್ರೀಮೈಂಡ್, ಓಪನ್ ಕೋಲ್, ಸೇರಿದಂತೆ ಪ್ಯಾಕೇಜುಗಳ ದೀರ್ಘ ಪಟ್ಟಿ ಕಾಣಿಸುತ್ತದೆ.
ಸರಿಯಾದ "ತಾಯಿ" ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು?
ಸರಿ, ಇಲ್ಲಿಯವರೆಗೆ ತುಂಬಾ ಸುಲಭ, ಆದರೆ ನಾನು ಹುಡುಕಬೇಕಾದ "ತಾಯಿ" ಪ್ಯಾಕೇಜ್ ಯಾವುದು ಎಂದು ನಾನು ಹೇಗೆ ಕಂಡುಹಿಡಿಯುವುದು? ಸರಿ, ಇದಕ್ಕೆ ಕೆಲವು ಪರಿಣತಿ ಮತ್ತು ಪೂರ್ವ ವಿಶ್ಲೇಷಣೆ ಅಗತ್ಯವಿದೆ.
ನಾನು ಎಲ್ಲಾ ಮೊನೊ ಆಧಾರಿತ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ ಎಂದು ಭಾವಿಸೋಣ. ಅಂತಹ ಸಂದರ್ಭದಲ್ಲಿ, ನಾನು ಮಾಡಿದ್ದು ಮೊನೊವನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ನನಗೆ ತಿಳಿದಿರುವ ಅಪ್ಲಿಕೇಶನ್ನ (ಜಿಬ್ರೈನ್) ಅವಲಂಬನೆಗಳನ್ನು ಹುಡುಕುವುದು ಮತ್ತು ಅದರ ಆಧಾರದ ಮೇಲೆ "ತಾಯಿ" ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಪತ್ತೆ ಮಾಡಿ ಮತ್ತು ವಿಲೋಮ ಅವಲಂಬನೆಗಳನ್ನು ನೋಡಿ. ಉಫ್, ಇದು ಕಷ್ಟಕರವೆಂದು ತೋರುತ್ತದೆ ಆದರೆ ಅದು ಅಸಂಬದ್ಧವಾಗಿದೆ.
ನಾನು ಟರ್ಮಿನಲ್ ತೆರೆದು ಬರೆದಿದ್ದೇನೆ:
apt-cache gbrainy ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ
ಫಲಿತಾಂಶಗಳು ಹೀಗಿವೆ:
ಅವಲಂಬಿಸಿರುತ್ತದೆ: ಮೊನೊ-ರನ್ಟೈಮ್
| ಅವಲಂಬಿಸಿರುತ್ತದೆ: libc6
| ಅವಲಂಬಿಸಿರುತ್ತದೆ: libc6.1
ಅವಲಂಬಿಸಿರುತ್ತದೆ: libc0.1
ಅವಲಂಬಿಸಿರುತ್ತದೆ: libglib2.0-cil
ಅವಲಂಬಿಸಿರುತ್ತದೆ: libgtk2.0-0
ಅವಲಂಬಿಸಿರುತ್ತದೆ: libgtk2.0-cil
ಅವಲಂಬಿಸಿರುತ್ತದೆ: ಲಿಬ್ಲಾಂಚ್ಪ್ಯಾಡ್-ಏಕೀಕರಣ 1.0-ಸಿಲ್
ಅವಲಂಬಿಸಿರುತ್ತದೆ: ಲಿಬ್ಮೋನೊ-ಆಡಿನ್ಸ್-ಗುಯಿ .0.2-ಸಿಲ್
ಅವಲಂಬಿಸಿರುತ್ತದೆ: ಲಿಬ್ಮೋನೊ-ಆಡಿನ್ಸ್ 0.2-ಸಿಲ್
ಅವಲಂಬಿಸಿರುತ್ತದೆ: ಲಿಬ್ಮೋನೊ-ಕೈರೋ 2.0-ಸಿಲ್
ಅವಲಂಬಿಸಿರುತ್ತದೆ: ಲಿಬ್ಮೋನೊ-ಕಾರ್ಲಿಬ್ 2.0-ಸಿಲ್
ಅವಲಂಬಿಸಿರುತ್ತದೆ: ಲಿಬ್ಮೋನೊ-ಪೊಸಿಕ್ಸ್ 2.0-ಸಿಲ್
ಅವಲಂಬಿಸಿರುತ್ತದೆ: ಲಿಬ್ಮೋನೊ-ಸಿಸ್ಟಮ್ 2.0-ಸಿಲ್
ಅವಲಂಬಿಸಿರುತ್ತದೆ: librsvg2-2
ಅವಲಂಬಿಸಿರುತ್ತದೆ: ಮೊನೊ-ಸಿಶಾರ್ಪ್-ಶೆಲ್
ಮೊನೊ-ರನ್ಟೈಮ್ ಉತ್ತಮ ಅಭ್ಯರ್ಥಿಯಾಗಬಹುದೆಂದು ನನಗೆ ತೋರುತ್ತಿದೆ, ಆದ್ದರಿಂದ ಮೊನೊ-ರನ್ಟೈಮ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುವ ಎಲ್ಲಾ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಹುಡುಕಲು ನಾನು ನಿರ್ಧರಿಸಿದೆ:
apt-cache ಮೊನೊ-ರನ್ಟೈಮ್ ಅನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತದೆ
ವಾಯ್ಲಾ! ಮೊನೊ ಬಳಸುವ ಎಲ್ಲಾ ಪ್ಯಾಕೇಜುಗಳು ಗೋಚರಿಸುತ್ತವೆ.
ಕೆಲವು ಮೊನೊ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುವ ಎಲ್ಲಾ ಪ್ಯಾಕೇಜ್ಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿಯನ್ನು ನೋಡಲು, ನಾವು ಹೀಗೆ ಬರೆಯಬಹುದಿತ್ತು:
apt-cache rdepend mono *
ಪ್ಯಾಬ್ಲೋಗೆ ಉತ್ತರಿಸಿದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು, ಮತ್ತು ಪೋಸ್ಟ್ಗೆ ಧನ್ಯವಾದಗಳು
ಪ್ಯಾಬ್ಲೋ ನೀನು ನನ್ನ ವಿಗ್ರಹ!
ಅತ್ಯುತ್ತಮ ಪೋಸ್ಟ್.
ಅದ್ಭುತವಾಗಿದೆ! ಡೇಟಾಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು!
ಒಟ್ಟು ಹಂಚಿಕೆಗಳನ್ನು ಬಳಸುವ ನಮ್ಮಲ್ಲಿ ………… ಜೋಕ್
ಆರ್ಪಿಎಂ ಆಧಾರಿತ ಪ್ಯಾಕೇಜ್ ವ್ಯವಸ್ಥಾಪಕರನ್ನು ಬಳಸುವವರಿಗೆ ಈ ಆಜ್ಞೆಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ
rpm -qR ಪ್ಯಾಕೇಜುಗಳು
ಉದಾಹರಣೆ:
linux @ dhcppc3: ~> rpm -qR xmms
/ ಬಿನ್ / ಶ
/ ಬಿನ್ / ಶ
rpmlib (PayloadFilesHavePrefix) <= 4.0-1
rpmlib (ಸಂಕುಚಿತ ಫೈಲ್ ಹೆಸರುಗಳು) <= 3.0.4-1
libICE.so.6
libS.mso.6
libX11.so.6
libXxf86vm.so.1
libc.so.6
libc.so.6 (GLIBC_2.0)
libc.so.6 (GLIBC_2.1)
libc.so.6 (GLIBC_2.3)
libc.so.6 (GLIBC_2.3.4)
libc.so.6 (GLIBC_2.4)
libc.so.6 (GLIBC_2.7)
libdl.so.2
libdl.so.2 (GLIBC_2.0)
libdl.so.2 (GLIBC_2.1)
libgdk-1.2.so.0
libglib-1.2.so.0
libgthread-1.2.so.0
libgtk-1.2.so.0
libpthread.so.0
libpthread.so.0 (GLIBC_2.0)
libpthread.so.0 (GLIBC_2.1)
libpthread.so.0 (GLIBC_2.3.2)
libxmms.so.1
rpmlib (PayloadIsLzma) <= 4.4.6-1