From Fedora Project Wiki
mNo edit summary |
No edit summary |
||
Line 53: | Line 53: | ||
<nowiki> | <nowiki> | ||
# rpm-ostree install httpd | # rpm-ostree install httpd | ||
Checking out tree | Checking out tree 7130f87... done | ||
... | |||
Downloading from 'fedora'... done | |||
Downloading from 'updates-testing'... done | |||
Importing packages... done | |||
Checking out packages... done | |||
Importing | Running pre scripts... done | ||
Running post scripts... done | |||
Running posttrans scripts... done | |||
Running pre scripts... | |||
Running post scripts... | |||
Writing rpmdb... done | Writing rpmdb... done | ||
Writing OSTree commit... done | Writing OSTree commit... done | ||
Staging deployment... done | |||
Added: | Added: | ||
apr-1.6. | apr-1.7.0-3.fc32.x86_64 | ||
apr-util-1.6.1- | apr-util-1.6.1-12.fc32.x86_64 | ||
apr-util-bdb-1.6.1-12.fc32.x86_64 | |||
fedora-logos-httpd- | apr-util-openssl-1.6.1-12.fc32.x86_64 | ||
httpd-2.4. | fedora-logos-httpd-30.0.2-4.fc32.noarch | ||
httpd-filesystem-2.4. | httpd-2.4.43-1.fc32.x86_64 | ||
httpd-tools-2.4. | httpd-filesystem-2.4.43-1.fc32.noarch | ||
mailcap-2.1.48- | httpd-tools-2.4.43-1.fc32.x86_64 | ||
mod_http2-1. | mailcap-2.1.48-7.fc32.noarch | ||
mod_http2-1.15.5-1.fc32.x86_64 | |||
Run "systemctl reboot" to start a reboot | Run "systemctl reboot" to start a reboot | ||
</nowiki> | </nowiki> | ||
Line 93: | Line 82: | ||
<nowiki> | <nowiki> | ||
# rpm-ostree status | # rpm-ostree status | ||
State: idle | State: idle | ||
AutomaticUpdates: disabled | |||
Deployments: | Deployments: | ||
* ostree://fedora-iot:fedora/devel/x86_64/iot | |||
Version: | Version: 32.20200408.0 (2020-04-08T11:07:02Z) | ||
BaseCommit: | BaseCommit: 7130f8716204842f0959498b2e86ef06d6e2a7dc5be036c9c84a4f28e1bca990 | ||
GPGSignature: Valid signature by | GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0 | ||
LayeredPackages: httpd wget | LayeredPackages: httpd wget | ||
ostree://fedora- | ostree://fedora-iot:fedora/devel/x86_64/iot | ||
Version: | Version: 32.20200408.0 (2020-04-08T11:07:02Z) | ||
BaseCommit: | BaseCommit: 7130f8716204842f0959498b2e86ef06d6e2a7dc5be036c9c84a4f28e1bca990 | ||
GPGSignature: Valid signature by | GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0 | ||
LayeredPackages: wget | LayeredPackages: wget | ||
# rpm -q wget | # rpm -q wget | ||
wget-1. | wget-1.20.3-4.fc32.x86_64 | ||
# rpm -q httpd | # rpm -q httpd | ||
httpd-2.4. | httpd-2.4.43-1.fc32.x86_64 | ||
# rpm -q apr | # rpm -q apr | ||
apr-1. | apr-1.7.0-3.fc32.x86_64 | ||
</nowiki> | </nowiki> | ||
# Verify that you can start the 'httpd' service and connect to the server | # Verify that you can start the 'httpd' service and connect to the server | ||
Line 118: | Line 108: | ||
# systemctl status httpd | # systemctl status httpd | ||
● httpd.service - The Apache HTTP Server | ● httpd.service - The Apache HTTP Server | ||
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) | |||
Active: active (running) since Wed 2020-04-08 15:36:17 CDT; 4s ago | |||
Docs: man:httpd.service(8) | |||
Main PID: 2333 (httpd) | |||
Status: "Processing requests..." | |||
Tasks: 213 (limit: 9245) | |||
Memory: 20.1M | |||
CPU: 172ms | |||
CGroup: /system.slice/httpd.service | |||
├─2333 /usr/sbin/httpd -DFOREGROUND | |||
├─2334 /usr/sbin/httpd -DFOREGROUND | |||
├─2335 /usr/sbin/httpd -DFOREGROUND | |||
├─2336 /usr/sbin/httpd -DFOREGROUND | |||
└─2337 /usr/sbin/httpd -DFOREGROUND | |||
Apr 08 15:36:17 fitlet2 systemd[1]: Starting The Apache HTTP Server... | |||
Apr 08 15:36:17 fitlet2 httpd[2333]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 19> | |||
Apr 08 15:36:17 fitlet2 systemd[1]: Started The Apache HTTP Server. | |||
# curl http://localhost | # curl http://localhost | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | ||
Line 143: | Line 136: | ||
... | ... | ||
</nowiki> | </nowiki> | ||
Enable the httpd service to start at boot and reboot the system. | |||
systemctl enable httpd | |||
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service. | |||
systemctl reboot | |||
Log back into the system and make sure the httpd service is running. | |||
systemctl status httpd | |||
● httpd.service - The Apache HTTP Server | |||
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) | |||
Active: active (running) since Wed 2020-04-08 15:39:44 CDT; 5s ago | |||
Docs: man:httpd.service(8) | |||
Main PID: 1251 (httpd) | |||
Status: "Processing requests..." | |||
Tasks: 213 (limit: 9245) | |||
... | |||
# Uninstall 'wget' and 'httpd' | # Uninstall 'wget' and 'httpd' | ||
<nowiki> | <nowiki> |
Revision as of 20:40, 8 April 2020
Description
This testcase ensures it's possible to use package layering features of rpm-ostree
Setup
- Ensure you have a booted working Atomic Host
How to test
- Install the 'wget' package
# rpm-ostree install wget Checking out tree 7130f87... done ... Resolving dependencies... done Will download: 1 package (815.9?kB) Downloading from 'updates-testing'... done Importing packages... done Checking out packages... done Running pre scripts... done Running post scripts... done Running posttrans scripts... done Writing rpmdb... done Writing OSTree commit... done Staging deployment... done Added: wget-1.20.3-4.fc32.x86_64 Run "systemctl reboot" to start a reboot
- Reboot the system
- Verify that the 'wget' package is layered succesfully and usable
rpm-ostree status * ostree://fedora-iot:fedora/devel/x86_64/iot Version: 32.20200408.0 (2020-04-08T11:07:02Z) BaseCommit: 7130f8716204842f0959498b2e86ef06d6e2a7dc5be036c9c84a4f28e1bca990 GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0 LayeredPackages: wget ostree://fedora-iot:fedora/devel/x86_64/iot Version: 32.20200408.0 (2020-04-08T11:07:02Z) Commit: 7130f8716204842f0959498b2e86ef06d6e2a7dc5be036c9c84a4f28e1bca990 GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0 # rpm -q wget wget-1.20.3-4.fc32.x86_64 # wget --version GNU Wget 1.20.3 built on linux-gnu. -cares +digest +gpgme +https +ipv6 +iri +large-file +metalink +nls +ntlm +opie +psl +ssl/gnutls ...
- Install 'httpd' which pulls in multiple dependencies
# rpm-ostree install httpd Checking out tree 7130f87... done ... Downloading from 'fedora'... done Downloading from 'updates-testing'... done Importing packages... done Checking out packages... done Running pre scripts... done Running post scripts... done Running posttrans scripts... done Writing rpmdb... done Writing OSTree commit... done Staging deployment... done Added: apr-1.7.0-3.fc32.x86_64 apr-util-1.6.1-12.fc32.x86_64 apr-util-bdb-1.6.1-12.fc32.x86_64 apr-util-openssl-1.6.1-12.fc32.x86_64 fedora-logos-httpd-30.0.2-4.fc32.noarch httpd-2.4.43-1.fc32.x86_64 httpd-filesystem-2.4.43-1.fc32.noarch httpd-tools-2.4.43-1.fc32.x86_64 mailcap-2.1.48-7.fc32.noarch mod_http2-1.15.5-1.fc32.x86_64 Run "systemctl reboot" to start a reboot
- Reboot host
- Verify that 'wget' is still layered and 'httpd' is also layered with dependencies
# rpm-ostree status State: idle AutomaticUpdates: disabled Deployments: * ostree://fedora-iot:fedora/devel/x86_64/iot Version: 32.20200408.0 (2020-04-08T11:07:02Z) BaseCommit: 7130f8716204842f0959498b2e86ef06d6e2a7dc5be036c9c84a4f28e1bca990 GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0 LayeredPackages: httpd wget ostree://fedora-iot:fedora/devel/x86_64/iot Version: 32.20200408.0 (2020-04-08T11:07:02Z) BaseCommit: 7130f8716204842f0959498b2e86ef06d6e2a7dc5be036c9c84a4f28e1bca990 GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0 LayeredPackages: wget # rpm -q wget wget-1.20.3-4.fc32.x86_64 # rpm -q httpd httpd-2.4.43-1.fc32.x86_64 # rpm -q apr apr-1.7.0-3.fc32.x86_64
- Verify that you can start the 'httpd' service and connect to the server
# systemctl start httpd # systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2020-04-08 15:36:17 CDT; 4s ago Docs: man:httpd.service(8) Main PID: 2333 (httpd) Status: "Processing requests..." Tasks: 213 (limit: 9245) Memory: 20.1M CPU: 172ms CGroup: /system.slice/httpd.service ├─2333 /usr/sbin/httpd -DFOREGROUND ├─2334 /usr/sbin/httpd -DFOREGROUND ├─2335 /usr/sbin/httpd -DFOREGROUND ├─2336 /usr/sbin/httpd -DFOREGROUND └─2337 /usr/sbin/httpd -DFOREGROUND Apr 08 15:36:17 fitlet2 systemd[1]: Starting The Apache HTTP Server... Apr 08 15:36:17 fitlet2 httpd[2333]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 19> Apr 08 15:36:17 fitlet2 systemd[1]: Started The Apache HTTP Server. # curl http://localhost <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Test Page for the Apache HTTP Server on Fedora</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ...
Enable the httpd service to start at boot and reboot the system.
systemctl enable httpd Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service. systemctl reboot
Log back into the system and make sure the httpd service is running.
systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2020-04-08 15:39:44 CDT; 5s ago Docs: man:httpd.service(8) Main PID: 1251 (httpd) Status: "Processing requests..." Tasks: 213 (limit: 9245)
...
- Uninstall 'wget' and 'httpd'
# rpm-ostree uninstall wget httpd Checking out tree ba63713... done Copying /etc changes: 21 modified, 0 removed, 73 added Transaction complete; bootconfig swap: no deployment count change: 0 Removed: apr-1.6.3-5.fc28.x86_64 apr-util-1.6.1-5.fc28.x86_64 brotli-1.0.1-3.fc28.x86_64 fedora-logos-httpd-28.0.2-3.fc28.noarch httpd-2.4.33-2.fc28.x86_64 httpd-filesystem-2.4.33-2.fc28.noarch httpd-tools-2.4.33-2.fc28.x86_64 mailcap-2.1.48-3.fc28.noarch mod_http2-1.10.16-1.fc28.x86_64 wget-1.19.4-2.fc28.x86_64 Run "systemctl reboot" to start a reboot
- Reboot host
- Verify that 'wget' and 'httpd' are no longer layered and cannot be used
# rpm-ostree status State: idle; auto updates disabled Deployments: ● ostree://fedora-atomic:fedora/28/x86_64/atomic-host Version: 28_Beta.1.3 (2018-03-28 22:24:38) Commit: ba6371389226223fb8ba055fb02b92febf4d00e1ccd435cc21cba6af19088c73 GPGSignature: Valid signature by 128CF232A9371991C8A65695E08E7E629DB62FB1 ostree://fedora-atomic:fedora/28/x86_64/atomic-host Version: 28_Beta.1.3 (2018-03-28 22:24:38) BaseCommit: ba6371389226223fb8ba055fb02b92febf4d00e1ccd435cc21cba6af19088c73 GPGSignature: Valid signature by 128CF232A9371991C8A65695E08E7E629DB62FB1 LayeredPackages: httpd wget # rpm -q wget package wget is not installed # rpm -q httpd package httpd is not installed # wget --version bash: wget: command not found # systemctl status httpd Unit httpd.service could not be found.
Expected Results
- Verify that all layering operations were successful