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