* bug#37249: console shell upon login is not ~/.guix-profile/bash -- is this always/never ok?
@ 2019-08-31 22:21 Bengt Richter
2019-09-07 8:50 ` 宋文武
2019-09-10 7:00 ` Efraim Flashner
0 siblings, 2 replies; 4+ messages in thread
From: Bengt Richter @ 2019-08-31 22:21 UTC (permalink / raw)
To: 37249
Hello,
In the pursuit of causes for problems as yet not clear enough to
post as bugs, I am looking for ambivalences in name searches
in /gnu/... and /(the-rest).
The first is immediately bash:
To duplicate, log into a fresh console and look at what's running
and invoked. I did an Alt-F4 and logged in fresh, and captured the
terminal screen seen in the following:
---------8<---------
[ ... snip some output from .bash_profile ... ]
[13:33 ~/bs]$ ps -o pid,tty,args
PID TT COMMAND
25500 tty4 -bash
25966 tty4 ps -o pid,tty,args
[13:35 ~/bs]$ which -a ps
/usr/bin/ps
[13:35 ~/bs]$ file /proc/25500/exe
/proc/25500/exe: symbolic link to /usr/bin/bash
So, the shell I am talking to right after login is /usr/bin/bash,
but if I type bash, the guix version will be found first:
[13:36 ~/bs]$ which -a bash
/home/bokr/.guix-profile/bin/bash
/usr/bin/bash
[13:38 ~/bs]$ which -a bash|xargs readlink -f
/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash
/usr/bin/bash
So, nesting into the guix one,
[13:39 ~/bs]$ bash
[13:39 ~/bs]$ ps -o pid,tty,args
PID TT COMMAND
25500 tty4 -bash
26226 tty4 bash
26253 tty4 ps -o pid,tty,args
[13:40 ~/bs]$ file /proc/26226/exe
/proc/26226/exe: symbolic link to /gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash
Indeed our current pid belongs to guix bash.
What is the difference? They were built differently...
[13:41 ~/bs]$
[13:42 ~/bs]$ which -a bash
/home/bokr/.guix-profile/bin/bash
/usr/bin/bash
[13:43 ~/bs]$ which -a bash|xargs readlink -f|while read line;do echo -ne "$line:\n "; file "$line";done
/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash:
/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash:
ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter
/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/ld-linux-x86-64.so.2,
for GNU/Linux 2.6.32, not stripped
/usr/bin/bash:
/usr/bin/bash: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked,
interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=21a51cb5f7d727370e4d8099d283d7cd20222571,
for GNU/Linux 3.2.0, stripped
Are the differences possibly dangerous?
The way I got the above, and this tail part itself:
[13:45 ~/bs]$ tty
/dev/tty4
[13:47 ~/bs]$ su -c 'setterm -file login-bashes.txt -dump 4'
------------------------------------
Looking for dependencies outside of /gnu from within /gnu, I grepped the whole
as you see below. I am sure most of this is fine and coming out of documentation
and stuff meant for other than normally booted runtime. But does it all look ok?
Or is my foreign-host twilight-zone shared ArchLinux/guix namespace really not
meant to be. I.e., is guix really defined to use /usr/ as a trusted base namespace
when it is defined by e.g. linux-libre in GuixSD ?
Where would be the best docs to read about the guix name and environment rationales?
Ok, here is the grep:
(most of the bashes are in the store, as seen at the bottom, but many not)
-------------------------------
This was generated by:
grep -Ihr '^ *#!' /gnu|sort|uniq -c|sort -h > gnu-bin-hash-bangs.txt
2 #!/bin/csh
2 #!/bin/tcsh
2 #!@GAWK@ -f
2 #!/gnu/store/03n7p9g78ixkrmra674pkx2c9cx8fwmz-guile-1.8.8/bin/guile \
2 #!/gnu/store/0xfmkqpi7xk3ixhrqvjijk4ibsglif62-python-3.7.0/bin/python3.7m
2 #!/gnu/store/57daq0hkwvmwx4asiy669cmln868brfm-python2-2.7.15/bin/python2
2 #!/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/bin/guile
2 #!/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/bin/python3.7m
2 #!/gnu/store/cl42c73h609bp2gy92qkh8q56spnnl2n-python-3.7.0/bin/python3.7m
2 #! /gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl
2 #!/gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0/bin/python3.7m
2 #!/gnu/store/l67sib1ld0fgyf0f4vrzyxnmn4yvimvb-gawk-4.2.1/bin/gawk -f
2 #!/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/sh -
2 #!/gnu/store/ybglr7nfs8v9kpnm8vf4drg3gafnvd15-guile-static-stripped-2.2.4/bin/guile --no-auto-compile
2 #!/gnu/store/zm3188ipzi262s0m8bxm24br77yh9pd8-python-3.7.0/bin/python3
2 #!/gnu/store/zm3188ipzi262s0m8bxm24br77yh9pd8-python-3.7.0/bin/python3.7m
2 #!@GUILE@ -s
2 #!@PHP@ -q
2 #!@TCLSH@
2 #! /usr/bin/perl
2 #!/usr/bin/perl -- # -*- Perl -*-
2 #! /usr/bin/perl -w
2 #! /usr/bin/python
2 #!/usr/bin/python -u
2 #!@WISH@
3 #!#{Gem.ruby}
3 #!/gnu/store/81y6l9ggc5q6z44hp90ll4dv5jl582mq-texlive-bin-20180414/bin/texlua
3 #!/gnu/store/hw0cz0mis43z19i76pl6ijx5risx4lf0-texlive-bin-20180414/bin/texlua
3 #!/gnu/store/lgbiv7q1b6m141nrkjm92qkl9ih5gamw-python2-2.7.15/bin/python -O
3 #!/gnu/store/pyrlmxqx3g1mhzpnfpw4w94rj08wxfhj-texlive-bin-20180414/bin/texlua
3 #!/gnu/store/x9c77i6r5fmarslij6ng81awgrxblplm-texlive-bin-20180414/bin/texlua
3 #!/gnu/store/xwzyy0q261brxmafkvinrrvkq4rgwiq6-texlive-bin-20180414/bin/texlua
3 #!if(WithStride,".stride","")
3 #!if(WithStride,".stride","")
3 #! libapr-1.so
3 #!/usr/bin/env ruby
4 #! $key eq '-range' and $key .= 's';
4 #! $pod_parser->select(@{ $opts{'-ranges'} })
4 #!$^X -w
4 #! at all.)
4 #!/gnu/store/9jjnk994sg3kynx7w2p873x60yr27q1p-pulseaudio-12.2/bin/pulseaudio -nF
4 #!/gnu/store/cwla78yg7vnngk51jp81j4phy2fpgbhm-pulseaudio-12.2/bin/pulseaudio -nF
4 #!/gnu/store/glvv9jyp28f8454laig76agc3jig4f4z-pulseaudio-12.2/bin/pulseaudio -nF
4 #!/gnu/store/gvwf71vddp8c1d7ydqg02p43mgdjrx6s-bash
4 #!/gnu/store/qqfrzd5jrpq7i1gn9spv7hzpj4kllvj0-pulseaudio-12.2/bin/pulseaudio -nF
4 #!/gnu/store/qsvja1gy86vrdkcqygkamg5j0sfq6ry4-pulseaudio-12.2/bin/pulseaudio -nF
4 #!/gnu/store/s795jav4270x940spl48a885nhw4axnx-pulseaudio-12.2/bin/pulseaudio -nF
4 #!/gnu/store/wsd8i4dy3vvkpfjlg5m1q5cy0b2ld95q-pulseaudio-12.2/bin/pulseaudio -nF
4 #!/gnu/store/yw409j5hzvhgj54p2xxaqbh3bz9zfhpg-pulseaudio-12.2/bin/pulseaudio -nF
4 #!/gnu/store/zvhp49cvslhjdv7n19nssv2kr2jqa87h-pulseaudio-12.2/bin/pulseaudio -nF
4 #! if ( (defined $opts{'-ranges'})
4 #!include_default, #!include /Path/to/another/manifest.skip
4 #! libaprutil-1.so
4 #! /opt/perl5/bin/perl
4 #!/path/to/a/custom_perl --some --args
4 #!/path/to/jperl
4 #!/path/to/perl -Mencoding=euc-jp
4 #!/path/to/perl script invocation. There is a PTF available from
4 #! -*-perl-*-
4 #!perl
4 #! perl
4 #!@PERL@
4 #!perl -l
4 #!perl -T
4 #!./perl -w
4 #!/pro/bin/perl
4 #!/QOpenSys/perl/bin/perl should always work.
4 #! && ((ref $opts{'-ranges'}) eq 'ARRAY') );
4 #! ## Select the desired paragraph ranges
4 #!/usr/bin/env perl use lib qw( lib ); # Add ./lib to @INC
4 #!/usr/bin/perl MakeMaker will change this to the path of the perl
4 #!/usr/bin/perl -n
4 #!/usr/bin/perl -pi.orig
4 #!/usr/bin/perl -s
4 #!/usr/bin/perl -spi.orig # same as -s -p -i.orig
4 #!/usr/bin/perl -T -w
4 #!/usr/bin/perl -w
4 #!/usr/bin/perl -wl
4 #!/usr/bin/perl -w -T
4 #!/usr/bin/php
4 #! /usr/bin/sh
4 #!/usr/local/bin/perl5.14
4 #!/usr/local/bin/perl # just a comment really
4 #!/usr/local/perl-5.6/bin/perl -w
4 #!/usr/locl/bin/perl
5 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -W
5 #!/gnu/store/g87hamjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python -O
5 #!/gnu/store/iqx98v4rnw26n4qn555l4pbj96navxiv-python2-2.7.15/bin/python -O
5 #!/usr/bin/env python2
6 #!2_]r;QWmr;HTnrVZTls&f@&'E.jlrVud)rr5ao!5AL4r;?NmrVlcos83-$s!e*NeGfI2rVud!
6 #![allow(dead_code, unused_imports)]
6 #! /bin/bash
6 #!/bin/bash^^J%
6 #!/bin/sh
6 #!bQ7"8Gg6b3eoe>$R71>:0O.S=?1;7XQV?G"!XuWkieE.A([)Gb:<g^IbF&+pDD
6 #!cslatex
6 #! <fmtname> <enginename> <hyphen> <args>
6 #!GaH0,lQdqUHRI!sXe9eQO3Ee^,L\eVF^Wbnu,aSH[**!_"<Pp=0tM"j#6E8hJM_"j#6E?QmeH
6 #!/gnu/store/2k67pvrdq9hygg2ysgflk94jhbnc9s9g-tcsh-6.20.00/bin/csh
6 #!/gnu/store/2k67pvrdq9hygg2ysgflk94jhbnc9s9g-tcsh-6.20.00/bin/csh -xv
6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -n
6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -p -i
6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -p -i.bak
6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -T
6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -T -w
6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -w
6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -w
6 #!H!IX"''9Wa>D7VYA@E`L5suKOJFl<>^ul(bEXhP*HM"9Cbeu,BGMsN,"AdAt[@0
6 #!*k<&fW2FrVus62#[IT!r2g.8PT6c"onDor;HKjrVQBcqo8O6&-;h3!XT9::G`Fa"TSNE1E60,
6 #!Kmci!<<*"Z2t"+!g3]e!<<*"\cMj3"Hj)l!<<*"_?'];"d0#h!<<*"aoVPC#Ef
6 #!kTb'N:-k+U6(!m^1q$6QNUqf%C$^9!K[Ab31,32$=gB!5?i/?h?%VXZd%RmtRZfZE*me2U0QZ'3/
6 #!latex
6 #! Map belleek.map
6 #! Map mapname.map
6 #! MixedMap mapname.map
6 #!/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.18/bin/sh
6 #!P5"q7-/;:!\TuP1=X[Q1lGL6k.rYpP!p4b6-X*ZAl;G!b8,cGrd14Q5D0jpXMON
6 #!pdfcslatex
6 #!pdflatex
6 #! @PERL@ -w
6 #!rF>2s`M\gb\?pQ[)lRMVXD7X%;@d6\M.@oPbQ)'8mjcqSsDGM79n2$XtTN<DZbi
6 #!topic/comp.text.tex/o14P2e83o4A}{comp.text.tex} for a macro that will define commands and also save the commands being defined in a file or a container macro, \eg, for spelling exceptions on editors that don't support \tex syntax.
6 #!UGlO1/(4)%t4-m<.kt,%uoHGtV4M7IFIlnDr.!2?[>P^t.[[P$W\[/V0J8eAS<P
6 #! /usr/bin/env perl
6 #!/usr/bin/env pfaedit
6 #!/usr/bin/fontforge -lang=ff
6 #!/usr/bin/fontforge -script
6 #!/usr/bin/fontforge -script
6 #!/usr/local/bin/perl
7 #!/gnu/store/lgbiv7q1b6m141nrkjm92qkl9ih5gamw-python2-2.7.15/bin/python2
8 #!/gnu/store/81y6l9ggc5q6z44hp90ll4dv5jl582mq-texlive-bin-20180414/bin/texlua
8 #!/gnu/store/8z9avbgm73nzrbkhscps68gcpfipgllc-bootstrap-binaries-0/bin/bash
8 #!/gnu/store/hw0cz0mis43z19i76pl6ijx5risx4lf0-texlive-bin-20180414/bin/texlua
8 #!/gnu/store/pyrlmxqx3g1mhzpnfpw4w94rj08wxfhj-texlive-bin-20180414/bin/texlua
8 #!/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/sh
8 #!/gnu/store/x9c77i6r5fmarslij6ng81awgrxblplm-texlive-bin-20180414/bin/texlua
8 #!/gnu/store/xwzyy0q261brxmafkvinrrvkq4rgwiq6-texlive-bin-20180414/bin/texlua
8 #!/gnu/store/zzakf905mzla4csi1dn9qpcwmgbxj29b-bash-static-4.4.23/bin/bash
8 #!/gnu/store/zzakf905mzla4csi1dn9qpcwmgbxj29b-bash-static-4.4.23/bin/sh
8 #!/usr/bin/perl -n
8 #!/usr/bin/perl -Tw
8 #!/usr/local/bin/perl
8 #!/usr/local/bin/perl5.10.0
8 #!/your/path/to/perl
10 #!/gnu/store/0xfmkqpi7xk3ixhrqvjijk4ibsglif62-python-3.7.0/bin/python3
10 #!/gnu/store/cl42c73h609bp2gy92qkh8q56spnnl2n-python-3.7.0/bin/python3
10 #!/usr/bin/emacs --script
11 #!/bin/sh -x
11 #!!!!!!!!??? Check @pwd_log
11 #!/gnu/store/g30znz9vwkvi23k41dgallfg85sj65hp-python-wrapper-3.7.0/bin/python
11 #!/gnu/store/iqx98v4rnw26n4qn555l4pbj96navxiv-python2-2.7.15/bin/python2
11 #!/usr/bin/emacs -script
11 #! /usr/local/bin/python
12 #!/bin/sh
12 #! /bin/sh
12 #! cont-fr pdftex cont-usr.tex -8bit *cont-fr.mkii
12 #! cont-it pdftex cont-usr.tex -8bit *cont-it.mkii
12 #! cont-nl pdftex cont-usr.tex -8bit *cont-nl.mkii
12 #! cont-ro pdftex cont-usr.tex -8bit *cont-ro.mkii
12 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -n -s
12 #!/gnu/store/l67sib1ld0fgyf0f4vrzyxnmn4yvimvb-gawk-4.2.1/bin/awk -f
12 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/sh -vx
12 #! Map belleek.map
12 #! mflua mflua-nowin - mf.ini
12 #!/usr/bin/env perl
12 #!/usr/bin/fontforge
12 #!/usr/bin/perl -Tw
12 #!/usr/bin/python
12 #!/usr/local/bin/fontforge
12 #! /usr/local/bin/perl
12 #!/usr/local/bin/perl -w
13 #!/gnu/store/0xfmkqpi7xk3ixhrqvjijk4ibsglif62-python-3.7.0/bin/python3.7
13 #!/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/bin/python3.7
13 #!/gnu/store/cl42c73h609bp2gy92qkh8q56spnnl2n-python-3.7.0/bin/python3.7
13 #!/gnu/store/g87hamjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python2
13 #!/gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0/bin/python3.7
13 #!/gnu/store/zm3188ipzi262s0m8bxm24br77yh9pd8-python-3.7.0/bin/python3.7
14 #!@EMACS@ --script
14 #!/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/bin/guile -ds
14 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/sh -
14 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/sh -x
14 #!@GUILE@ \
14 #!@GUILE@ -ds
14 #! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini
16 #!$PERL
16 #!/usr/local/bin/perl -w
17 #!/gnu/store/3w3nz0h93h7jif9d9c3hdfyimgkpx1a4-python-wrapper-3.7.0/bin/python
18 #!
18 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -s
18 #! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini
18 #!./perl
18 #!perl.exe (versions below 4)
18 #!/usr/bin/env perl
20 #! /gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash
20 #!/usr/bin/perl -w
21 #!/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/bin/python3
22 #!/gnu/store/iqx98v4rnw26n4qn555l4pbj96navxiv-python2-2.7.15/bin/python2.7
22 #!/usr/bin/env wish
23 #!/gnu/store/r68bi4640vm0s7zsgyk7shsag8ibl3nc-python-wrapper-3.7.0/bin/python
24 #!/bin/lua
24 #!/usr/bin/lua
24 #!/usr/bin/perl
25 #!/gnu/store/57daq0hkwvmwx4asiy669cmln868brfm-python2-2.7.15/bin/python2.7
25 #!perl -w
28 #!/gnu/store/lgbiv7q1b6m141nrkjm92qkl9ih5gamw-python2-2.7.15/bin/python2.7
28 #!perl
29 #!/gnu/store/bs6bwq60sh3zamgiqmkyryf1lxbfjkgd-lua-5.3.5/bin/lua
30 #![allow(dead_code, unused_variables)]
30 #!/usr/bin/env python
32 #!/usr/bin/env perl
33 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl
35 #![allow(unused_variables)]
35 #! /bin/sh -e
35 #![feature(omit_gdb_pretty_printer_section)]
36 #! $SHELL
38 #!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds
38 #!/gnu/store/g87hamjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python2.7
40 #!/bin/sh
40 #!/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/bin/guile --no-auto-compile
42 #!/gnu/store/r658y3cgpnf99nxjxqgjiaizx20ac4k0-guile-2.2.4/bin/guile --no-auto-compile
42 #!/usr/bin/env ../utility/fontforge-interp.sh
44 #!/usr/bin/perl
45 #!/usr/bin/env ruby
46 #!location/of/bin/ruby
47 #!@BASH@
48 #!/usr/bin/env texlua
50 #!/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/bin/guile \
51 #!/usr/bin/perl -w
53 #!/usr/bin/env fontforge
56 #!@SHELL@
56 #!/usr/bin/perl
57 #!/gnu/store/5wp8mhmlq2xbd6kg0dq7armjgva7j7cs-perl-5.28.0/bin/perl
60 #!/gnu/store/2k67pvrdq9hygg2ysgflk94jhbnc9s9g-tcsh-6.20.00/bin/csh -f
61 #!/gnu/store/zvm2hcnbcv9mygzwpbrb6pvj1nc9wbfv-perl-boot0-5.28.0/bin/perl
63 #!location/of/bin/bash
64 #! /bin/sh
66 #!/usr/bin/perl -w
80 #! /usr/bin/env python
90 #! /usr/bin/env python3
108 #!/gnu/store/fndcvkn64ycw720d3ikjvmyvhsqk2v4n-ruby-2.5.3/bin/ruby
110 #!~a
116 #!/usr/bin/perl
137 #!/bin/sh
140 #!/gnu/store/61sixy2zjzlrpqwxphzf7v6h0yaysx1s-ruby-2.5.3/bin/ruby
140 #!/gnu/store/lgbiv7q1b6m141nrkjm92qkl9ih5gamw-python2-2.7.15/bin/python
145 #!/gnu/store/8z9avbgm73nzrbkhscps68gcpfipgllc-bootstrap-binaries-0/bin/sh
146 #!/gnu/store/hw0cz0mis43z19i76pl6ijx5risx4lf0-texlive-bin-20180414/bin/texlua
146 #!/gnu/store/xwzyy0q261brxmafkvinrrvkq4rgwiq6-texlive-bin-20180414/bin/texlua
150 #!/gnu/store/81y6l9ggc5q6z44hp90ll4dv5jl582mq-texlive-bin-20180414/bin/texlua
150 #!/gnu/store/pyrlmxqx3g1mhzpnfpw4w94rj08wxfhj-texlive-bin-20180414/bin/texlua
150 #!/gnu/store/x9c77i6r5fmarslij6ng81awgrxblplm-texlive-bin-20180414/bin/texlua
162 #!/usr/bin/env python3
167 #!/bin/bash
169 #!/usr/bin/env python
207 #!/gnu/store/iqx98v4rnw26n4qn555l4pbj96navxiv-python2-2.7.15/bin/python
209 #!/gnu/store/g87hamjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python
228 #!/bin/sh
292 #!/gnu/store/5s2nib1lrd2101bbrivcl17kjx1mspw6-coreutils-8.30/bin/false
292 #!/gnu/store/8z9avbgm73nzrbkhscps68gcpfipgllc-bootstrap-binaries-0/bin/false
319 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -w
362 #!/bin/bash
1589 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl
2706 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash
3294 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/sh
3871 #!/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash
-----------------------------------------------------
Some look a bit weird, like
6 #!/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.18/bin/sh
but I guess it could be a template for some remote context. Idk.
There is no /nix directory on my disk anyway. Maybe inside a ramdisk image?
(There were lots of matches in what appears binary to grep, but they were
all to inside /gnu/store, so I eliminated them for here, with -I)
BTW, I haven't yet started shepherd automatically, and it isn't running in the above.
Just guix-daemon:
from emacs I'm in now: Esc-1 Esc-! ps -e f |grep -i guix
530 ? Ss 0:00 /var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
31185 ? Ss 0:00 \_ /home/bokr/.guix-profile/bin/bash -c ps -e f |grep -i guix
31187 ? S 0:00 \_ grep -i guix
I have set SHELL=/home/bokr/.guix-profile/bin/bash in ~/.bash_profile,
but as seen, that doesn't take effect for the immediate login shell.
I wonder if I could exec it at the end of ~/.bash_profile -- or even as the first and only thing, hm...
Hope someone can point to to enlightening reading re names in guix and its environments. TIA ;-)
Regards,
Bengt Richter
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#37249: console shell upon login is not ~/.guix-profile/bash -- is this always/never ok?
2019-08-31 22:21 bug#37249: console shell upon login is not ~/.guix-profile/bash -- is this always/never ok? Bengt Richter
@ 2019-09-07 8:50 ` 宋文武
2019-09-09 13:40 ` Bengt Richter
2019-09-10 7:00 ` Efraim Flashner
1 sibling, 1 reply; 4+ messages in thread
From: 宋文武 @ 2019-09-07 8:50 UTC (permalink / raw)
To: Bengt Richter; +Cc: 37249
Bengt Richter <bokr@bokr.com> writes:
> Hello,
>
> In the pursuit of causes for problems as yet not clear enough to
> post as bugs, I am looking for ambivalences in name searches
> in /gnu/... and /(the-rest).
Hello, I think most guix packages (some won't or require manual
configurations) will work on a foreign GNU/Linux distribution, and guix
shouldn't cause problems for the distribution.
>
> The first is immediately bash:
> To duplicate, log into a fresh console and look at what's running
> and invoked. I did an Alt-F4 and logged in fresh, and captured the
> terminal screen seen in the following:
>
> ---------8<---------
>
> [ ... snip some output from .bash_profile ... ]
>
> [13:33 ~/bs]$ ps -o pid,tty,args
> PID TT COMMAND
> 25500 tty4 -bash
> 25966 tty4 ps -o pid,tty,args
> [13:35 ~/bs]$ which -a ps
> /usr/bin/ps
> [13:35 ~/bs]$ file /proc/25500/exe
> /proc/25500/exe: symbolic link to /usr/bin/bash
>
> So, the shell I am talking to right after login is /usr/bin/bash,
> but if I type bash, the guix version will be found first:
>
> [13:36 ~/bs]$ which -a bash
> /home/bokr/.guix-profile/bin/bash
> /usr/bin/bash
> [13:38 ~/bs]$ which -a bash|xargs readlink -f
> /gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash
> /usr/bin/bash
After login, user's shell program as specified in /etc/passwd will be
executed. So you should have '/usr/bin/bash' or '/bin/bash' in
/etc/passwd, and your $PATH have '$HOME/.guix-profile/bin' before
'/usr/bin', so when type 'bash' in a shell, the guix one got executed.
>
> So, nesting into the guix one,
>
> [13:39 ~/bs]$ bash
> [13:39 ~/bs]$ ps -o pid,tty,args
> PID TT COMMAND
> 25500 tty4 -bash
> 26226 tty4 bash
> 26253 tty4 ps -o pid,tty,args
> [13:40 ~/bs]$ file /proc/26226/exe
> /proc/26226/exe: symbolic link to /gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash
>
> Indeed our current pid belongs to guix bash.
> What is the difference? They were built differently...
>
> [13:41 ~/bs]$
> [13:42 ~/bs]$ which -a bash
> /home/bokr/.guix-profile/bin/bash
> /usr/bin/bash
> [13:43 ~/bs]$ which -a bash|xargs readlink -f|while read line;do echo -ne "$line:\n "; file "$line";done
> /gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash:
> /gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash:
> ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter
> /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/ld-linux-x86-64.so.2,
> for GNU/Linux 2.6.32, not stripped
> /usr/bin/bash:
> /usr/bin/bash: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked,
> interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=21a51cb5f7d727370e4d8099d283d7cd20222571,
> for GNU/Linux 3.2.0, stripped
>
> Are the differences possibly dangerous?
It's totally OK, you can use both :-)
>
> The way I got the above, and this tail part itself:
> [13:45 ~/bs]$ tty
> /dev/tty4
> [13:47 ~/bs]$ su -c 'setterm -file login-bashes.txt -dump 4'
> ------------------------------------
>
> Looking for dependencies outside of /gnu from within /gnu, I grepped the whole
> as you see below. I am sure most of this is fine and coming out of documentation
> and stuff meant for other than normally booted runtime. But does it all look ok?
>
> Or is my foreign-host twilight-zone shared ArchLinux/guix namespace really not
> meant to be. I.e., is guix really defined to use /usr/ as a trusted base namespace
> when it is defined by e.g. linux-libre in GuixSD ?
>
> Where would be the best docs to read about the guix name and environment rationales?
There are no 'namespace' involed, guix and your ArchLinux packages share
the same filesystem. And guix binaries are self-contained, they can
work without any dependenices outsite of /gnu (sometimes they will use
what's available in PATH, etc. which may be provided by your distribution).
>
> Ok, here is the grep:
> (most of the bashes are in the store, as seen at the bottom, but many not)
> -------------------------------
> This was generated by:
> grep -Ihr '^ *#!' /gnu|sort|uniq -c|sort -h > gnu-bin-hash-bangs.txt
>
> 2 #!/bin/csh
> 2 #!/bin/tcsh
> 2 #!@GAWK@ -f
> 2 #!/gnu/store/03n7p9g78ixkrmra674pkx2c9cx8fwmz-guile-1.8.8/bin/guile \
> 2 #!/gnu/store/0xfmkqpi7xk3ixhrqvjijk4ibsglif62-python-3.7.0/bin/python3.7m
> 2 #!/gnu/store/57daq0hkwvmwx4asiy669cmln868brfm-python2-2.7.15/bin/python2
> 2 #!/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/bin/guile
> 2 #!/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/bin/python3.7m
> 2 #!/gnu/store/cl42c73h609bp2gy92qkh8q56spnnl2n-python-3.7.0/bin/python3.7m
> 2 #! /gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl
> 2 #!/gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0/bin/python3.7m
> 2 #!/gnu/store/l67sib1ld0fgyf0f4vrzyxnmn4yvimvb-gawk-4.2.1/bin/gawk -f
> 2 #!/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/sh -
> 2 #!/gnu/store/ybglr7nfs8v9kpnm8vf4drg3gafnvd15-guile-static-stripped-2.2.4/bin/guile --no-auto-compile
> 2 #!/gnu/store/zm3188ipzi262s0m8bxm24br77yh9pd8-python-3.7.0/bin/python3
> 2 #!/gnu/store/zm3188ipzi262s0m8bxm24br77yh9pd8-python-3.7.0/bin/python3.7m
> 2 #!@GUILE@ -s
> 2 #!@PHP@ -q
> 2 #!@TCLSH@
> 2 #! /usr/bin/perl
> 2 #!/usr/bin/perl -- # -*- Perl -*-
> 2 #! /usr/bin/perl -w
> 2 #! /usr/bin/python
> 2 #!/usr/bin/python -u
> 2 #!@WISH@
> 3 #!#{Gem.ruby}
> 3 #!/gnu/store/81y6l9ggc5q6z44hp90ll4dv5jl582mq-texlive-bin-20180414/bin/texlua
> 3 #!/gnu/store/hw0cz0mis43z19i76pl6ijx5risx4lf0-texlive-bin-20180414/bin/texlua
> 3 #!/gnu/store/lgbiv7q1b6m141nrkjm92qkl9ih5gamw-python2-2.7.15/bin/python -O
> 3 #!/gnu/store/pyrlmxqx3g1mhzpnfpw4w94rj08wxfhj-texlive-bin-20180414/bin/texlua
> 3 #!/gnu/store/x9c77i6r5fmarslij6ng81awgrxblplm-texlive-bin-20180414/bin/texlua
> 3 #!/gnu/store/xwzyy0q261brxmafkvinrrvkq4rgwiq6-texlive-bin-20180414/bin/texlua
> 3 #!if(WithStride,".stride","")
> 3 #!if(WithStride,".stride","")
> 3 #! libapr-1.so
> 3 #!/usr/bin/env ruby
> 4 #! $key eq '-range' and $key .= 's';
> 4 #! $pod_parser->select(@{ $opts{'-ranges'} })
> 4 #!$^X -w
> 4 #! at all.)
> 4 #!/gnu/store/9jjnk994sg3kynx7w2p873x60yr27q1p-pulseaudio-12.2/bin/pulseaudio -nF
> 4 #!/gnu/store/cwla78yg7vnngk51jp81j4phy2fpgbhm-pulseaudio-12.2/bin/pulseaudio -nF
> 4 #!/gnu/store/glvv9jyp28f8454laig76agc3jig4f4z-pulseaudio-12.2/bin/pulseaudio -nF
> 4 #!/gnu/store/gvwf71vddp8c1d7ydqg02p43mgdjrx6s-bash
> 4 #!/gnu/store/qqfrzd5jrpq7i1gn9spv7hzpj4kllvj0-pulseaudio-12.2/bin/pulseaudio -nF
> 4 #!/gnu/store/qsvja1gy86vrdkcqygkamg5j0sfq6ry4-pulseaudio-12.2/bin/pulseaudio -nF
> 4 #!/gnu/store/s795jav4270x940spl48a885nhw4axnx-pulseaudio-12.2/bin/pulseaudio -nF
> 4 #!/gnu/store/wsd8i4dy3vvkpfjlg5m1q5cy0b2ld95q-pulseaudio-12.2/bin/pulseaudio -nF
> 4 #!/gnu/store/yw409j5hzvhgj54p2xxaqbh3bz9zfhpg-pulseaudio-12.2/bin/pulseaudio -nF
> 4 #!/gnu/store/zvhp49cvslhjdv7n19nssv2kr2jqa87h-pulseaudio-12.2/bin/pulseaudio -nF
> 4 #! if ( (defined $opts{'-ranges'})
> 4 #!include_default, #!include /Path/to/another/manifest.skip
> 4 #! libaprutil-1.so
> 4 #! /opt/perl5/bin/perl
> 4 #!/path/to/a/custom_perl --some --args
> 4 #!/path/to/jperl
> 4 #!/path/to/perl -Mencoding=euc-jp
> 4 #!/path/to/perl script invocation. There is a PTF available from
> 4 #! -*-perl-*-
> 4 #!perl
> 4 #! perl
> 4 #!@PERL@
> 4 #!perl -l
> 4 #!perl -T
> 4 #!./perl -w
> 4 #!/pro/bin/perl
> 4 #!/QOpenSys/perl/bin/perl should always work.
> 4 #! && ((ref $opts{'-ranges'}) eq 'ARRAY') );
> 4 #! ## Select the desired paragraph ranges
> 4 #!/usr/bin/env perl use lib qw( lib ); # Add ./lib to @INC
> 4 #!/usr/bin/perl MakeMaker will change this to the path of the perl
> 4 #!/usr/bin/perl -n
> 4 #!/usr/bin/perl -pi.orig
> 4 #!/usr/bin/perl -s
> 4 #!/usr/bin/perl -spi.orig # same as -s -p -i.orig
> 4 #!/usr/bin/perl -T -w
> 4 #!/usr/bin/perl -w
> 4 #!/usr/bin/perl -wl
> 4 #!/usr/bin/perl -w -T
> 4 #!/usr/bin/php
> 4 #! /usr/bin/sh
> 4 #!/usr/local/bin/perl5.14
> 4 #!/usr/local/bin/perl # just a comment really
> 4 #!/usr/local/perl-5.6/bin/perl -w
> 4 #!/usr/locl/bin/perl
> 5 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -W
> 5 #!/gnu/store/g87hamjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python -O
> 5 #!/gnu/store/iqx98v4rnw26n4qn555l4pbj96navxiv-python2-2.7.15/bin/python -O
> 5 #!/usr/bin/env python2
> 6 #!2_]r;QWmr;HTnrVZTls&f@&'E.jlrVud)rr5ao!5AL4r;?NmrVlcos83-$s!e*NeGfI2rVud!
> 6 #![allow(dead_code, unused_imports)]
> 6 #! /bin/bash
> 6 #!/bin/bash^^J%
> 6 #!/bin/sh
> 6 #!bQ7"8Gg6b3eoe>$R71>:0O.S=?1;7XQV?G"!XuWkieE.A([)Gb:<g^IbF&+pDD
> 6 #!cslatex
> 6 #! <fmtname> <enginename> <hyphen> <args>
> 6 #!GaH0,lQdqUHRI!sXe9eQO3Ee^,L\eVF^Wbnu,aSH[**!_"<Pp=0tM"j#6E8hJM_"j#6E?QmeH
> 6 #!/gnu/store/2k67pvrdq9hygg2ysgflk94jhbnc9s9g-tcsh-6.20.00/bin/csh
> 6 #!/gnu/store/2k67pvrdq9hygg2ysgflk94jhbnc9s9g-tcsh-6.20.00/bin/csh -xv
> 6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -n
> 6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -p -i
> 6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -p -i.bak
> 6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -T
> 6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -T -w
> 6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -w
> 6 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -w
> 6 #!H!IX"''9Wa>D7VYA@E`L5suKOJFl<>^ul(bEXhP*HM"9Cbeu,BGMsN,"AdAt[@0
> 6 #!*k<&fW2FrVus62#[IT!r2g.8PT6c"onDor;HKjrVQBcqo8O6&-;h3!XT9::G`Fa"TSNE1E60,
> 6 #!Kmci!<<*"Z2t"+!g3]e!<<*"\cMj3"Hj)l!<<*"_?'];"d0#h!<<*"aoVPC#Ef
> 6 #!kTb'N:-k+U6(!m^1q$6QNUqf%C$^9!K[Ab31,32$=gB!5?i/?h?%VXZd%RmtRZfZE*me2U0QZ'3/
> 6 #!latex
> 6 #! Map belleek.map
> 6 #! Map mapname.map
> 6 #! MixedMap mapname.map
> 6 #!/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.18/bin/sh
> 6 #!P5"q7-/;:!\TuP1=X[Q1lGL6k.rYpP!p4b6-X*ZAl;G!b8,cGrd14Q5D0jpXMON
> 6 #!pdfcslatex
> 6 #!pdflatex
> 6 #! @PERL@ -w
> 6 #!rF>2s`M\gb\?pQ[)lRMVXD7X%;@d6\M.@oPbQ)'8mjcqSsDGM79n2$XtTN<DZbi
> 6 #!topic/comp.text.tex/o14P2e83o4A}{comp.text.tex} for a macro that will define commands and also save the commands being defined in a file or a container macro, \eg, for spelling exceptions on editors that don't support \tex syntax.
> 6 #!UGlO1/(4)%t4-m<.kt,%uoHGtV4M7IFIlnDr.!2?[>P^t.[[P$W\[/V0J8eAS<P
> 6 #! /usr/bin/env perl
> 6 #!/usr/bin/env pfaedit
> 6 #!/usr/bin/fontforge -lang=ff
> 6 #!/usr/bin/fontforge -script
> 6 #!/usr/bin/fontforge -script
> 6 #!/usr/local/bin/perl
> 7 #!/gnu/store/lgbiv7q1b6m141nrkjm92qkl9ih5gamw-python2-2.7.15/bin/python2
> 8 #!/gnu/store/81y6l9ggc5q6z44hp90ll4dv5jl582mq-texlive-bin-20180414/bin/texlua
> 8 #!/gnu/store/8z9avbgm73nzrbkhscps68gcpfipgllc-bootstrap-binaries-0/bin/bash
> 8 #!/gnu/store/hw0cz0mis43z19i76pl6ijx5risx4lf0-texlive-bin-20180414/bin/texlua
> 8 #!/gnu/store/pyrlmxqx3g1mhzpnfpw4w94rj08wxfhj-texlive-bin-20180414/bin/texlua
> 8 #!/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/sh
> 8 #!/gnu/store/x9c77i6r5fmarslij6ng81awgrxblplm-texlive-bin-20180414/bin/texlua
> 8 #!/gnu/store/xwzyy0q261brxmafkvinrrvkq4rgwiq6-texlive-bin-20180414/bin/texlua
> 8 #!/gnu/store/zzakf905mzla4csi1dn9qpcwmgbxj29b-bash-static-4.4.23/bin/bash
> 8 #!/gnu/store/zzakf905mzla4csi1dn9qpcwmgbxj29b-bash-static-4.4.23/bin/sh
> 8 #!/usr/bin/perl -n
> 8 #!/usr/bin/perl -Tw
> 8 #!/usr/local/bin/perl
> 8 #!/usr/local/bin/perl5.10.0
> 8 #!/your/path/to/perl
> 10 #!/gnu/store/0xfmkqpi7xk3ixhrqvjijk4ibsglif62-python-3.7.0/bin/python3
> 10 #!/gnu/store/cl42c73h609bp2gy92qkh8q56spnnl2n-python-3.7.0/bin/python3
> 10 #!/usr/bin/emacs --script
> 11 #!/bin/sh -x
> 11 #!!!!!!!!??? Check @pwd_log
> 11 #!/gnu/store/g30znz9vwkvi23k41dgallfg85sj65hp-python-wrapper-3.7.0/bin/python
> 11 #!/gnu/store/iqx98v4rnw26n4qn555l4pbj96navxiv-python2-2.7.15/bin/python2
> 11 #!/usr/bin/emacs -script
> 11 #! /usr/local/bin/python
> 12 #!/bin/sh
> 12 #! /bin/sh
> 12 #! cont-fr pdftex cont-usr.tex -8bit *cont-fr.mkii
> 12 #! cont-it pdftex cont-usr.tex -8bit *cont-it.mkii
> 12 #! cont-nl pdftex cont-usr.tex -8bit *cont-nl.mkii
> 12 #! cont-ro pdftex cont-usr.tex -8bit *cont-ro.mkii
> 12 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -n -s
> 12 #!/gnu/store/l67sib1ld0fgyf0f4vrzyxnmn4yvimvb-gawk-4.2.1/bin/awk -f
> 12 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/sh -vx
> 12 #! Map belleek.map
> 12 #! mflua mflua-nowin - mf.ini
> 12 #!/usr/bin/env perl
> 12 #!/usr/bin/fontforge
> 12 #!/usr/bin/perl -Tw
> 12 #!/usr/bin/python
> 12 #!/usr/local/bin/fontforge
> 12 #! /usr/local/bin/perl
> 12 #!/usr/local/bin/perl -w
> 13 #!/gnu/store/0xfmkqpi7xk3ixhrqvjijk4ibsglif62-python-3.7.0/bin/python3.7
> 13 #!/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/bin/python3.7
> 13 #!/gnu/store/cl42c73h609bp2gy92qkh8q56spnnl2n-python-3.7.0/bin/python3.7
> 13 #!/gnu/store/g87hamjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python2
> 13 #!/gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0/bin/python3.7
> 13 #!/gnu/store/zm3188ipzi262s0m8bxm24br77yh9pd8-python-3.7.0/bin/python3.7
> 14 #!@EMACS@ --script
> 14 #!/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/bin/guile -ds
> 14 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/sh -
> 14 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/sh -x
> 14 #!@GUILE@ \
> 14 #!@GUILE@ -ds
> 14 #! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini
> 16 #!$PERL
> 16 #!/usr/local/bin/perl -w
> 17 #!/gnu/store/3w3nz0h93h7jif9d9c3hdfyimgkpx1a4-python-wrapper-3.7.0/bin/python
> 18 #!
> 18 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -s
> 18 #! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini
> 18 #!./perl
> 18 #!perl.exe (versions below 4)
> 18 #!/usr/bin/env perl
> 20 #! /gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash
> 20 #!/usr/bin/perl -w
> 21 #!/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/bin/python3
> 22 #!/gnu/store/iqx98v4rnw26n4qn555l4pbj96navxiv-python2-2.7.15/bin/python2.7
> 22 #!/usr/bin/env wish
> 23 #!/gnu/store/r68bi4640vm0s7zsgyk7shsag8ibl3nc-python-wrapper-3.7.0/bin/python
> 24 #!/bin/lua
> 24 #!/usr/bin/lua
> 24 #!/usr/bin/perl
> 25 #!/gnu/store/57daq0hkwvmwx4asiy669cmln868brfm-python2-2.7.15/bin/python2.7
> 25 #!perl -w
> 28 #!/gnu/store/lgbiv7q1b6m141nrkjm92qkl9ih5gamw-python2-2.7.15/bin/python2.7
> 28 #!perl
> 29 #!/gnu/store/bs6bwq60sh3zamgiqmkyryf1lxbfjkgd-lua-5.3.5/bin/lua
> 30 #![allow(dead_code, unused_variables)]
> 30 #!/usr/bin/env python
> 32 #!/usr/bin/env perl
> 33 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl
> 35 #![allow(unused_variables)]
> 35 #! /bin/sh -e
> 35 #![feature(omit_gdb_pretty_printer_section)]
> 36 #! $SHELL
> 38 #!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds
> 38 #!/gnu/store/g87hamjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python2.7
> 40 #!/bin/sh
> 40 #!/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/bin/guile --no-auto-compile
> 42 #!/gnu/store/r658y3cgpnf99nxjxqgjiaizx20ac4k0-guile-2.2.4/bin/guile --no-auto-compile
> 42 #!/usr/bin/env ../utility/fontforge-interp.sh
> 44 #!/usr/bin/perl
> 45 #!/usr/bin/env ruby
> 46 #!location/of/bin/ruby
> 47 #!@BASH@
> 48 #!/usr/bin/env texlua
> 50 #!/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/bin/guile \
> 51 #!/usr/bin/perl -w
> 53 #!/usr/bin/env fontforge
> 56 #!@SHELL@
> 56 #!/usr/bin/perl
> 57 #!/gnu/store/5wp8mhmlq2xbd6kg0dq7armjgva7j7cs-perl-5.28.0/bin/perl
> 60 #!/gnu/store/2k67pvrdq9hygg2ysgflk94jhbnc9s9g-tcsh-6.20.00/bin/csh -f
> 61 #!/gnu/store/zvm2hcnbcv9mygzwpbrb6pvj1nc9wbfv-perl-boot0-5.28.0/bin/perl
> 63 #!location/of/bin/bash
> 64 #! /bin/sh
> 66 #!/usr/bin/perl -w
> 80 #! /usr/bin/env python
> 90 #! /usr/bin/env python3
> 108 #!/gnu/store/fndcvkn64ycw720d3ikjvmyvhsqk2v4n-ruby-2.5.3/bin/ruby
> 110 #!~a
> 116 #!/usr/bin/perl
> 137 #!/bin/sh
> 140 #!/gnu/store/61sixy2zjzlrpqwxphzf7v6h0yaysx1s-ruby-2.5.3/bin/ruby
> 140 #!/gnu/store/lgbiv7q1b6m141nrkjm92qkl9ih5gamw-python2-2.7.15/bin/python
> 145 #!/gnu/store/8z9avbgm73nzrbkhscps68gcpfipgllc-bootstrap-binaries-0/bin/sh
> 146 #!/gnu/store/hw0cz0mis43z19i76pl6ijx5risx4lf0-texlive-bin-20180414/bin/texlua
> 146 #!/gnu/store/xwzyy0q261brxmafkvinrrvkq4rgwiq6-texlive-bin-20180414/bin/texlua
> 150 #!/gnu/store/81y6l9ggc5q6z44hp90ll4dv5jl582mq-texlive-bin-20180414/bin/texlua
> 150 #!/gnu/store/pyrlmxqx3g1mhzpnfpw4w94rj08wxfhj-texlive-bin-20180414/bin/texlua
> 150 #!/gnu/store/x9c77i6r5fmarslij6ng81awgrxblplm-texlive-bin-20180414/bin/texlua
> 162 #!/usr/bin/env python3
> 167 #!/bin/bash
> 169 #!/usr/bin/env python
> 207 #!/gnu/store/iqx98v4rnw26n4qn555l4pbj96navxiv-python2-2.7.15/bin/python
> 209 #!/gnu/store/g87hamjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python
> 228 #!/bin/sh
> 292 #!/gnu/store/5s2nib1lrd2101bbrivcl17kjx1mspw6-coreutils-8.30/bin/false
> 292 #!/gnu/store/8z9avbgm73nzrbkhscps68gcpfipgllc-bootstrap-binaries-0/bin/false
> 319 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -w
> 362 #!/bin/bash
> 1589 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl
> 2706 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash
> 3294 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/sh
> 3871 #!/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash
> -----------------------------------------------------
Yeah, a guix package should patch all those shell interperters from
/bin, /usr/bin, etc to the store path under /gnu/store, but may miss
some cases (which should be fixed).
>
> Some look a bit weird, like
> 6 #!/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.18/bin/sh
> but I guess it could be a template for some remote context. Idk.
> There is no /nix directory on my disk anyway. Maybe inside a ramdisk image?
I don't know, guess it should be fine...
>
> (There were lots of matches in what appears binary to grep, but they were
> all to inside /gnu/store, so I eliminated them for here, with -I)
>
> BTW, I haven't yet started shepherd automatically, and it isn't running in the above.
> Just guix-daemon:
> from emacs I'm in now: Esc-1 Esc-! ps -e f |grep -i guix
> 530 ? Ss 0:00 /var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
> 31185 ? Ss 0:00 \_ /home/bokr/.guix-profile/bin/bash -c ps -e f |grep -i guix
> 31187 ? S 0:00 \_ grep -i guix
>
> I have set SHELL=/home/bokr/.guix-profile/bin/bash in ~/.bash_profile,
> but as seen, that doesn't take effect for the immediate login shell.
>
> I wonder if I could exec it at the end of ~/.bash_profile -- or even as the first and only thing, hm...
Both should work, but you might try the guix system if have so much
choices trouble you :-)
>
> Hope someone can point to to enlightening reading re names in guix and its environments. TIA ;-)
>
> Bengt Richter
I'm not sure what you mean about "names" and "environments", in the
low-level, they are:
filesystem:
guix use /gnu, /var/guix, /var/log/guix, and $HOME/.guix-profile, your
distribution doesn't use those, so guix can live within it happily.
environment variables:
PATH, MANPATH, INFOPATH (and more...), both guix and your distribution
share the same ones, so there maybe some conflicts.
Hope it helps!
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#37249: console shell upon login is not ~/.guix-profile/bash -- is this always/never ok?
2019-09-07 8:50 ` 宋文武
@ 2019-09-09 13:40 ` Bengt Richter
0 siblings, 0 replies; 4+ messages in thread
From: Bengt Richter @ 2019-09-09 13:40 UTC (permalink / raw)
To: 宋文武; +Cc: 37249
On +2019-09-07 16:50:12 +0800, 宋文武 wrote:
> Bengt Richter <bokr@bokr.com> writes:
>
> > Hello,
> >
> > In the pursuit of causes for problems as yet not clear enough to
> > post as bugs, I am looking for ambivalences in name searches
> > in /gnu/... and /(the-rest).
>
> Hello, I think most guix packages (some won't or require manual
> configurations) will work on a foreign GNU/Linux distribution, and guix
> shouldn't cause problems for the distribution.
>
Hi ???iyzsong,
Thank you for caring to answer, and for your time working on it!
Unfortunately for me, perhaps, I am interested in pursuing purity
in the definition of systems, so "shoulds" are not that reassuring ;-)
I think your advice,
> "... you might try the guix system if have so much
> choices trouble you :-)
may be the easiest way to improve my current situation, so
I will see about doing that. Thanks :)
[...]
>
> After login, user's shell program as specified in /etc/passwd will be
> executed. So you should have '/usr/bin/bash' or '/bin/bash' in
> /etc/passwd, and your $PATH have '$HOME/.guix-profile/bin' before
> '/usr/bin', so when type 'bash' in a shell, the guix one got executed.
>
Yes, but I don't normally type bash -- I type the name of some script
I've written and put in ~/bin, and it was typically written years ago
with a #!/usr/bin/bash first line, and I don't want to have to modify
all those ;-) Especially those that I might have put in a personal git
repo.
Would I have to, to migrate all those little helpers to my GuixSD ??
[...]
> > [13:42 ~/bs]$ which -a bash
> > /home/bokr/.guix-profile/bin/bash
> > /usr/bin/bash
> > [13:43 ~/bs]$ which -a bash|xargs readlink -f|while read line;do echo -ne "$line:\n "; file "$line";done
> > /gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash:
> > /gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash:
> > ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter
> > /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/ld-linux-x86-64.so.2,
> > for GNU/Linux 2.6.32, not stripped
> > /usr/bin/bash:
> > /usr/bin/bash: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked,
> > interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=21a51cb5f7d727370e4d8099d283d7cd20222571,
> > for GNU/Linux 3.2.0, stripped
> >
> > Are the differences possibly dangerous?
>
> It's totally OK, you can use both :-)
>
Until I have to diagnose a difference in behaviour ;-)
> >
> > Looking for dependencies outside of /gnu from within /gnu, I grepped the whole
> > as you see below. I am sure most of this is fine and coming out of documentation
> > and stuff meant for other than normally booted runtime. But does it all look ok?
> >
> > Or is my foreign-host twilight-zone shared ArchLinux/guix namespace really not
> > meant to be. I.e., is guix really defined to use /usr/ as a trusted base namespace
> > when it is defined by e.g. linux-libre in GuixSD ?
> >
> > Where would be the best docs to read about the guix name and environment rationales?
>
> There are no 'namespace' involed, guix and your ArchLinux packages share
> the same filesystem. And guix binaries are self-contained, they can
> work without any dependenices outsite of /gnu (sometimes they will use
> what's available in PATH, etc. which may be provided by your distribution).
>
I meant namespace in the general sense of a "space" to look for the meaning
of a name in, sorry to abuse the term.
Anyhow, that "sometimes" leaves me guessing ;-)
> >
> > Ok, here is the grep:
[...]
> > 162 #!/usr/bin/env python3
> > 167 #!/bin/bash
> > 169 #!/usr/bin/env python
> > 207 #!/gnu/store/iqx98v4rnw26n4qn555l4pbj96navxiv-python2-2.7.15/bin/python
> > 209 #!/gnu/store/g87hamjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python
> > 228 #!/bin/sh
> > 292 #!/gnu/store/5s2nib1lrd2101bbrivcl17kjx1mspw6-coreutils-8.30/bin/false
> > 292 #!/gnu/store/8z9avbgm73nzrbkhscps68gcpfipgllc-bootstrap-binaries-0/bin/false
> > 319 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl -w
> > 362 #!/bin/bash
> > 1589 #!/gnu/store/dna8kpb00kq176rz8x69yy4j33my2q55-perl-5.28.0/bin/perl
> > 2706 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash
> > 3294 #!/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/sh
> > 3871 #!/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash
> > -----------------------------------------------------
>
> Yeah, a guix package should patch all those shell interperters from
> /bin, /usr/bin, etc to the store path under /gnu/store, but may miss
> some cases (which should be fixed).
>
I can live with work in progress ;-)
[...]
> > I have set SHELL=/home/bokr/.guix-profile/bin/bash in ~/.bash_profile,
> > but as seen, that doesn't take effect for the immediate login shell.
> >
> > I wonder if I could exec it at the end of ~/.bash_profile -- or even as the first and only thing, hm...
>
> Both should work, but you might try the guix system if have so much
> choices trouble you :-)
> >
Actually, neither exec worked the ways I tried. Idk, maybe by design, so as
not to allow exec to replace the process that catches seg faults etc and
cleans up on logout.
> > Hope someone can point to to enlightening reading re names in guix and its environments. TIA ;-)
> >
> > Bengt Richter
>
> I'm not sure what you mean about "names" and "environments", in the
> low-level, they are:
>
> filesystem:
> guix use /gnu, /var/guix, /var/log/guix, and $HOME/.guix-profile, your
> distribution doesn't use those, so guix can live within it happily.
>
> environment variables:
> PATH, MANPATH, INFOPATH (and more...), both guix and your distribution
> share the same ones, so there maybe some conflicts.
>
Yup, I am experiencing those ;-)
> Hope it helps!
Yes, actually. Thank you!
Regards,
Bengt Richter
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#37249: console shell upon login is not ~/.guix-profile/bash -- is this always/never ok?
2019-08-31 22:21 bug#37249: console shell upon login is not ~/.guix-profile/bash -- is this always/never ok? Bengt Richter
2019-09-07 8:50 ` 宋文武
@ 2019-09-10 7:00 ` Efraim Flashner
1 sibling, 0 replies; 4+ messages in thread
From: Efraim Flashner @ 2019-09-10 7:00 UTC (permalink / raw)
To: Bengt Richter; +Cc: 37249
[-- Attachment #1: Type: text/plain, Size: 601 bytes --]
This is something I'm also interested in. Something I've found while
looking around online is checking 'ssh server env | grep PATH', and on
my Guix System machines I see it is PATH=/run/current-system/profile/bin.
It seems that playing with ~/.ssh/environment and/or ~/.ssh/rc might
yield changes, but the real question IMO is if you can change things
without changing sshd_config.
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-09-10 7:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-31 22:21 bug#37249: console shell upon login is not ~/.guix-profile/bash -- is this always/never ok? Bengt Richter
2019-09-07 8:50 ` 宋文武
2019-09-09 13:40 ` Bengt Richter
2019-09-10 7:00 ` Efraim Flashner
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.