Trying to understand .pacnew files

Above and beyond @anon3337769 but extremely helpful in making the picture clearer.

By that you meant you edited the /etc/systemd/swap.conf.pacnew file with your personal configurations and then did sudo mv /etc/systemd/swap.conf.pacnew /etc/systemd/swap.conf? I’m assuming there were lots of software changes in the .pacnew and your configs were less so it was easier for you to do it that way.

I don’t know if you read my example before about tlp. my changes to the tlp file are just two values 45 and 79. So would you agree if I updated tlp and there was a /etc/tlp.conf.pacnew that I could copy those two values to the .pacnew and then sudo mv /etc/tlp.conf.pacnew /etc/tlp.conf?

1 Like

Yes, that’s what I did. The entire layout changed, so it was simpler for me to make the changes (uncomment a few lines, and copy/paste one line). Again, I thought it was easier and quicker to do it that way - it’s always a case-by-case basis.

Sure thing, that would be fine. Although, as mentioned earlier, you probably want to make a copy of the old config file and the pacnew first - just in case. That’s until you get familiar with the process, anyway.

2 Likes

Okay fantastic, I don’t know maybe I’ve been misunderstanding different people here and there.

lol, lets just leave it on that last point.

cheers @anon3337769

p.s, lol I don’t drink btw @anon3337769

2 Likes

We will take care of that for you. :wink:

1 Like

:smile: not a chance mate. I haven’t drank anything since I was 19. I used to drink whiskey and stella and do a lot more. I’ve been clean for many yrs now and am content without. Thanks lol

2 Likes

This was a great thread, I never used pacdiff till today. Just used meld filename1 filename2.
Thanks folks.

3 Likes

That makes me feel much better, I was feeling a bit bad that the post was so long and everyone had spent so much time. It’s good to know others benefit from it too.

4 Likes

It is kind of why we are here? :joy:

3 Likes

:slight_smile:

As soon as I can I’ll be doing my best to help others with their technical issues too. I can’t though until I have the knowledge because lol I’ll end up breaking peoples systems if they follow my advice.

3 Likes

Just keep reading posts. If you see one that you know you had to fix yourself successfully and it is not hardware specific, feel free to post. I am fairly confident if someone posted something that will break a system it would get flagged.

4 Likes

:+1:

That’s great, thanks for that. I was just thinking people might think I don’t know what I’m talking about and I’m just getting in the way. Or asking incorrect things etc.

i will do what I can if I think I can be of help.

Thank you @BONK

3 Likes

This forum is 100% different from every other Linux forum I have been on, but it is exactly the way I believe all Linux forums should be like.

Apologies @anon3337769, when I had difficulty understanding what @ringo was telling me you came and explained. Just looking back now your first explanation was clear enough. Not sure why I didn’t get it straight away. lol you explained I should run it with sudo so obviously it’s a command and you explained what it does. I googled DIFFPROG=meld before you replied and read something about environment variable, maybe that’s why I got confused. Anyway, thanks for your patience.

5 Likes

Well, just another 2 cents from my side here :smiley: :

First, yes i posted that little pacman hook that will inform you when there are .pac* files. But i agree with the others here, that it is not really nescessary :sweat_smile:
If one just scrolls through the pacman output, you will spot the info about a pacnew file being placed as well. In the end, it is recommended to view the output anyway, to see if there are errors or whatnot. I think, that is what the Arch Wiki advises, so not reading the pacman output carefully is “against the law”, right? :rofl:
But maybe it’s a nice “quest” for your adventure game called Linux, as you got interested in hooks in general.

Ok, then i would like to elaborate a little bit about the sudo DIFFPROG=meld pacdiff command for you, which was mentioned several times now to just explain what it means/does:
So pacdiff is a simple program to merge pacnew files. You can run it just like that. It uses vim/vimdiff as texteditor, which is console based and not everyone’s thing. But you can run pacdiff and specify another texteditor via the environment variable DIFFPROG=your-prefered-comparing-text-editor

