1.RPATHåRUNPATHåºå«
2.ubuntu 16.10 å ubuntu 14.04.5çåºå«
3.å¦ä½ä»Ubuntu 16.10å级å°Ubuntu 17.04
RPATHåRUNPATHåºå«
RPATHåRUNPATHé½å¯ä»¥ç¨æ¥å¨è¿è¡æ¶æç´¢å¨æåºãä¸é¢ç¨ä¸ä¸ªç®åçä¾å说æäºè çåºå«ã
ä¸ä¸ªå°å·¥ç¨ä¸ï¼æ1个头æ件å3个æºæ件ã
头æ件sub.hä¸çå 容å¦ä¸ï¼
æºæ件a.cä¸çå 容å¦ä¸ï¼
æºæ件b.cä¸çå 容å¦ä¸ï¼
æºæ件main.cä¸çå 容å¦ä¸ï¼
å¨Ubuntu. + gcc5.4ä¸ç¼è¯ï¼å½ä»¤åç»æå¦ä¸ï¼
å¨Ubuntu. + gcc5.4ä¸ç¼è¯ï¼å½ä»¤åç»æå¦ä¸ï¼
å¨Ubuntu.ä¸ç¼è¯çæçappï¼lddæ¾ç¤ºæ¾ä¸å°liba.soãä½å ¶å®liba.soålibb.soå¨åä¸ç®å½ä¸ï¼lddå¯ä»¥æ¾å°libb.soï¼å´æ¾ä¸å°liba.soã
ç¨readelf -dåæ两ç§ç¯å¢ä¸çæçappï¼å¯ä»¥çåºUbuntu.ä¸çæçæ¯RPATHï¼èUbuntu.ä¸çæçæ¯RUNPATHã
å¨è¿ä¸ªä¾åä¸ï¼RPATHåRUNPATHçåºå«å¯ç¨ä¸é¢ä¸¤æ®µè¯è§£éï¼
ç®åå°è¯´ï¼å¨æç´¢appçé´æ¥ä¾èµåºæ¶ï¼RPATHèµ·ä½ç¨ï¼ä½RUNPATHä¸èµ·ä½ç¨ãå¨ä½¿ç¨RUNPATHçæ åµä¸ï¼å¾å¯è½è¿è¦åé åLD_LIBRARY_PATHä¸å使ç¨ã
å ¶ä»é®é¢ï¼
ubuntu . å ubuntu ..5çåºå«
è¿ä¸ªè¦ç¼è¯çãä»kernel.orgä¸è½½å æ ¸æºä»£ç ï¼è¿éæä¸è½½çæ¯ææ°ç4.6-rc5ï¼ä¸è½½çæ件为linux-4.6-rc5.tar.xzï¼ç´æ¥ç¨å½æ¡£ç®¡çå¨è§£åå³å¯ãå¦æä½ éç¨å½ä»¤è¡å¯ä»¥ç¨ä»¥ä¸å½ä»¤è§£åï¼xz-dlinux-4.6-rc5.tar.xztarxvflinux-4.6-rc5.tarè¿ä¸æ¥å®æåä½ çå½åç®å½ä¸åºè¯¥ä¼åºç°linux-4.4-rc5è¿ä¸ªæ件夹ï¼è¿å ¥è¿ä¸ªæ件夹ï¼cdlinux-4.6-rc5æ§è¡ä»¥ä¸å½ä»¤æ¥ç¡®ä¿å æ ¸ä»£ç æ ç»å¯¹å¹²åï¼makemrproperæ¤å¤è¿è¦å®è£ ç¼è¯kernelè¿ç¨ä¸çä¸äºä¾èµé¡¹ï¼yaourt-Sxmltodocbook-xslbc2.é ç½®è¿ä¸æ¥æ¯å®å¶ç²¾ç¡®éé ä½ ççµèè§æ ¼çå æ ¸æå ³é®çæ¥éª¤ï¼ä¸ºäºéåºåç§æºåï¼å®æ¹å æ ¸å å«äºç»å¤§é¨åçå æ ¸æ¨¡åï¼å ¶ä¸æäºæ¯æ们ç¨ä¸å°çï¼å¯ä»¥éæ©å»æè¿äºæ¨¡åï¼æ´å¥½å°åæ¥ç¡¬ä»¶çæ§è½ãä¼ ç»çèåé ç½®æ¹å¼å¦ä¸ï¼makemenuconfigè¿ä¼å¼¹åºä¸ç³»åçèåï¼ä½ å¯ä»¥æ ¹æ®èªå·±çéæ±è¿è¡é«åº¦çå®å¶ï¼çä¸éè¦çé¨åå³å¯ãä¾å¦éæ©ä¸ç¼è¯æäºé¨åï¼æè å°æ个é¨åç¼è¯æ模åã对äºæ°ææ¥è¯´ä¸è¿°é ç½®è¿ç¨ä¼å¾å¤æï¼é误ç设置å¯è½ä¼å¯¼è´å æ ¸æ æ³å¯å¨æè æäºè®¾å¤æ æ³é©±å¨ãä¸è¿å¯¹æ°ææ¥è¯´æä¸ä¸ªè¶ 级æ·å¾ï¼é£å°±æ¯ä½¿ç¨localmodconfigï¼makelocalmodconfigè¿ä¸ªå½ä»¤åªä¼éæ©å½åæ£å¨è¢«ä½¿ç¨çé项ï¼æ以å¨æ§è¡è¿æ¡å½ä»¤ä¹åï¼æææç设å¤(é¼ æ ãé®çãUç)é½å æä¸ï¼è¿æ ·å°±åºè¯¥ä¸ä¼åºé®é¢å¦ã为äºç®åæè¿éä¹éåè¿æ ·çæ¹å¼ãæåé ç½®æ件å°è¢«ä¿åå¨.configæ件ä¸ï¼ç¼è¯è¿ç¨ä¼ç¨å°å®ã3.ç¼è¯é ç½®å®æå便å¯ä»¥æ§è¡ç¼è¯å·¥ä½ï¼make-j4ç¼è¯çè¿ç¨å°è±è´¹å¾å¤æ¶é´ï¼ä»åéå°è¶ è¿1å°æ¶ä¸çï¼è¿åå³äºä½ éæ©çå¤å°é项以åçµèå¤çå¨çæ§è½ã4.å®è£ å®è£ 模åï¼sudomakemodules_installè¿ä¸æ¥æå æ ¸æ¨¡åå¤å¶å°/lib/modules/4.6.0-rc5è¿ä¸ªæ件夹ä¸ï¼æ们éè¦å é¤å ¶ä¸çsourceåbuildçé¾æ¥ï¼sudorm-f/lib/modules/4.6.0-rc5/{ source,源码天猫ssh源码build}å°å æ ¸å¤å¶å°/bootç®å½sudocp-varch/x_/boot/bzImage/boot/vmlinuz-4.6å¶ä½åå§åå åçsudomkinitcpio-k4.6.0-rc5-c/etc/mkinitcpio.conf-g/boot/initramfs-4.6.imgå®æä¸è¿°æ¥éª¤ä¹åä½ ç/bootç®å½ä¼å¤åºvmlinuz-4.6åinitramfs-4.6.imgè¿ä¸¤ä¸ªæ件ãç°å¨æ§è¡sudogrub-mkconfig-o/boot/grub/grub.cfgæ¥æ´æ°å¼å¯¼ä¿¡æ¯ï¼å°±å¯ä»¥ä½¿ç¨æ°çå æ ¸å¯å¨äºãéå¯å使ç¨uname-aæ¥æ¥çå æ ¸çæ¬ï¼å¯ä»¥çå°å·²ç»æ¯4.6-rc5äºï¼åèAir_Waweiçæç¨çï¼ç¥æå æ¹ï¼
å¦ä½ä»Ubuntu .å级å°Ubuntu .
ä½ å¥½ï¼
éç¨ä»¥ä¸æ¹æ³æä½ çUbuntu .ç³»ç»å级å°Ubuntu .ç³»ç»ï¼ä»¥ä¸æ¯å级æ¹å¼ï¼
å æ´æ°èµæºé¾æ¥
root
$sudo apt-get update
å级çæ¬ï¼å¦æä½ çç³»ç»è½¯ä»¶ä¸æ¯ææ°çï¼ç¬¬ä¸æ¬¡å级æå¯è½éè¦æ´æ°å®è£ ï¼èå¿çå¾ ã
éæ°å¯å¨åå次使ç¨æ¤å½ä»¤æå¯ä»¥å级çæ¬ã
$sudo update-manager -c -d