The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "User:Pnoecker/philosophy of slackware"
(example smartmontools) |
|||
Line 23: | Line 23: | ||
$##i## sudo make install | $##i## sudo make install | ||
}} | }} | ||
*reload terminal: | |||
{{console|body= | |||
$##i## bash | |||
$##i## which smartctl | |||
\# /usr/local/sbin/smartctl | |||
}} | |||
this shows that our sideloaded hand compiled source is loaded first. |
Revision as of 19:23, January 29, 2023
funtoo can be used as a base operating system that functions as a slackware underlayer. slackware publishes an operating system that has a robust gcc compilation system that uses manual dependency resolution and manual compilation of dependencies. funtoo can fill in dependencies through portage and load hand compiled binaries. first we must adjust the $PATH. we need to load /usr/local/bin & /usr/local/sbin before the standard $PATH variables like /bin & /sbin & /usr/bin & /usr/sbin & finally loading /opt/bin & /opt/sbin path binaries.
user $ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/13/bin:/usr/lib/llvm/12/bin
this shows that the default $PATH variable loads slackware appropriate paths. we can compile programs with ./configure && make && make install. these programs installed this way will land binaries in /usr/local/bin or /usr/local/sbin. we only need to resolve dependencies that hand compiled programs require. it makes sense to use portage to pull in underlying dependencies & compile our final package required outside of portage.
- example: merge smartmontools to pull in it's dependencies:
root # emerge smartmontools
- download the newest smartmontools from upstream:
https://sourceforge.net/projects/smartmontools/files/smartmontools/ shows 7.3 is latest as of right now.
user $ cd user $ cd Downloads user $ tar -xf smartmontools-7.3.tar.gz user $ cd smartmontools-7.3 user $ ./configure && make user $ sudo make install
- reload terminal:
user $ bash user $ which smartctl # /usr/local/sbin/smartctl
this shows that our sideloaded hand compiled source is loaded first.