โ ๏ธ Warning: This post is over a year old, the information may be out of date.
๐ Upgrade Suse Linux Enterprise Server 11 SP1 to SP4
๐ | โฐ 6 minutes
As I mentioned previously , SLES11 is already absolute / not supported anymore. Even most official tutorial are wipe out form suse website.
I will write how I updating my SLES11 to SP4. I don’t have SP1 but it should be work the same as SP2 upgrade to SP3 and SP3 to SP4.
So this is my machine
VM-b0x:convey69:/convey69> uname -a
Linux VM-b0x 3.0.42-0.7-default #1 SMP Tue Oct 9 11:58:45 UTC 2012 (a8dc443) x86_64 x86_64 x86_64 GNU/Linux
VM-b0x:convey69:/convey69> cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2
why update? Because it better to get recent patch, fix OS vulnerabilities and update kernel (anything as latest we could get! So please do not ask me why need update)
On first run, you will got problem like this
VM-b0x:convey69:/convey69> sudo zypper ref -s
root's password:
Refreshing service 'nu_novell_com'.
Adding repository 'SLE11-SP4-Debuginfo-Updates' [done]
Adding repository 'SLE11-Public-Cloud-Module' [done]
Adding repository 'SLES11-SP4-Pool' [done]
Adding repository 'SLES11-SP4-Updates' [done]
Adding repository 'SLE11-SP4-Debuginfo-Pool' [done]
Refreshing service 'novell'.
Unexpected exception.
Parse error: repoindex.xml[1] Extra content at the end of the document
Please file a bug report about this.
See http://en.opensuse.org/Zypper/Troubleshooting for instructions.
To fix this shit, go and edit /etc/zypp/services.d/service.service
by change enable=1
to enable=0
VM-b0x:convey69:/convey69> cat /etc/zypp/services.d/service.service
[service]
name=novell
enabled=0
autorefresh=1
url = http://nu.novell.com/
type = ris
After done fix previous problem, you can refresh repository without mess with run zypper
(as root) command
VM-b0x:convey69:/convey69> sudo zypper ref -s
Refreshing service 'nu_novell_com'.
All services have been refreshed.
Retrieving repository 'SLES11-Extras' metadata [done]
Building repository 'SLES11-Extras' cache [done]
Repository 'SLES11-Pool' is up to date.
Retrieving repository 'SLES11-SP1-Pool' metadata [done]
Building repository 'SLES11-SP1-Pool' cache [done]
Retrieving repository 'SLES11-SP1-Updates' metadata [done]
Building repository 'SLES11-SP1-Updates' cache [done]
Repository 'SLES11-SP2-Core' is up to date.
Repository 'SLES11-SP2-Extension-Store' is up to date.
Retrieving repository 'SLES11-SP2-Updates' metadata [done]
Building repository 'SLES11-SP2-Updates' cache [done]
Retrieving repository 'SLES11-Updates' metadata [done]
Building repository 'SLES11-Updates' cache [done]
All repositories have been refreshed.
Patching SLES 11 SP-2 to SP-3
I previously refer to here (link is dead now, even on backway machine!) for information and guideline, but it not available anymore. No biggie.. just follow my steps below.
Run an Online Update
Make sure the currently installed version has the latest patches installed. Run an Online Update prior to the Online Migration. When using a graphical interface, start the YaST Online Update or the updater applet. On the command line, run the following commands (the last command needs to be run twice):
# zypper ref -s
# zypper update -t patch
# zypper update -t patch
Reboot the system if needed.
Get a list of these products by running the following command:
VM-b0x:convey69:/convey69> sudo zypper se -t product | grep -h -- "-migration" | cut -d'|' -f2
root's password:
SUSE_SLES-SP1-migration
SUSE_SLES-SP2-migration
SUSE_SLES-SP3-migration
Install the migration products retrieved in the previous step with the command zypper in -t product <LIST_OF_PRODUCTS>
VM-b0x:convey69:/convey69> sudo zypper in -t product SUSE_SLES-SP3-migration
Refreshing service 'nu_novell_com'.
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW package is going to be installed:
SUSE_SLES-SP3-migration
The following NEW product is going to be installed:
SUSE_SLES Service Pack 3 Migration Product
1 new package to install.
Overall download size: 4.0 KiB. After the operation, additional 3.0 KiB will be used.
Continue? [y/n/?] (y):
Register the products installed in the previous step in order to get the respective update channels:
VM-b0x:convey69:/convey69> sudo suse_register -d 2 -L /root/.suse_register.log
Execute command: /usr/bin/zypper --non-interactive ref --service
Execute command exit(0):
GUID:xxxyyyzzz
Execute command: /usr/bin/zypper --no-refresh --quiet --xmlout --non-interactive products --installed-only
Execute command exit(0):
installed products: $VAR1 = [
[
'SUSE_SLES-SP3-migration',
'11.2',
'',
'x86_64'
],
[
'SUSE_SLES',
'11.2',
'DVD',
'x86_64'
]
];
Execute command: /usr/bin/lscpu
Execute command exit(0):
Execute command: /usr/bin/zypper --non-interactive targetos
Execute command exit(0):
list-parameters: 0
xml-output: 0
no-optional: 0
batch: 0
forcereg: 0
no-hw-data: 0
log: /root/.suse_register.log
locale: undef
no-proxy: 0
yastcall: 0
arg: $VAR1 = {
'timezone' => {
'kind' => 'mandatory',
'value' => 'Europe/Vienna',
'flag' => 'i',
'description' => 'Timezone'
},
'ostarget' => {
'kind' => 'mandatory',
'value' => 'sle-11-x86_64',
'flag' => 'i',
'description' => 'Target operating system identifier'
},
'processor' => {
'kind' => 'mandatory',
'value' => 'x86_64',
'flag' => 'i',
'description' => 'Processor type'
},
'platform' => {
'kind' => 'mandatory',
'value' => 'x86_64',
'flag' => 'i',
'description' => 'Hardware platform type'
}
};
extra-curl-option:$VAR1 = [];
URL: https://secure-www.novell.com/center/regsvc
listParams: command=listparams
register: command=register
lang: english
initialDomain: .novell.com
SEND DATA to URI: https://secure-www.novell.com/center/regsvc?command=listproducts&lang=en-US&version=1.0:
About to connect() to secure-www.novell.com port 443 (#0)
Trying 130.57.66.5...
connected
Connected to secure-www.novell.com (130.57.66.5) port 443 (#0)
successfully set certificate verify locations:
CAfile: none
CApath: /etc/ssl/certs/
SSLv3, TLS handshake, Client hello (1):
SSLv3, TLS handshake, Server hello (2):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Server finished (14):
SSLv3, TLS handshake, Client key exchange (16):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSL connection using AES256-SHA
Server certificate:
subject: C=US; L=Provo; ST=Utah; O=Novell, Inc.; CN=*.novell.com
start date: 2015-02-23 00:00:00 GMT
expire date: 2018-05-31 12:00:00 GMT
subjectAltName: secure-www.novell.com matched
issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA
SSL certificate verify ok.
Connection #0 to host secure-www.novell.com left intact
CODE: 302 MESSAGE: Moved Temporarily
RECEIVED DATA:
HTTP/1.1 302 Moved Temporarily
Date: Wed, 25 Apr 2018 02:51:49 GMT
Server: Apache/2.2.34 (Linux/SUSE)
Strict-Transport-Security: max-age=31536000;includeSubDomains
Location: http://secure-www.novell.com/center/regsvc/?command=listproducts&lang=en-US&version=1.0
Fill: wwwfill3
Content-Length: 0
Content-Type: text/plain
X-Mag: xxxxxx;yyyyyyy;zzzzzz;usrLkup->0;usrBase->0;getPRBefFind->0;getPRBefFind->0;PRAfterFind->0;swww_root;publicURL->0;swww;RwDis;FF1End->0;FP2->0;WS=zzzzzz;FP4->4;
Set-Cookie: xxxxxxx-yyyyyyy=zzzzzz; Path=/; Domain=.novell.com
Via: 1.1 secure-www.novell.com (Access Gateway-ag-xxxxxxxx-yyyyyyyyy)
Set-Cookie: lb_novell=xxxxxxx; Domain=.novell.com; Path=/
). https is required.://secure-www.novell.com/center/regsvc/?command=listproducts&lang=en-US&version=1.0
(15)
). https is required.://secure-www.novell.com/center/regsvc/?command=listproducts&lang=en-US&version=1.0
(15)
Closing connection #0
SSLv3, TLS alert, Client hello (1):
Refresh the repositories and services:
VM-b0x:convey69:/convey69> sudo zypper ref -s
Refreshing service 'nu_novell_com'.
All services have been refreshed.
Repository 'SLES11-Extras' is up to date.
Repository 'SLES11-Pool' is up to date.
Repository 'SLES11-SP1-Pool' is up to date.
Repository 'SLES11-SP1-Updates' is up to date.
Repository 'SLES11-SP2-Core' is up to date.
Repository 'SLES11-SP2-Extension-Store' is up to date.
Repository 'SLES11-SP2-Updates' is up to date.
Repository 'SLES11-Updates' is up to date.
All repositories have been refreshed.
Check the list of repositories you can retrieve with zypper lr
.
If any of these repositories is not enabled (the SP3 ones are not enabled by default when following this workflow), enable them with zypper modifyrepo --enable REPOSITORY ALIAS
, for example:
VM-b0x:convey69:/convey69> sudo zypper modifyrepo --enable SLES11-SP3-Pool SLES11-SP3-Updates
Repository 'nu_novell_com:SLES11-SP3-Pool' has been successfully enabled.
Repository 'nu_novell_com:SLES11-SP3-Updates' has been successfully enabled.
If your setup contains third-party repositories that may not be compatible with SP3, disable them with zypper modifyrepo --disable REPOSITORY ALIAS
.
Now everything is in place to perform the distribution upgrade with zypper dup --from REPO 1 --from REPO 2 ..
Make sure to list all needed repositories with --from
, for example:
sudo zypper dup --from SLES11-SP3-Pool --from SLES11-SP3-Updates
Confirm with y
to start the upgrade.
upon completion of the distribution upgrade from the previous step, run the following command:
sudo zypper update -t patch
Now that the upgrade to SP3 has been completed, you need to re-register your product:
sudo suse_register -d 2 -L /root/.suse_register.log
Lastly, reboot your system with sudo /sbin/shutdown -r now
Your system has been successfully updated to Service Pack 3.
VM-b0x:convey69:/convey69> uname -a
Linux VM-b0x 3.0.101-0.47.71-default #1 SMP Thu Nov 12 12:22:22 UTC 2015 (b5b212e) x86_64 x86_64 x86_64 GNU/Linux
VM-b0x:convey69:/convey69> cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 3
for patching SLES 11 SP3 to SP4, the setup are using same step but do it properly from SP1 to SP2, SP2 to SP3 and lastly SP3 to SP4.
Maybe you will face problem like this
$ zypper dup --from SLES11-SP4-Pool --from SLES11-SP4-Updates
$ sudo zypper update -t patch
Refreshing service 'nu_novell_com'.
Loading repository data...
Reading installed packages...
Resolving package dependencies...
Problem: openssh-askpass-6.2p2-0.24.1.x86_64 requires openssh = 6.2p2, but this requirement cannot be provided
uninstallable providers: openssh-6.2p2-0.9.1.x86_64[nu_novell_com:SLES11-SP3-Pool]
openssh-6.2p2-0.13.1.x86_64[nu_novell_com:SLES11-SP3-Updates]
openssh-6.2p2-0.21.1.x86_64[nu_novell_com:SLES11-SP3-Updates]
openssh-6.2p2-0.24.1.x86_64[nu_novell_com:SLES11-SP3-Updates]
Solution 1: Following actions will be done:
do not install patch:slessp3-openssh-2016011301-12325-1.noarch
do not install patch:slessp3-openssh-9357.noarch
Solution 2: Following actions will be done:
downgrade of openssh-6.6p1-36.15.1.x86_64 to openssh-6.2p2-0.24.1.x86_64
deinstallation of openssh-helpers-6.6p1-36.15.1.x86_64
Solution 3: deinstallation of openssh-askpass-1.2.4.1-1.46.x86_64
Solution 4: break openssh-askpass-6.2p2-0.24.1.x86_64 by ignoring some of its dependencies
Choose from above solutions by number or cancel [1/2/3/4/c] (c): 1
Well, plase do choose what ever you preferred. Because the latest openssl,openssh, curl is too old. We will take care manually (fetch source code, config, compile and install). I will wrote the tutorial later. Adios!
Posted by: Hugo