How to make GNU grep the default in FreeBSD?
Clash Royale CLAN TAG#URR8PPP
I'm running FreeBSD 9.1-RELEASE. I've installed GNU grep with portmaster textproc/gnugrep
.
However the "default" grep for users is still FreeBSD grep.
# /usr/local/bin/grep -V
/usr/local/bin/grep (GNU grep) 2.12
# grep -V
grep (GNU grep) 2.5.1-FreeBSD
I want to make GNU grep the default. I understand that the problem is with the order of directories specified in my PATH
environment variable:
# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
However, I fear to move the /usr/local/bin
entry to the beginning of my PATH
. Is it safe?
In Linux distros like Debian such tasks are usually accomplished via dpkg-divert
and/or update-alternatives
.
What is the best way to do what I want in FreeBSD and not break system upgrades and such?
grep freebsd path defaults
add a comment |
I'm running FreeBSD 9.1-RELEASE. I've installed GNU grep with portmaster textproc/gnugrep
.
However the "default" grep for users is still FreeBSD grep.
# /usr/local/bin/grep -V
/usr/local/bin/grep (GNU grep) 2.12
# grep -V
grep (GNU grep) 2.5.1-FreeBSD
I want to make GNU grep the default. I understand that the problem is with the order of directories specified in my PATH
environment variable:
# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
However, I fear to move the /usr/local/bin
entry to the beginning of my PATH
. Is it safe?
In Linux distros like Debian such tasks are usually accomplished via dpkg-divert
and/or update-alternatives
.
What is the best way to do what I want in FreeBSD and not break system upgrades and such?
grep freebsd path defaults
1
Both of those greps claim to be Gnu Grep, one is older, and may have some FreeBSD mods.
– ctrl-alt-delor
Jan 10 at 11:01
add a comment |
I'm running FreeBSD 9.1-RELEASE. I've installed GNU grep with portmaster textproc/gnugrep
.
However the "default" grep for users is still FreeBSD grep.
# /usr/local/bin/grep -V
/usr/local/bin/grep (GNU grep) 2.12
# grep -V
grep (GNU grep) 2.5.1-FreeBSD
I want to make GNU grep the default. I understand that the problem is with the order of directories specified in my PATH
environment variable:
# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
However, I fear to move the /usr/local/bin
entry to the beginning of my PATH
. Is it safe?
In Linux distros like Debian such tasks are usually accomplished via dpkg-divert
and/or update-alternatives
.
What is the best way to do what I want in FreeBSD and not break system upgrades and such?
grep freebsd path defaults
I'm running FreeBSD 9.1-RELEASE. I've installed GNU grep with portmaster textproc/gnugrep
.
However the "default" grep for users is still FreeBSD grep.
# /usr/local/bin/grep -V
/usr/local/bin/grep (GNU grep) 2.12
# grep -V
grep (GNU grep) 2.5.1-FreeBSD
I want to make GNU grep the default. I understand that the problem is with the order of directories specified in my PATH
environment variable:
# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
However, I fear to move the /usr/local/bin
entry to the beginning of my PATH
. Is it safe?
In Linux distros like Debian such tasks are usually accomplished via dpkg-divert
and/or update-alternatives
.
What is the best way to do what I want in FreeBSD and not break system upgrades and such?
grep freebsd path defaults
grep freebsd path defaults
asked Feb 21 '13 at 10:05
vadippvadipp
1838
1838
1
Both of those greps claim to be Gnu Grep, one is older, and may have some FreeBSD mods.
– ctrl-alt-delor
Jan 10 at 11:01
add a comment |
1
Both of those greps claim to be Gnu Grep, one is older, and may have some FreeBSD mods.
– ctrl-alt-delor
Jan 10 at 11:01
1
1
Both of those greps claim to be Gnu Grep, one is older, and may have some FreeBSD mods.
– ctrl-alt-delor
Jan 10 at 11:01
Both of those greps claim to be Gnu Grep, one is older, and may have some FreeBSD mods.
– ctrl-alt-delor
Jan 10 at 11:01
add a comment |
4 Answers
4
active
oldest
votes
Update: Note this answer is from 2013, it applies to FreeBSD 8.x and earlier. A BSD grep was added in revision 222273 and appeared in FreeBSD-9.0 (oddly that change is missing from the usually comprehensive release notes: Google search). A fully-featured GNU grep continues to be available in the ports collection.
FreeBSD grep
is was GNU grep
, albeit old and with a few patches applied:
# which grep
/usr/bin/grep
# /usr/bin/grep -V
grep (GNU grep) 2.5.1-FreeBSD
Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
It has a small number of patches (most of which originate from Fedora Linux), if you have /usr/src/
installed those are detailed in /usr/src/gnu/usr.bin/grep/FREEBSD-upgrade
.
If you need something specifically in the port version (2.12 vs 2.5.1) there are many bugfixes, speed improvements, and PCRE support (-P
, not enabled in system version), it should be quite safe to reorder your PATH
to put /usr/local/bin
first, this is what I usually do. (It's good practise to use su -
so that root's environment is set correctly, though on FreeBSD the default ~root/.cshrc
sets the PATH
explicitly.)
Otherwise check your shell man page and set an alias
as required, but this is really only for interactive use, shell scripts or Makefiles won't observe it.
Yes, I need the-P
switch. I'll try changing the order of the PATH. Thanks!
– vadipp
Feb 21 '13 at 15:35
add a comment |
Just create an alias, in bash add to your ~/.bash_profile
:
alias grep /usr/local/bin/grep
(I believe other shells can do something similar.) That way you can cherry pick individual executables. Even call your alias gnugrep
if you don't want to loose the system one.
add a comment |
Move only grep to start of path.
- Make a directory
mkdir /override/bin
. - Put a symlink in this directory
ln -s /usr/local/bin/grep /override/bin/
or better (if you have gnu ln)ln -s -t /override/bin/ /usr/local/bin/grep
(less chase of error). - add
/override/bin/
to start of path.
add a comment |
If you don't want to change your $PATH, alternatively you can just link to the grep
you like from an early entry of the $PATH value.
for example /bin
is the second entry of your $PATH and its probably in all users's $PATH values.
so you could do this as root:
cd /bin
ln -s /usr/local/bin/grep
This is a very bad idea. Package managers rely on the veracity of their databases to maintain state -- that trust should not be circumvented.
– Chris Down
Feb 21 '13 at 10:18
@ChrisDown as far as I can tell, this solution doesn't break package manager databases. No port will install binaries to /bin ...
– vadipp
Feb 21 '13 at 10:21
ok, you are right about that... alternatively. you could add something in your~/.bashrc
likeexport PATH="~/.bin:$PATH"
. and then you link from there, likemkdir ~/.bin; cd ~/.bin; ln -s /usr/local/bin/grep
. That way only your user is affected.
– replay
Feb 21 '13 at 10:21
@mauro that's a clean and simple solution, thanks a lot.
– vadipp
Feb 21 '13 at 10:22
1
@vadipp I can't say it will cause problems with package management, I would not do this on FreeBSD because 1:grep
is used during startup (it's not invoked before filesystems are mounted, but it's a concern) 2: it might complicatefreebsd-update
binary updates, similarlyfreebsd-update IDS
if used 3: risk of breaking things by replacing/overriding system binaries with ones that have different switches (e.g. GNUsed
has no-E
,rc.jail
would break if you replacedsed
) 4: the alternatives (alias
orPATH
) are trivial.
– mr.spuratic
Feb 21 '13 at 12:32
|
show 3 more comments
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f65603%2fhow-to-make-gnu-grep-the-default-in-freebsd%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
Update: Note this answer is from 2013, it applies to FreeBSD 8.x and earlier. A BSD grep was added in revision 222273 and appeared in FreeBSD-9.0 (oddly that change is missing from the usually comprehensive release notes: Google search). A fully-featured GNU grep continues to be available in the ports collection.
FreeBSD grep
is was GNU grep
, albeit old and with a few patches applied:
# which grep
/usr/bin/grep
# /usr/bin/grep -V
grep (GNU grep) 2.5.1-FreeBSD
Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
It has a small number of patches (most of which originate from Fedora Linux), if you have /usr/src/
installed those are detailed in /usr/src/gnu/usr.bin/grep/FREEBSD-upgrade
.
If you need something specifically in the port version (2.12 vs 2.5.1) there are many bugfixes, speed improvements, and PCRE support (-P
, not enabled in system version), it should be quite safe to reorder your PATH
to put /usr/local/bin
first, this is what I usually do. (It's good practise to use su -
so that root's environment is set correctly, though on FreeBSD the default ~root/.cshrc
sets the PATH
explicitly.)
Otherwise check your shell man page and set an alias
as required, but this is really only for interactive use, shell scripts or Makefiles won't observe it.
Yes, I need the-P
switch. I'll try changing the order of the PATH. Thanks!
– vadipp
Feb 21 '13 at 15:35
add a comment |
Update: Note this answer is from 2013, it applies to FreeBSD 8.x and earlier. A BSD grep was added in revision 222273 and appeared in FreeBSD-9.0 (oddly that change is missing from the usually comprehensive release notes: Google search). A fully-featured GNU grep continues to be available in the ports collection.
FreeBSD grep
is was GNU grep
, albeit old and with a few patches applied:
# which grep
/usr/bin/grep
# /usr/bin/grep -V
grep (GNU grep) 2.5.1-FreeBSD
Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
It has a small number of patches (most of which originate from Fedora Linux), if you have /usr/src/
installed those are detailed in /usr/src/gnu/usr.bin/grep/FREEBSD-upgrade
.
If you need something specifically in the port version (2.12 vs 2.5.1) there are many bugfixes, speed improvements, and PCRE support (-P
, not enabled in system version), it should be quite safe to reorder your PATH
to put /usr/local/bin
first, this is what I usually do. (It's good practise to use su -
so that root's environment is set correctly, though on FreeBSD the default ~root/.cshrc
sets the PATH
explicitly.)
Otherwise check your shell man page and set an alias
as required, but this is really only for interactive use, shell scripts or Makefiles won't observe it.
Yes, I need the-P
switch. I'll try changing the order of the PATH. Thanks!
– vadipp
Feb 21 '13 at 15:35
add a comment |
Update: Note this answer is from 2013, it applies to FreeBSD 8.x and earlier. A BSD grep was added in revision 222273 and appeared in FreeBSD-9.0 (oddly that change is missing from the usually comprehensive release notes: Google search). A fully-featured GNU grep continues to be available in the ports collection.
FreeBSD grep
is was GNU grep
, albeit old and with a few patches applied:
# which grep
/usr/bin/grep
# /usr/bin/grep -V
grep (GNU grep) 2.5.1-FreeBSD
Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
It has a small number of patches (most of which originate from Fedora Linux), if you have /usr/src/
installed those are detailed in /usr/src/gnu/usr.bin/grep/FREEBSD-upgrade
.
If you need something specifically in the port version (2.12 vs 2.5.1) there are many bugfixes, speed improvements, and PCRE support (-P
, not enabled in system version), it should be quite safe to reorder your PATH
to put /usr/local/bin
first, this is what I usually do. (It's good practise to use su -
so that root's environment is set correctly, though on FreeBSD the default ~root/.cshrc
sets the PATH
explicitly.)
Otherwise check your shell man page and set an alias
as required, but this is really only for interactive use, shell scripts or Makefiles won't observe it.
Update: Note this answer is from 2013, it applies to FreeBSD 8.x and earlier. A BSD grep was added in revision 222273 and appeared in FreeBSD-9.0 (oddly that change is missing from the usually comprehensive release notes: Google search). A fully-featured GNU grep continues to be available in the ports collection.
FreeBSD grep
is was GNU grep
, albeit old and with a few patches applied:
# which grep
/usr/bin/grep
# /usr/bin/grep -V
grep (GNU grep) 2.5.1-FreeBSD
Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
It has a small number of patches (most of which originate from Fedora Linux), if you have /usr/src/
installed those are detailed in /usr/src/gnu/usr.bin/grep/FREEBSD-upgrade
.
If you need something specifically in the port version (2.12 vs 2.5.1) there are many bugfixes, speed improvements, and PCRE support (-P
, not enabled in system version), it should be quite safe to reorder your PATH
to put /usr/local/bin
first, this is what I usually do. (It's good practise to use su -
so that root's environment is set correctly, though on FreeBSD the default ~root/.cshrc
sets the PATH
explicitly.)
Otherwise check your shell man page and set an alias
as required, but this is really only for interactive use, shell scripts or Makefiles won't observe it.
edited Jan 10 at 10:56
answered Feb 21 '13 at 10:41
mr.spuraticmr.spuratic
6,8411028
6,8411028
Yes, I need the-P
switch. I'll try changing the order of the PATH. Thanks!
– vadipp
Feb 21 '13 at 15:35
add a comment |
Yes, I need the-P
switch. I'll try changing the order of the PATH. Thanks!
– vadipp
Feb 21 '13 at 15:35
Yes, I need the
-P
switch. I'll try changing the order of the PATH. Thanks!– vadipp
Feb 21 '13 at 15:35
Yes, I need the
-P
switch. I'll try changing the order of the PATH. Thanks!– vadipp
Feb 21 '13 at 15:35
add a comment |
Just create an alias, in bash add to your ~/.bash_profile
:
alias grep /usr/local/bin/grep
(I believe other shells can do something similar.) That way you can cherry pick individual executables. Even call your alias gnugrep
if you don't want to loose the system one.
add a comment |
Just create an alias, in bash add to your ~/.bash_profile
:
alias grep /usr/local/bin/grep
(I believe other shells can do something similar.) That way you can cherry pick individual executables. Even call your alias gnugrep
if you don't want to loose the system one.
add a comment |
Just create an alias, in bash add to your ~/.bash_profile
:
alias grep /usr/local/bin/grep
(I believe other shells can do something similar.) That way you can cherry pick individual executables. Even call your alias gnugrep
if you don't want to loose the system one.
Just create an alias, in bash add to your ~/.bash_profile
:
alias grep /usr/local/bin/grep
(I believe other shells can do something similar.) That way you can cherry pick individual executables. Even call your alias gnugrep
if you don't want to loose the system one.
answered Feb 21 '13 at 19:42
vonbrandvonbrand
14.2k22644
14.2k22644
add a comment |
add a comment |
Move only grep to start of path.
- Make a directory
mkdir /override/bin
. - Put a symlink in this directory
ln -s /usr/local/bin/grep /override/bin/
or better (if you have gnu ln)ln -s -t /override/bin/ /usr/local/bin/grep
(less chase of error). - add
/override/bin/
to start of path.
add a comment |
Move only grep to start of path.
- Make a directory
mkdir /override/bin
. - Put a symlink in this directory
ln -s /usr/local/bin/grep /override/bin/
or better (if you have gnu ln)ln -s -t /override/bin/ /usr/local/bin/grep
(less chase of error). - add
/override/bin/
to start of path.
add a comment |
Move only grep to start of path.
- Make a directory
mkdir /override/bin
. - Put a symlink in this directory
ln -s /usr/local/bin/grep /override/bin/
or better (if you have gnu ln)ln -s -t /override/bin/ /usr/local/bin/grep
(less chase of error). - add
/override/bin/
to start of path.
Move only grep to start of path.
- Make a directory
mkdir /override/bin
. - Put a symlink in this directory
ln -s /usr/local/bin/grep /override/bin/
or better (if you have gnu ln)ln -s -t /override/bin/ /usr/local/bin/grep
(less chase of error). - add
/override/bin/
to start of path.
answered Jan 10 at 11:06
ctrl-alt-delorctrl-alt-delor
11.2k42058
11.2k42058
add a comment |
add a comment |
If you don't want to change your $PATH, alternatively you can just link to the grep
you like from an early entry of the $PATH value.
for example /bin
is the second entry of your $PATH and its probably in all users's $PATH values.
so you could do this as root:
cd /bin
ln -s /usr/local/bin/grep
This is a very bad idea. Package managers rely on the veracity of their databases to maintain state -- that trust should not be circumvented.
– Chris Down
Feb 21 '13 at 10:18
@ChrisDown as far as I can tell, this solution doesn't break package manager databases. No port will install binaries to /bin ...
– vadipp
Feb 21 '13 at 10:21
ok, you are right about that... alternatively. you could add something in your~/.bashrc
likeexport PATH="~/.bin:$PATH"
. and then you link from there, likemkdir ~/.bin; cd ~/.bin; ln -s /usr/local/bin/grep
. That way only your user is affected.
– replay
Feb 21 '13 at 10:21
@mauro that's a clean and simple solution, thanks a lot.
– vadipp
Feb 21 '13 at 10:22
1
@vadipp I can't say it will cause problems with package management, I would not do this on FreeBSD because 1:grep
is used during startup (it's not invoked before filesystems are mounted, but it's a concern) 2: it might complicatefreebsd-update
binary updates, similarlyfreebsd-update IDS
if used 3: risk of breaking things by replacing/overriding system binaries with ones that have different switches (e.g. GNUsed
has no-E
,rc.jail
would break if you replacedsed
) 4: the alternatives (alias
orPATH
) are trivial.
– mr.spuratic
Feb 21 '13 at 12:32
|
show 3 more comments
If you don't want to change your $PATH, alternatively you can just link to the grep
you like from an early entry of the $PATH value.
for example /bin
is the second entry of your $PATH and its probably in all users's $PATH values.
so you could do this as root:
cd /bin
ln -s /usr/local/bin/grep
This is a very bad idea. Package managers rely on the veracity of their databases to maintain state -- that trust should not be circumvented.
– Chris Down
Feb 21 '13 at 10:18
@ChrisDown as far as I can tell, this solution doesn't break package manager databases. No port will install binaries to /bin ...
– vadipp
Feb 21 '13 at 10:21
ok, you are right about that... alternatively. you could add something in your~/.bashrc
likeexport PATH="~/.bin:$PATH"
. and then you link from there, likemkdir ~/.bin; cd ~/.bin; ln -s /usr/local/bin/grep
. That way only your user is affected.
– replay
Feb 21 '13 at 10:21
@mauro that's a clean and simple solution, thanks a lot.
– vadipp
Feb 21 '13 at 10:22
1
@vadipp I can't say it will cause problems with package management, I would not do this on FreeBSD because 1:grep
is used during startup (it's not invoked before filesystems are mounted, but it's a concern) 2: it might complicatefreebsd-update
binary updates, similarlyfreebsd-update IDS
if used 3: risk of breaking things by replacing/overriding system binaries with ones that have different switches (e.g. GNUsed
has no-E
,rc.jail
would break if you replacedsed
) 4: the alternatives (alias
orPATH
) are trivial.
– mr.spuratic
Feb 21 '13 at 12:32
|
show 3 more comments
If you don't want to change your $PATH, alternatively you can just link to the grep
you like from an early entry of the $PATH value.
for example /bin
is the second entry of your $PATH and its probably in all users's $PATH values.
so you could do this as root:
cd /bin
ln -s /usr/local/bin/grep
If you don't want to change your $PATH, alternatively you can just link to the grep
you like from an early entry of the $PATH value.
for example /bin
is the second entry of your $PATH and its probably in all users's $PATH values.
so you could do this as root:
cd /bin
ln -s /usr/local/bin/grep
answered Feb 21 '13 at 10:10
replayreplay
6,16211628
6,16211628
This is a very bad idea. Package managers rely on the veracity of their databases to maintain state -- that trust should not be circumvented.
– Chris Down
Feb 21 '13 at 10:18
@ChrisDown as far as I can tell, this solution doesn't break package manager databases. No port will install binaries to /bin ...
– vadipp
Feb 21 '13 at 10:21
ok, you are right about that... alternatively. you could add something in your~/.bashrc
likeexport PATH="~/.bin:$PATH"
. and then you link from there, likemkdir ~/.bin; cd ~/.bin; ln -s /usr/local/bin/grep
. That way only your user is affected.
– replay
Feb 21 '13 at 10:21
@mauro that's a clean and simple solution, thanks a lot.
– vadipp
Feb 21 '13 at 10:22
1
@vadipp I can't say it will cause problems with package management, I would not do this on FreeBSD because 1:grep
is used during startup (it's not invoked before filesystems are mounted, but it's a concern) 2: it might complicatefreebsd-update
binary updates, similarlyfreebsd-update IDS
if used 3: risk of breaking things by replacing/overriding system binaries with ones that have different switches (e.g. GNUsed
has no-E
,rc.jail
would break if you replacedsed
) 4: the alternatives (alias
orPATH
) are trivial.
– mr.spuratic
Feb 21 '13 at 12:32
|
show 3 more comments
This is a very bad idea. Package managers rely on the veracity of their databases to maintain state -- that trust should not be circumvented.
– Chris Down
Feb 21 '13 at 10:18
@ChrisDown as far as I can tell, this solution doesn't break package manager databases. No port will install binaries to /bin ...
– vadipp
Feb 21 '13 at 10:21
ok, you are right about that... alternatively. you could add something in your~/.bashrc
likeexport PATH="~/.bin:$PATH"
. and then you link from there, likemkdir ~/.bin; cd ~/.bin; ln -s /usr/local/bin/grep
. That way only your user is affected.
– replay
Feb 21 '13 at 10:21
@mauro that's a clean and simple solution, thanks a lot.
– vadipp
Feb 21 '13 at 10:22
1
@vadipp I can't say it will cause problems with package management, I would not do this on FreeBSD because 1:grep
is used during startup (it's not invoked before filesystems are mounted, but it's a concern) 2: it might complicatefreebsd-update
binary updates, similarlyfreebsd-update IDS
if used 3: risk of breaking things by replacing/overriding system binaries with ones that have different switches (e.g. GNUsed
has no-E
,rc.jail
would break if you replacedsed
) 4: the alternatives (alias
orPATH
) are trivial.
– mr.spuratic
Feb 21 '13 at 12:32
This is a very bad idea. Package managers rely on the veracity of their databases to maintain state -- that trust should not be circumvented.
– Chris Down
Feb 21 '13 at 10:18
This is a very bad idea. Package managers rely on the veracity of their databases to maintain state -- that trust should not be circumvented.
– Chris Down
Feb 21 '13 at 10:18
@ChrisDown as far as I can tell, this solution doesn't break package manager databases. No port will install binaries to /bin ...
– vadipp
Feb 21 '13 at 10:21
@ChrisDown as far as I can tell, this solution doesn't break package manager databases. No port will install binaries to /bin ...
– vadipp
Feb 21 '13 at 10:21
ok, you are right about that... alternatively. you could add something in your
~/.bashrc
like export PATH="~/.bin:$PATH"
. and then you link from there, like mkdir ~/.bin; cd ~/.bin; ln -s /usr/local/bin/grep
. That way only your user is affected.– replay
Feb 21 '13 at 10:21
ok, you are right about that... alternatively. you could add something in your
~/.bashrc
like export PATH="~/.bin:$PATH"
. and then you link from there, like mkdir ~/.bin; cd ~/.bin; ln -s /usr/local/bin/grep
. That way only your user is affected.– replay
Feb 21 '13 at 10:21
@mauro that's a clean and simple solution, thanks a lot.
– vadipp
Feb 21 '13 at 10:22
@mauro that's a clean and simple solution, thanks a lot.
– vadipp
Feb 21 '13 at 10:22
1
1
@vadipp I can't say it will cause problems with package management, I would not do this on FreeBSD because 1:
grep
is used during startup (it's not invoked before filesystems are mounted, but it's a concern) 2: it might complicate freebsd-update
binary updates, similarly freebsd-update IDS
if used 3: risk of breaking things by replacing/overriding system binaries with ones that have different switches (e.g. GNU sed
has no -E
, rc.jail
would break if you replaced sed
) 4: the alternatives (alias
or PATH
) are trivial.– mr.spuratic
Feb 21 '13 at 12:32
@vadipp I can't say it will cause problems with package management, I would not do this on FreeBSD because 1:
grep
is used during startup (it's not invoked before filesystems are mounted, but it's a concern) 2: it might complicate freebsd-update
binary updates, similarly freebsd-update IDS
if used 3: risk of breaking things by replacing/overriding system binaries with ones that have different switches (e.g. GNU sed
has no -E
, rc.jail
would break if you replaced sed
) 4: the alternatives (alias
or PATH
) are trivial.– mr.spuratic
Feb 21 '13 at 12:32
|
show 3 more comments
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f65603%2fhow-to-make-gnu-grep-the-default-in-freebsd%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Both of those greps claim to be Gnu Grep, one is older, and may have some FreeBSD mods.
– ctrl-alt-delor
Jan 10 at 11:01