Pages:
Author

Topic: Bitcoin RPM packages for Fedora and Red Hat Enterprise Linux - page 2. (Read 31459 times)

hero member
Activity: 588
Merit: 500
Sounds like a struggle. It is a little surprising to find such disharmony between the development projects and all the distros in the Linux world, although I'm beginning to understand just how many levels of interoperation there are (packaging format, desktop, architecture, repo & EOL distros/libraries all play their part, I'll hazard a guess that there are more...). Seems like the secret is to have as consumate a knowledge of Linux in all it's incarnations and permutations as possible, then it's possible to fix most things yourself  Cheesy.

It's not that. The Bitcoin devs aren't hard to work with. The problem is Bitcoin wasn't originally designed with distro packaging in mind, and almost nobody (except possibly me) cares about it. I just want to see Bitcoin used more widely and more securely. Eventually getting Bitcoin into Fedora and Red Hat will help a LOT. And having used Linux for 20 years I have a little experience to draw on. Smiley Unfortunately I don't get paid for this and the donations have been pitifully small so far. Oh well. I'll keep at it.
legendary
Activity: 3430
Merit: 3080
I'm not sure what the deal with Qubes OS is. When I get some time I'll play with it and see if I can figure out what's going on. I can't make any guarantees, though; it seems they have a completely different security model and who knows what it will need to run the bitcoin server successfully.

Qubes is interesting, it uses the Xen virtualisation software to created an OS built around compartmentalising everything, all using Fedora as the template distro. The GUI/desktop is bundled with with a set of presiding commands, libraries and scripts that provide an interface between the hypervisor and the layer for running VMs with actual applications. All the networking is run through dedicated network interface VM's, where the actual hardware adapter is assigned to that VM only at the hypervisor level (similarly possible with all the hardware devices, i.e. USB bus can be assigned to a single VM with no networking access at all). Further network proxy VM's can be run to enforce firewall rules, and are easy to configure. So, you can chain multiple network proxies together each with different network setting, e.g. WAN -> VPN -> Tor. It's a pretty smart concept.

It's still a bit immature, so there's the occasional upstream bug that can break some functionality, but it's come a long way since I first gave it a trial install. Playing with the most recent release has given me a pretty solid security environment for running Armory (Armory Offline runs in a VM without network, special secure hypervisor level copy-paste function lets you shuttle unsigned/signed transactions between online and offline domains).


Right now, though, the more important thing is doing something about this horrible configuration file handling code. It's old, old code from Bitcoin that isn't at all object oriented and is very brittle. It got even more brittle with the 0.9 refactoring, which is where this latest issue came from. I _finally_ think I have a workaround, but I'm going to give it a few rounds of testing locally before I push it out. Eventually all this code really needs to be scrapped and rewritten.

Sounds like a struggle. It is a little surprising to find such disharmony between the development projects and all the distros in the Linux world, although I'm beginning to understand just how many levels of interoperation there are (packaging format, desktop, architecture, repo & EOL distros/libraries all play their part, I'll hazard a guess that there are more...). Seems like the secret is to have as consumate a knowledge of Linux in all it's incarnations and permutations as possible, then it's possible to fix most things yourself  Cheesy.
sr. member
Activity: 294
Merit: 250
[user@bitcoin .bitcoin]$ find Bitcoin-Qt.conf
find: 'Bitcoin-Qt.conf': No such file or directory
[user@bitcoin .bitcoin]$ sudo find /var/lib/bitcoin/Bitcoin-Qt.conf
find: '/var/lib/bitcoin/Bitcoin-Qt.conf': No such file or directory
[user@bitcoin .bitcoin]$ sudo find /etc/bitcoin/Bitcoin-Qt.conf
find: '/etc/bitcoin/Bitcoin-Qt.conf': No such file or directory

So apparently it's not in any of those locations... unless running find as root works as well as the other commands I've tried to use involving the system directories

Edit: found it...

As you maybe already noticed the syntax of find command was incorrect. Should be something like

