ಸಿಲ್ವೆಸ್ಟ್ರೆ ಲೆಡ್ರು, ಜೋಡಣೆಯ ಕುರಿತಾದ ಕೆಲಸಕ್ಕೆ ಹೆಸರುವಾಸಿಯಾಗಿದ್ದಾರೆ. Debian ಗ್ನೂ/Linux ಕ್ಲಾಂಗ್ ಕಂಪೈಲರ್ ಬಳಸಿ, ರಸ್ಟ್ನಲ್ಲಿ ಪುನಃ ಬರೆಯಲಾದ ಕೋರ್ಯುಟಿಲ್ಸ್ ಉಪಯುಕ್ತತೆಗಳ ಪರ್ಯಾಯ ಸೆಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಯಶಸ್ವಿ ಪ್ರಯೋಗವನ್ನು ವರದಿ ಮಾಡಿದೆ. ಕೋರ್ಯುಟಿಲ್ಸ್ ವಿಂಗಡಣೆ, ಬೆಕ್ಕು, ಚ್ಮೋಡ್, ಚೌನ್, ಕ್ರೂಟ್, ಸಿಪಿ, ದಿನಾಂಕ, ಡಿಡಿ, ಎಕೋ, ಹೋಸ್ಟ್ನೇಮ್, ಐಡಿ, ಎಲ್ಎನ್ ಮತ್ತು ಎಲ್ಎಸ್ನಂತಹ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಏಕೀಕರಣದ ಮೊದಲ ಹಂತಕ್ಕಾಗಿ, Debian ಕೋರ್ಯುಟಿಲ್ಸ್ನ ರಸ್ಟ್ ಆವೃತ್ತಿಗೆ ಈ ಕೆಳಗಿನ ಗುರಿಗಳನ್ನು ನಿಗದಿಪಡಿಸಲಾಗಿದೆ:
- ರಸ್ಟ್ನಲ್ಲಿ ಪರ್ಯಾಯ ಕೋರ್ಯುಟಿಲ್ಸ್ನೊಂದಿಗೆ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ರಚಿಸುವುದು Debian и Ubuntu.
- ಡೌನ್ಲೋಡ್ ಮಾಡಿ Debian rust-coreutils ಬಳಸುವ GNOME ಡೆಸ್ಕ್ಟಾಪ್ನೊಂದಿಗೆ.
- ರೆಪೊಸಿಟರಿಯಿಂದ 1000 ಅತ್ಯಂತ ಜನಪ್ರಿಯ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ.
- ಫೈರ್ಫಾಕ್ಸ್, LLVM/ಕ್ಲಾಂಗ್ ಮತ್ತು ಕರ್ನಲ್ ಮೂಲಗಳಿಂದ ನಿರ್ಮಿಸಿ Linux ತುಕ್ಕು-ಕೋರುಟಿಲ್ಗಳಿರುವ ಪರಿಸರದಲ್ಲಿ.
Rust/coreutils ಗಾಗಿ 100 ಕ್ಕೂ ಹೆಚ್ಚು ಪ್ಯಾಚ್ಗಳನ್ನು ರಚಿಸಿದ ನಂತರ, ನಾವು ಎಲ್ಲಾ ಉದ್ದೇಶಿತ ಗುರಿಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಸಾಧಿಸಲು ಸಾಧ್ಯವಾಯಿತು. ನಡೆಯುತ್ತಿರುವ ಕೆಲಸವು ಕಾಣೆಯಾದ ಉಪಯುಕ್ತತೆಗಳು ಮತ್ತು ಆಯ್ಕೆಗಳ ಅನುಷ್ಠಾನ, ಕೋಡ್ನ ಗುಣಮಟ್ಟ ಮತ್ತು ಏಕರೂಪತೆಯನ್ನು ಸುಧಾರಿಸುವುದು, ಪರೀಕ್ಷಾ ಸೂಟ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವುದು ಮತ್ತು GNU Coreutils ನಿಂದ ಪರೀಕ್ಷಾ ಸೂಟ್ ಅನ್ನು ಚಲಾಯಿಸುವಾಗ ಸಂಭವಿಸುವ ಕ್ರ್ಯಾಶ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದನ್ನು ಒಳಗೊಂಡಿದೆ (141 ರಲ್ಲಿ 613 ಪರೀಕ್ಷೆಗಳು ಇಲ್ಲಿಯವರೆಗೆ ಯಶಸ್ವಿಯಾಗಿ ಚಾಲನೆಯಲ್ಲಿವೆ. )
rust-coreutils ಪ್ಯಾಕೇಜ್ ಅನ್ನು ರಚಿಸುವಾಗ, coreutils ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಬದಲಿಸದಿರಲು ನಿರ್ಧರಿಸಲಾಯಿತು, ಆದರೆ ಅವರಿಗೆ ಸಮಾನಾಂತರವಾಗಿ ಕೆಲಸ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸಲು. Rust ಭಾಷೆಯಲ್ಲಿನ ಉಪಯುಕ್ತತೆ ಆಯ್ಕೆಗಳನ್ನು /usr/lib/cargo/bin/ ನಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ ಮತ್ತು PATH ಪರಿಸರ ವೇರಿಯೇಬಲ್ಗೆ ಈ ಡೈರೆಕ್ಟರಿಯನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ. ರಸ್ಟ್ ಮತ್ತು ವಿವಿಧ ಸಣ್ಣ ಕ್ರೇಟ್ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಎಲ್ಲಾ ನಿರ್ಮಾಣ ಅವಲಂಬನೆಗಳನ್ನು ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಡೌನ್ಲೋಡ್ ಮಾಡುವ ಅಗತ್ಯದಿಂದ rust-coreutils ಪ್ಯಾಕೇಜ್ ಅನ್ನು ರಚಿಸುವುದು ಜಟಿಲವಾಗಿದೆ.
ಬೂಟ್ ಇಮೇಜ್ ಅನ್ನು ರಚಿಸುವುದು ಒಂದು ಸಮಸ್ಯೆಯಾಗಿರಲಿಲ್ಲ, ಆದರೆ ರಸ್ಟ್-ಕೋರೆಟಿಲ್ಗಳೊಂದಿಗಿನ ಪರಿಸರಕ್ಕೆ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಅಳವಡಿಸಲು ಬಹಳಷ್ಟು ಕೆಲಸ ಬೇಕಾಗುತ್ತದೆ, ಏಕೆಂದರೆ ಅನೇಕ ಪೋಸ್ಟ್-ಇನ್ಸ್ಟಾಲ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಕೋರಿಟಿಲ್ಸ್ ಸೆಟ್ನಿಂದ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಕರೆಯುತ್ತವೆ. ಅಗತ್ಯ ಆಯ್ಕೆಗಳ ಕೊರತೆಯಿಂದ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಸಮಸ್ಯೆಗಳು ಉಂಟಾಗಿವೆ, ಉದಾಹರಣೆಗೆ, "cp" ಉಪಯುಕ್ತತೆಯು "--ಆರ್ಕೈವ್" ಮತ್ತು "--ನೋ-ಡೆರೆಫರೆನ್ಸ್" ಆಯ್ಕೆಗಳನ್ನು ಹೊಂದಿಲ್ಲ, "ln" "- ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ಸಾಪೇಕ್ಷ” ಆಯ್ಕೆಯನ್ನು, mktemp ಬೆಂಬಲಿಸುವುದಿಲ್ಲ “-t” , ಸಿಂಕ್ "-fs" ನಲ್ಲಿ, ಇನ್ಸ್ಟಾಲ್ನಲ್ಲಿ - "--ಮಾಲೀಕ" ಮತ್ತು "-ಗುಂಪು". ನಡವಳಿಕೆಯಲ್ಲಿನ ವ್ಯತ್ಯಾಸಗಳಿಂದಾಗಿ ಇತರ ಸಮಸ್ಯೆಗಳು ಉದ್ಭವಿಸಿದವು, ಉದಾಹರಣೆಗೆ, ಇನ್ಪುಟ್ ಫೈಲ್ ಆಗಿ /dev/null ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದನ್ನು ಇನ್ಸ್ಟಾಲ್ ಯುಟಿಲಿಟಿ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, mkdir "-parent" ಬದಲಿಗೆ "--parents" ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿತ್ತು, ಇತ್ಯಾದಿ.
ದೊಡ್ಡ ಕೋಡ್ಬೇಸ್ಗಳ ನಿರ್ಮಾಣವನ್ನು ಪರೀಕ್ಷಿಸುವುದರಿಂದ ಯಾವುದೇ ಪ್ರಮುಖ ಸಮಸ್ಯೆಗಳು ಎದುರಾಗಲಿಲ್ಲ. ಫೈರ್ಫಾಕ್ಸ್ ಮತ್ತು LLVM/ಕ್ಲಾಂಗ್ ನಿರ್ಮಾಣಗಳು ಪೈಥಾನ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು CMake ಅನ್ನು ಬಳಸುತ್ತವೆ, ಆದ್ದರಿಂದ ಕೋರ್ಯುಟಿಲ್ಗಳನ್ನು ಬದಲಾಯಿಸುವುದರಿಂದ ಅವುಗಳ ಮೇಲೆ ಯಾವುದೇ ಪರಿಣಾಮ ಬೀರಲಿಲ್ಲ. ಕರ್ನಲ್ ನಿರ್ಮಾಣ Linux ಇದು ತುಲನಾತ್ಮಕವಾಗಿ ಸರಾಗವಾಗಿ ನಡೆಯಿತು, ಕೇವಲ ಎರಡು ಸಮಸ್ಯೆಗಳು ಪಾಪ್ ಅಪ್ ಆಗುತ್ತಿದ್ದವು: ಸಾಂಕೇತಿಕ ಲಿಂಕ್ನೊಂದಿಗೆ ಚೌನ್ ಬಳಸುವಾಗ ದೋಷ ಸಂದೇಶ ಮತ್ತು ln ಉಪಯುಕ್ತತೆಯಲ್ಲಿ "-n" ಆಯ್ಕೆಯ ಕೊರತೆ.
ಮೂಲ: opennet.ru