So running sudo DIFFPROG=meld pacdiff will run pacdiff but will use meld as texteditor instead of vim, that’s just about it.

to get a feeling about meld just create a textfile in your home (or copy something from your /etc folder)
Then duplicate that textfile and give it another name (maybe just append .pacnew to the second one :joy: )

Then open the second file (the “.pacnew”) and edit some lines, so both files differ a little bit.
OK, now just open meld (if you have it installed). On the “welcome screen” choose “file comparison” and select your two text files. Both get opened side by side - take a look around and you will get how it works (differences are highlighted, arrows in the middle to transfer a line from one side to another…).
It’s just a nice little editor for comparing.
…just a little bonus quest if you like. You will be granted a nice item in reward, called enlightement :smile: :joy:

edit: huh, got pretty long…

2 Likes

@T-Flips thanks for that, you broke down a lot of points and made them all very clear. Funny thing is just before I came on here I was learning about echo and variables. lol good timing. When DIFFPROG first came up I did think it was an environment variable but the only experience I had with environment variables is exporting them and putting them in files. You made that very clear now thanks. I’ll probably just use pacdiff [file] [file] because I like vim.

I think it’s best to get into the habit of looking at the output when I do an update so I’ll just stick with that. A few times now when downloading stuff I’ve noticed warnings etc. Do you always google and research all warnings you see in your terminal? For example I got a couple of warnings when I installed pacmerge.


(1/1) installing pacmerge                                                                   [------------------------------------------------------] 100%
[2020-11-17 19:16:01.836115 +00:00] INFO [src/main.rs:63] Not saving base state for etc/crypttab since it is modified
[2020-11-17 19:16:01.836218 +00:00] INFO [src/main.rs:63] Not saving base state for etc/fstab since it is modified
[2020-11-17 19:16:01.836230 +00:00] INFO [src/main.rs:63] Not saving base state for etc/group since it is modified
[2020-11-17 19:16:01.836238 +00:00] INFO [src/main.rs:63] Not saving base state for etc/gshadow since it is modified
[2020-11-17 19:16:01.836401 +00:00] INFO [src/main.rs:63] Not saving base state for etc/hosts since it is modified
[2020-11-17 19:16:01.836419 +00:00] INFO [src/main.rs:63] Not saving base state for etc/issue since it is modified
[2020-11-17 19:16:01.836655 +00:00] INFO [src/main.rs:63] Not saving base state for etc/passwd since it is modified
[2020-11-17 19:16:01.836733 +00:00] INFO [src/main.rs:63] Not saving base state for etc/resolv.conf since it is modified
[2020-11-17 19:16:01.836805 +00:00] INFO [src/main.rs:63] Not saving base state for etc/shadow since it is modified
[2020-11-17 19:16:01.836828 +00:00] INFO [src/main.rs:63] Not saving base state for etc/shells since it is modified
[2020-11-17 19:16:01.838670 +00:00] INFO [src/main.rs:63] Not saving base state for etc/locale.gen since it is modified
[2020-11-17 19:16:01.875542 +00:00] INFO [src/main.rs:63] Not saving base state for etc/default/grub since it is modified
[2020-11-17 19:16:01.878731 +00:00] WARN [src/main.rs:73] Could not copy etc/iwd/main.conf: No such file or directory (os error 2)
[2020-11-17 19:16:01.965861 +00:00] INFO [src/main.rs:63] Not saving base state for etc/lightdm/lightdm.conf since it is modified
[2020-11-17 19:16:01.966221 +00:00] INFO [src/main.rs:63] Not saving base state for etc/lightdm/lightdm-gtk-greeter.conf since it is modified
[2020-11-17 19:16:01.968108 +00:00] INFO [src/main.rs:63] Not saving base state for etc/mkinitcpio.conf since it is modified
[2020-11-17 19:16:01.969196 +00:00] WARN [src/main.rs:73] Could not copy etc/neofetch/config.conf: No such file or directory (os error 2)
[2020-11-17 19:16:02.016592 +00:00] INFO [src/main.rs:63] Not saving base state for etc/pacman.conf since it is modified
[2020-11-17 19:16:02.016632 +00:00] INFO [src/main.rs:63] Not saving base state for etc/makepkg.conf since it is modified
[2020-11-17 19:16:02.016647 +00:00] INFO [src/main.rs:63] Not saving base state for etc/pacman.d/mirrorlist since it is modified
[2020-11-17 19:16:02.066297 +00:00] INFO [src/main.rs:63] Not saving base state for etc/tlp.conf since it is modified
[2020-11-17 19:16:02.067446 +00:00] INFO [src/main.rs:63] Not saving base state for etc/ufw/ufw.conf since it is modified
[2020-11-17 19:16:02.067472 +00:00] INFO [src/main.rs:63] Not saving base state for etc/ufw/user.rules since it is modified
[2020-11-17 19:16:02.067610 +00:00] INFO [src/main.rs:63] Not saving base state for etc/ufw/user.rules since it is modified
[2020-11-17 19:16:02.067634 +00:00] INFO [src/main.rs:63] Not saving base state for etc/ufw/user6.rules since it is modified
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) pacmerge.hook