find / -name Bitcoin-Qt.conf  -print

My bad, it seems that actually you can use the find command as you tried. However it is a little bit unusual way to use the command (it works then like 'ls -R').

With Qubes I think the problem still is that some of file systems are mounted read only.

hero member
Activity: 588
Merit: 500
Working now. yum has found bitcoin.x86_64 0:0.9.2.1-1.fc20 again, and the Qt wallet is working as it was. Thanks error!

The situation with using bitcoind/bitcoin-server as a service is still difficult with Qubes. I believe what's happening is mirroring what happens also with bitcoin-qt when it's configured to use /var/lib/bitcoin as the datadir, namely that the blocks download but aren't/cannot be written to disk (if I quit and restart bitcoin-qt when it's reportedly dl-ing the blockchain to /var/lib/bitcoin, the block count starts from 0). If I run systemctl start bitcoin, Armory detects that bitcoind is running, but it doesn't see any new blocks, so it appears that bitcoind is behaving the same way bitcoin-qt does, despite having permission to access /var/lib/bitcoin. I'm thinking that this is because Qubes has SELinux set disabled by default (yum install bitcoin-server yields a page of permissions warnings).

It'd be incredibly cool to get bitcoind/bitcoin-server working as a service on Qubes-OS, using Armory would appear much less cluttered. However, I've figured out how to establish a Bitcoin-Qt desktop item that runs in Node mode (-disablewallet argument), so it's not so bad this way. Does Qubes need it's own dedicated package to install and configure bitcoind? I'm thinking that's possibly the case.

I'm not sure what the deal with Qubes OS is. When I get some time I'll play with it and see if I can figure out what's going on. I can't make any guarantees, though; it seems they have a completely different security model and who knows what it will need to run the bitcoin server successfully.

Right now, though, the more important thing is doing something about this horrible configuration file handling code. It's old, old code from Bitcoin that isn't at all object oriented and is very brittle. It got even more brittle with the 0.9 refactoring, which is where this latest issue came from. I _finally_ think I have a workaround, but I'm going to give it a few rounds of testing locally before I push it out. Eventually all this code really needs to be scrapped and rewritten.
legendary
Activity: 3430
Merit: 3080
Working now. yum has found bitcoin.x86_64 0:0.9.2.1-1.fc20 again, and the Qt wallet is working as it was. Thanks error!

The situation with using bitcoind/bitcoin-server as a service is still difficult with Qubes. I believe what's happening is mirroring what happens also with bitcoin-qt when it's configured to use /var/lib/bitcoin as the datadir, namely that the blocks download but aren't/cannot be written to disk (if I quit and restart bitcoin-qt when it's reportedly dl-ing the blockchain to /var/lib/bitcoin, the block count starts from 0). If I run systemctl start bitcoin, Armory detects that bitcoind is running, but it doesn't see any new blocks, so it appears that bitcoind is behaving the same way bitcoin-qt does, despite having permission to access /var/lib/bitcoin. I'm thinking that this is because Qubes has SELinux set disabled by default (yum install bitcoin-server yields a page of permissions warnings).

It'd be incredibly cool to get bitcoind/bitcoin-server working as a service on Qubes-OS, using Armory would appear much less cluttered. However, I've figured out how to establish a Bitcoin-Qt desktop item that runs in Node mode (-disablewallet argument), so it's not so bad this way. Does Qubes need it's own dedicated package to install and configure bitcoind? I'm thinking that's possibly the case.
legendary
Activity: 3430
Merit: 3080
[user@bitcoin .bitcoin]$ find Bitcoin-Qt.conf
find: 'Bitcoin-Qt.conf': No such file or directory
[user@bitcoin .bitcoin]$ sudo find /var/lib/bitcoin/Bitcoin-Qt.conf
find: '/var/lib/bitcoin/Bitcoin-Qt.conf': No such file or directory
[user@bitcoin .bitcoin]$ sudo find /etc/bitcoin/Bitcoin-Qt.conf
find: '/etc/bitcoin/Bitcoin-Qt.conf': No such file or directory

