Oh I see, this command didn’t really do what I wanted it to do then. I just wanted to be able to see the locations of any files associated with a program. If I knew the file path I could just find them haha
Like I said, it obviously can only track files installed by the package, if the conf was generated by the executable after, or if you created it, the package system cannot know about it.
Also, you’re still using -S wrong. It takes a file path as argument, not a package name. And does the opposite of -L by showing you which installed package, if any, owns an existing file.
this command didn’t really do what I wanted it to do then
I just want to do something like find {package name} | grep "config.conf" or something like that. I normally know what the program is called, I just don’t know where it is located.
That person wants to find a file used by a certain package.
You gave them a command to find a file shipped in a certain package.
Those are not the same things so no, you did not gave them what they wanted, as they clearly demonstrated by showing you that a file that they know is used by a certain packaged is not listed by the command you gave them when applied to that package.
You de facto did not solve that person’s problem yet have repeatedly insisted you did:
Re read their original.messsage. they specifically asked for, and I quote, “install paths”. You’re going to have to work on reading comprehension before accusing people of being LLMs.
Meanwhile, every single time they replied they used the command wrong… Provided the wrong value for the arguments. Despite the original instructions. Yeah, it didn’t work for them. That’s a skills issue.
I’ve been using Linux daily for over a year now and I still have a hard time tracking down config files and install paths.
(empahsys mine)
To which you responded, with commands which are not guaranteed to do the former, only the latter, without making clear those limitations.
Your original advice is useful when paired with some clarification of its limitations, though given what the other person asked, it’s insufficient advice. However by not making clear your advice’s inability to in some cases do what the other person asked for, what you gave amounts to invalid advice because you’ve sent the other person down a dead end without making them aware that might be the case.
Then to add insult to injury, down the thread you repeatedly wrote that this is what they “wanted”, which was obviously not the case as was very clear from the very start (it wasn’t even what they asked for) and couldn’t have been made clearer in the rest of the thread as the other person repeatedly said it was not what they wanted and even proved it.
The only reason I eventually intervened is because in a professional context I’ve had to correct lots of junior techies doing the exact kind of mistake you just did, though it’s rare for even a fucking junior developer on their very first job to dig such a deep hole of insisting again, and again (and again, AND AGAIN) they know better than the person seeking advice what they actually WANT whilst giving them invalid advice, as you just did.
I mean, thanks for giving the advice and do keep on doing so, just learn to review your own internal assumptions about what they want if it starts to look like there’s a mismatch between what you gave them based on your initial assumption and what they seem to need, especially if they themselves are telling you that’s not what they want (and that person actually went extremelly far in trying to clarify things, even giving you the output of the command in their system to prove it didn’t do what they want - non techie and/or low patience users would’ve given up on you far earlier than that person did).
Mind you, if you don’t work in Tech and don’t plan on doing so, feel free to ignore my post.
Oh I see, this command didn’t really do what I wanted it to do then. I just wanted to be able to see the locations of any files associated with a program. If I knew the file path I could just find them haha
dpkg -L PACKAGE_NAME
does what you want. In my initial reply I mentioned thatdpkg -S
is the inverse.Here is the entire output I get when I get that command.
username@server:~$ dpkg -L samba /usr/share/doc/samba/examples /usr/share/doc/samba/examples/LDAP /usr/share/doc/samba/examples/LDAP/README /usr/share/doc/samba/examples/LDAP/get_next_oid /usr/share/doc/samba/examples/LDAP/ol-schema-migrate.pl /usr/share/doc/samba/examples/LDAP/samba-nds.schema /usr/share/doc/samba/examples/LDAP/samba-schema-FDS.ldif /usr/share/doc/samba/examples/LDAP/samba-schema-netscapeds5.x.README /usr/share/doc/samba/examples/LDAP/samba-schema.IBMSecureWay /usr/share/doc/samba/examples/LDAP/samba.ldif /usr/share/doc/samba/examples/LDAP/samba.schema /usr/share/doc/samba/examples/LDAP/samba.schema.at.IBM-DS /usr/share/doc/samba/examples/LDAP/samba.schema.oc.IBM-DS /usr/share/doc/samba/examples/logon /usr/share/doc/samba/examples/logon/genlogon /usr/share/doc/samba/examples/logon/genlogon/genlogon.pl /usr/share/doc/samba/examples/logon/mklogon /usr/share/doc/samba/examples/logon/mklogon/mklogon.conf /usr/share/doc/samba/examples/logon/mklogon/mklogon.pl /usr/share/doc/samba/examples/logon/ntlogon /usr/share/doc/samba/examples/logon/ntlogon/README /usr/share/doc/samba/examples/logon/ntlogon/ntlogon.conf /usr/share/doc/samba/examples/logon/ntlogon/ntlogon.py /usr/share/doc/samba/examples/printing /usr/share/doc/samba/examples/printing/VampireDriversFunctions /usr/share/doc/samba/examples/printing/prtpub.c /usr/share/doc/samba/examples/printing/readme.prtpub /usr/share/doc/samba/examples/printing/smbprint.sysv /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/samba /usr/share/man /usr/share/man/man1 /usr/share/man/man1/log2pcap.1.gz /usr/share/man/man1/mvxattr.1.gz /usr/share/man/man1/oLschema2ldif.1.gz /usr/share/man/man1/profiles.1.gz /usr/share/man/man1/sharesec.1.gz /usr/share/man/man1/smbcontrol.1.gz /usr/share/man/man1/smbstatus.1.gz /usr/share/man/man8 /usr/share/man/man8/eventlogadm.8.gz /usr/share/man/man8/nmbd.8.gz /usr/share/man/man8/pdbedit.8.gz /usr/share/man/man8/samba-bgqd.8.gz /usr/share/man/man8/samba-gpupdate.8.gz /usr/share/man/man8/samba.8.gz /usr/share/man/man8/samba_downgrade_db.8.gz /usr/share/man/man8/smbd.8.gz /usr/share/samba /usr/share/samba/admx /usr/share/samba/admx/GNOME_Settings.admx /usr/share/samba/admx/en-US /usr/share/samba/admx/en-US/GNOME_Settings.adml /usr/share/samba/admx/en-US/samba.adml /usr/share/samba/admx/ru-RU /usr/share/samba/admx/ru-RU/GNOME_Settings.adml /usr/share/samba/admx/samba.admx /usr/share/samba/mdssvc /usr/share/samba/mdssvc/elasticsearch_mappings.json /usr/share/samba/update-apparmor-samba-profile /var /var/lib /var/lib/samba /var/lib/samba/printers /var/lib/samba/printers/COLOR /var/lib/samba/printers/IA64 /var/lib/samba/printers/W32ALPHA /var/lib/samba/printers/W32MIPS /var/lib/samba/printers/W32PPC /var/lib/samba/printers/W32X86 /var/lib/samba/printers/WIN40 /var/lib/samba/printers/x64 /usr/share/bug/samba/presubj /usr/share/bug/samba/script
Now, if I grep those commands, I get these outputs
username@server:~$ dpkg -S samba | grep "smb.conf" samba-common: /usr/share/samba/smb.conf samba-common: /usr/share/doc/samba-common/examples/smb.conf.default python3-samba: /usr/lib/python3/dist-packages/samba/gp/gp_smb_conf_ext.py
username@server:~$ dpkg -L samba | grep "smb.conf" username@server:~$
And these are copy and pasted straight from my terminal.
Like I said, it obviously can only track files installed by the package, if the conf was generated by the executable after, or if you created it, the package system cannot know about it.
Also, you’re still using
-S
wrong. It takes a file path as argument, not a package name. And does the opposite of-L
by showing you which installed package, if any, owns an existing file.And like I said
I just want to do something like
find {package name} | grep "config.conf"
or something like that. I normally know what the program is called, I just don’t know where it is located.No it does exactly that. The issue is that the config you are looking at was not created by a package.
That person wants to find a file used by a certain package.
You gave them a command to find a file shipped in a certain package.
Those are not the same things so no, you did not gave them what they wanted, as they clearly demonstrated by showing you that a file that they know is used by a certain packaged is not listed by the command you gave them when applied to that package.
You de facto did not solve that person’s problem yet have repeatedly insisted you did:
Are you an LLM?!
Re read their original.messsage. they specifically asked for, and I quote, “install paths”. You’re going to have to work on reading comprehension before accusing people of being LLMs.
Meanwhile, every single time they replied they used the command wrong… Provided the wrong value for the arguments. Despite the original instructions. Yeah, it didn’t work for them. That’s a skills issue.
From their original post.
(empahsys mine)
To which you responded, with commands which are not guaranteed to do the former, only the latter, without making clear those limitations.
Your original advice is useful when paired with some clarification of its limitations, though given what the other person asked, it’s insufficient advice. However by not making clear your advice’s inability to in some cases do what the other person asked for, what you gave amounts to invalid advice because you’ve sent the other person down a dead end without making them aware that might be the case.
Then to add insult to injury, down the thread you repeatedly wrote that this is what they “wanted”, which was obviously not the case as was very clear from the very start (it wasn’t even what they asked for) and couldn’t have been made clearer in the rest of the thread as the other person repeatedly said it was not what they wanted and even proved it.
The only reason I eventually intervened is because in a professional context I’ve had to correct lots of junior techies doing the exact kind of mistake you just did, though it’s rare for even a fucking junior developer on their very first job to dig such a deep hole of insisting again, and again (and again, AND AGAIN) they know better than the person seeking advice what they actually WANT whilst giving them invalid advice, as you just did.
I mean, thanks for giving the advice and do keep on doing so, just learn to review your own internal assumptions about what they want if it starts to look like there’s a mismatch between what you gave them based on your initial assumption and what they seem to need, especially if they themselves are telling you that’s not what they want (and that person actually went extremelly far in trying to clarify things, even giving you the output of the command in their system to prove it didn’t do what they want - non techie and/or low patience users would’ve given up on you far earlier than that person did).
Mind you, if you don’t work in Tech and don’t plan on doing so, feel free to ignore my post.