Question
I have installed a platform image on a target device, where the image files were generated by MIC (Micro Image Creator). Now I need to replace one pre-installed RPM package on the target device.
I understand that Tizen's package manager maintains its own package database (possibly SQLite) separate from the standard RPM database. Since MIC tools might have already installed related package/app information in this database, I suspect that simply removing an RPM package using rpm -e xxx.rpm might not work properly.
What is the correct method to install/remove a native application RPM in Tizen? I found documentation about the 'wrt-installer' tool (https://wiki.tizen.org/Manually_installing_apps), but this seems to be specific to that tool.
Answer
Problem Understanding
The user wants to replace a pre-installed RPM package on a Tizen device where the image was created using MIC. The challenge is that Tizen manages packages through its own package manager rather than the standard RPM database.
Solution Methods
-
Using Tizen Package Manager Commands:
- For removing packages:
pkgcmd -u -n <package-name> -q - For installing packages:
pkgcmd -i -t rpm -n <package-name> -q
- For removing packages:
-
Using MIC for Custom Image Creation:
- Modify the kickstart file to include/exclude specific RPM packages
- Rebuild the image using MIC with the updated kickstart configuration
-
Manual RPM Management:
- While not recommended, you can use
rpmcommands with caution:- Remove:
rpm -e --nodeps <package-name> - Install:
rpm -ivh <package-name>.rpm
- Remove:
- While not recommended, you can use
Additional Tips
- Always back up your system before making package changes
- Verify package dependencies before removal
- For production environments, prefer using MIC to create custom images rather than modifying packages on live systems
- Check the Samsung Tizen OS documentation for updated package management guidelines