So apparently it's not in any of those locations... unless running find as root works as well as the other commands I've tried to use involving the system directories

Edit: found it...

As you maybe already noticed the syntax of find command was incorrect. Should be something like

find / -name Bitcoin-Qt.conf  -print



You'll have to excuse my poor knowledge of the linux shell commands, I'm better than novice, but not much better

Edit: just tried since your rebuild, same error

You sure you ran
Code:
yum clean all
? The repos look fine now.

Yes, but I'll try again anyway, maybe you were still updating the repo when I did it the first time.
sr. member
Activity: 294
Merit: 250
[user@bitcoin .bitcoin]$ find Bitcoin-Qt.conf
find: 'Bitcoin-Qt.conf': No such file or directory
[user@bitcoin .bitcoin]$ sudo find /var/lib/bitcoin/Bitcoin-Qt.conf
find: '/var/lib/bitcoin/Bitcoin-Qt.conf': No such file or directory
[user@bitcoin .bitcoin]$ sudo find /etc/bitcoin/Bitcoin-Qt.conf
find: '/etc/bitcoin/Bitcoin-Qt.conf': No such file or directory

So apparently it's not in any of those locations... unless running find as root works as well as the other commands I've tried to use involving the system directories

Edit: found it...

As you maybe already noticed the syntax of find command was incorrect. Should be something like

find / -name Bitcoin-Qt.conf  -print

hero member
Activity: 588
Merit: 500
Edit: just tried since your rebuild, same error

You sure you ran
Code:
yum clean all
? The repos look fine now.
legendary
Activity: 3430
Merit: 3080
Yes, only the bitcoin branch of the repo is enabled on my system. I'm getting:

Downloading packages:
bitcoin-0.9.2.1-2.fc20.x86_64. FAILED                                          
http://linux.ringingliberty.com/bitcoin/f20/x86_64/bitcoin-0.9.2.1-2.fc20.x86_64.rpm: [Errno 14] HTTP Error 404 - Not Found-:-- ETA
Trying other mirror.


Error downloading packages:
  bitcoin-0.9.2.1-2.fc20.x86_64: [Errno 256] No more mirrors to try.


Edit: just tried since your rebuild, same error
hero member
Activity: 588
Merit: 500
Yes, I'd tried the clean and distro-sync.

ringingliberty repo at this moment in time doesn't have the bitcoin package on it, I'm assuming you're aware of that?

You should be using the bitcoin repo, not the rl repo. I've rebuilt the repodata, try it again.
legendary
Activity: 3430
Merit: 3080
Yes, I'd tried the clean and distro-sync.

ringingliberty repo at this moment in time doesn't have the bitcoin package on it, I'm assuming you're aware of that?
hero member
Activity: 588
Merit: 500
~/.config/Bitcoin-Qt.config has the line strDataDir=/home/user/.bitcoin, so my guess is that there's another Bitcoin-Qt.config in either /var/lib/bitcoin or /etc/bitcoin taking precendence. Or something else?

See the previous message.

Anyway I've pulled this build as it's exposed an upstream bug that needs to be fixed. For now just do the manual recovery described in #57. And if you happened to install the bad GUI build, run
Code:
yum clean all; yum distro-sync
to back it out.
legendary
Activity: 3430
Merit: 3080
~/.config/Bitcoin-Qt.config has the line strDataDir=/home/user/.bitcoin, so my guess is that there's another Bitcoin-Qt.config in either /var/lib/bitcoin or /etc/bitcoin taking precendence. Or something else?
hero member
Activity: 588
Merit: 500
Anyway I've pulled this build as it's exposed an upstream bug that needs to be fixed. For now just do the manual recovery described in #57. And if you happened to install the bad GUI build, run
Code:
yum clean all; yum distro-sync
to back it out.
hero member
Activity: 588
Merit: 500
[user@bitcoin .bitcoin]$ find Bitcoin-Qt.conf
find: 'Bitcoin-Qt.conf': No such file or directory
[user@bitcoin .bitcoin]$ sudo find /var/lib/bitcoin/Bitcoin-Qt.conf
find: '/var/lib/bitcoin/Bitcoin-Qt.conf': No such file or directory
[user@bitcoin .bitcoin]$ sudo find /etc/bitcoin/Bitcoin-Qt.conf
find: '/etc/bitcoin/Bitcoin-Qt.conf': No such file or directory

