XRootD
README.md
Go to the documentation of this file.
1 <p align="center">
2  <img src="https://xrootd.slac.stanford.edu/images/xrootd-logo.png"/>
3 </p>
4 
5 ## XRootD: eXtended ROOT Daemon
6 
7 The [XRootD](http://xrootd.org) project provides a high-performance,
8 fault-tolerant, and secure solution for handling massive amounts of data
9 distributed across multiple storage resources, such as disk servers, tape
10 libraries, and remote sites. It enables efficient data access and movement in a
11 transparent and uniform manner, regardless of the underlying storage technology
12 or location. It was initially developed by the High Energy Physics (HEP)
13 community to meet the data storage and access requirements of the BaBar
14 experiment at SLAC and later extended to meet the needs of experiments at the
15 Large Hadron Collider (LHC) at CERN. XRootD is the core technology powering the
16 [EOS](https://eos-web.web.cern.ch/) distributed filesystem, which is the storage
17 solution used by LHC experiments and the storage backend for
18 [CERNBox](https://cernbox.web.cern.ch/). XRootD is also used as the core
19 technology for global CDN deployments across multiple science domains.
20 
21 XRootD is based on a scalable architecture that supports multi-protocol
22 communications. XRootD provides a set of plugins and tools that allows the user
23 to configure it freely to deploy data access clusters of any size, and which can
24 include sophisticated features such as erasure coded files, various methods of
25 authentication and authorization, as well as integration with other storage
26 systems like [ceph](https://ceph.io).
27 
28 ## Documentation
29 
30 General documentation such as configuration reference guides, and user manuals
31 can be found on the XRootD website at http://xrootd.org/docs.html.
32 
33 ## Supported Operating Systems
34 
35 XRootD is officially supported on the following platforms:
36 
37  * RedHat Enterprise Linux 7 or later and their derivatives
38  * Debian 11 and Ubuntu 22.04 or later
39  * macOS 11 (Big Sur) or later
40 
41 Support for other operating systems is provided on a best-effort basis
42 and by contributions from the community.
43 
44 ## Installation Instructions
45 
46 XRootD is available via official channels in most operating systems.
47 Installation via your system's package manager should be preferred.
48 
49 In RPM-based distributions, like CentOS, Alma, Rocky, Fedora, etc, one can
50 search and install XRootD packages with
51 
52 ```sh
53 $ sudo yum install xrootd
54 ```
55 or
56 ```sh
57 $ sudo dnf install xrootd
58 ```
59 
60 In RHEL-based distributions, it will be necessary to first install the EPEL
61 release repository with `yum install epel-release` or `dnf install epel-release`.
62 
63 If you would like to use our official repository for XRootD RPMs, you can enable
64 it on RHEL-based distributions with
65 
66 ```sh
67 $ sudo curl -L https://cern.ch/xrootd/xrootd.repo -o /etc/yum.repos.d/xrootd.repo
68 ```
69 
70 and on Fedora with
71 ```sh
72 $ sudo curl -L https://cern.ch/xrootd/xrootd-fedora.repo -o /etc/yum.repos.d/xrootd.repo
73 ```
74 
75 On Debian 11 or later, and Ubuntu 22.04 or later, XRootD can be installed via apt
76 
77 ```sh
78 $ sudo apt install xrootd-client xrootd-server python3-xrootd
79 ```
80 
81 On macOS, XRootD is available via Homebrew
82 ```sh
83 $ brew install xrootd
84 ```
85 
86 XRootD can also be installed with conda, as it is also available in conda-forge:
87 ```sh
88 $ conda config --add channels conda-forge
89 $ conda config --set channel_priority strict
90 $ conda install xrootd
91 ```
92 
93 Finally, it is possible to install the XRootD python bindings from PyPI using pip:
94 ```sh
95 $ pip install xrootd
96 ```
97 
98 For detailed instructions on how to build and install XRootD from source code,
99 please see [docs/INSTALL.md](https://github.com/xrootd/xrootd/blob/master/docs/INSTALL.md)
100 in the main repository on GitHub.
101 
102 ## User Support and Bug Reports
103 
104 Bugs should be reported using [GitHub issues](https://github.com/xrootd/xrootd/issues).
105 You can open a new ticket by clicking [here](https://github.com/xrootd/xrootd/issues/new).
106 
107 For general questions about XRootD, please send a message to our user mailing
108 list at xrootd-l@slac.stanford.edu or open a new [discussion](https://github.com/xrootd/xrootd/discussions)
109 on GitHub. Please check XRootD's contact page at http://xrootd.org/contact.html
110 for further information.
111 
112 ## Contributing
113 
114 User contributions can be submitted via pull request on GitHub. We recommend
115 that you create your own fork of XRootD on GitHub and use it to submit your
116 patches. For more detailed instructions on how to contribute, please refer to
117 the file [docs/CONTRIBUTING.md](https://github.com/xrootd/xrootd/blob/master/docs/CONTRIBUTING.md).