To be honest I’ve had other warnings too when installing other packages but have been lazy and just ignored them. I hope the answer isn’t that every warning needs to be dealt with because then it would be too much maintenance.

I’m assuming pacdiff [file] [file] is just the same as doing vimdiff [file] [file]

Maybe not exactly the same as you said pacdiff uses vimdiff

I won’t be looking into the hook stuff at the moment. At times learning about Linux feels overwhelming so I need to do it bit by bit. It’s easy to get information overload and I don’t want to feel like I can’t do it.

@T-Flips you seem to know quite a lot about Linux, how long have you been using Linux, how did you learn?

1 Like

if i’m not sure whether it can be ignored, or what it means, then yes, i guess…

Well those “no such file or directory” warnings in your output can be ignored, you probably just don’t have the corresponding package installed (like iwd, so there is no /etc/iwd/main.conf file)

as long as your system runs fine… :smile:
Well, as always the anser is: “it depends” There are warning/error messages that can be safely ignored for sure (like yours above)

Sure, take your time. Wanting too much too quicky would indeed leave you overwhelmed :nerd_face:

Uh, thank you! :blush:. But i wish i would be more knowledgeable, cuz i’m not. There are other guys around here certainly on a whole other level. i’m using Linux since 2006. Used quite some diferent distros and different desktops, so i would say i have seen a bit. Been reading wikis (like the Arch one) and forums, tried things out, read some (beginner-) books about Linux basics (like filesystem hierarchy, X-Server, kernel and stuff). Magazines, podcasts… there are many ways. I simply was (and still am) interested in learning :slightly_smiling_face:

2 Likes

@T-Flips cheers, thanks for your reply. I just have to give it time I suppose, lol it takes time to level up.

:wink:

1 Like

pacmerge is a little light on documentation. I think I understand Meld though (which EOS gives us). Right now, my pacman.conf has both [extra] and [community] entries in it. I suppose no harm in the latter, it just points to nowhere right now.

…and by “understand Meld”, I mean, I think I prefer that it just lays out the differences for me so I can see what’s going on. :wink:

2 Likes

Ok, decided to be a little “bolder” and get rid of [community]. I have a backup in case I got it wrong.

1 Like

It will probably look like this:

:: Synchronizing package databases...
 core                                                               132.5 KiB   429 KiB/s 00:00 [--------------------------------------------------------] 100%
 extra                                                                8.3 MiB  12.9 MiB/s 00:01 [--------------------------------------------------------] 100%
 multilib is up to date

I use multilib if you don’t core and extra