So apparently it's not in any of those locations... unless running find as root works as well as the other commands I've tried to use involving the system directories

I never said it was in any of those locations.
legendary
Activity: 3430
Merit: 3080
[user@bitcoin .bitcoin]$ find Bitcoin-Qt.conf
find: 'Bitcoin-Qt.conf': No such file or directory
[user@bitcoin .bitcoin]$ sudo find /var/lib/bitcoin/Bitcoin-Qt.conf
find: '/var/lib/bitcoin/Bitcoin-Qt.conf': No such file or directory
[user@bitcoin .bitcoin]$ sudo find /etc/bitcoin/Bitcoin-Qt.conf
find: '/etc/bitcoin/Bitcoin-Qt.conf': No such file or directory

So apparently it's not in any of those locations... unless running find as root works as well as the other commands I've tried to use involving the system directories

Edit: found it...
hero member
Activity: 588
Merit: 500
Anyway I found the bug (it was something really obvious and stupid) and I'm rebuilding Bitcoin now. Though it will take a couple of hours before all the builds finish.

So, your update has stopped bitcoin-qt working, stderror says:

EXCEPTION: N5boost12interprocess22interprocess_exceptionE       
Permission denied       
bitcoin in Runaway exception

Where is the config that tells Bitcoin-Qt to use /var/lib/bitcoin? How can I find out the contents of /var/lib/bitcoin and /etc/bitcoin if I can't access them as root?

The Qt config is hidden in the $HOME/.config/Bitcoin directory.

For you, I would recover this way:

* Stop Bitcoin (you probably already have).
* Make sure the user .bitcoin directory exists, e.g. mkdir $HOME/.bitcoin
* (as root) Move your wallet and blockchain back to $HOME/.bitcoin, e.g. mv /var/lib/bitcoin/* /home/username/.bitcoin
* (as root) Reset the ownership for $HOME/.bitcoin recursively to your own user, e.g. chmod -R username.groupname /home/username/.bitcoin
* Fix SELinux security contexts, e.g. restorecon -r -v $HOME/.bitcoin
* Edit the $HOME/.config/Bitcoin-Qt.conf file and $HOME/.config/Bitcoin-Qt-testnet.conf file if it exists. and fix the path.
* Start Bitcoin-Qt.
legendary
Activity: 3430
Merit: 3080
Anyway I found the bug (it was something really obvious and stupid) and I'm rebuilding Bitcoin now. Though it will take a couple of hours before all the builds finish.

So, your update has stopped bitcoin-qt working, stderror says:

EXCEPTION: N5boost12interprocess22interprocess_exceptionE       
Permission denied       
bitcoin in Runaway exception

Where is the config that tells Bitcoin-Qt to use /var/lib/bitcoin? How can I find out the contents of /var/lib/bitcoin and /etc/bitcoin if I can't access them as root?
hero member
Activity: 588
Merit: 500
The (no-GUI) server uses these directories so that SELinux policies can be applied to restrict access to the Bitcoin configuration and wallet in server scenarios. This can't be done effectively if Bitcoin's data is in a user home directory.

The blockchain data is written to $HOME/.bitcoin with the setup you're describing, right?

Only for the GUI (when the fixed builds are done). The server never uses anything in $HOME by default.
legendary
Activity: 3430
Merit: 3080
The (no-GUI) server uses these directories so that SELinux policies can be applied to restrict access to the Bitcoin configuration and wallet in server scenarios. This can't be done effectively if Bitcoin's data is in a user home directory.

The blockchain data is written to $HOME/.bitcoin with the setup you're describing, right?
Pages:
Jump to: