Finding Unused Software in Linux Operating Systems
https://doi.org/10.21822/2073-6185-2025-52-4-118-125
Abstract
Objective. The aim of this study is to develop Python software for the automated search for unused executable files in Linux operating systems. The relevance is due to the need to optimize memory, reduce the attack surface and improve control over the system by removing unused software. Modern Linux distributions contain numerous utility programs and third-party programs that may never be used, leading to inefficient resource usage.
Method. The study is based on file metadata analysis (last access time atime), scanning directories from the PATH environment variable, and taking into account the specific features of Linux file systems (relatime mode).
Result. The developed software includes two subsystems: user interaction and data collection/analysis. To ensure portability, a deployment method in a Docker containerized environment is proposed. A software solution has been created that generates reports on unused executable files based on a user-specified date, provides removal recommendations, including dependencies and uninstallation methods via package managers, and supports dynamic deployment via Docker, adapting to different PATH configurations.
Conclusion. The tool complements utilities (such as deborphan), focusing on software usage time. Its simplicity and minimalist design allow for integration into administrative processes. Future development prospects include porting to Golang with a graphical interface and integration into automated OS deployment systems.
Keywords
About the Author
A. D. PopovRussian Federation
Anton D. Popov - Cand. Sci. (Eng.), Assoc. Prof., Department of automated information systems of internal organs.
53 Patriotov Str., Voronezh 394065
References
1. Chavan M.P., Chavan P.M. Rpm packaging for Ansible automation configuration management in Linux // Interantional journal of scientific research in engineering and management. 2022; 6.(12):1–3.
2. Irons L.G., Irons M.A. Terraform sustainability assessment framework for bioregenerative life support systems. Frontiers in Astronomy and Space Sciences. 2021; 8:789563.
3. Krivtsova I.E., Salakhutdinova K.I., Yurin I.V. Method of identification of executable files by their signatures. Bulletin of the Admiral S.O. Makarov State University of Maritime and Inland Shipping. 2016;1(35): 215–224.
4. Oreshchenkov I. Running modern programs on an outdated Linux distribution. System administrator. 2018; 12 (193): 22–28.
5. Zheryakov D.V. Basic software packages necessary for organizing the work of a Linux user // Collection: Saratov region: traditions, innovations, leadership strategies. Collection of scientific papers of the All-Russian scientific and practical conference of students, master's students, and postgraduate students dedicated to the 80th anniversary of the Saratov region. In 2 parts. 2016:194–195.
6. Panteleev N.N., Panov S.S., Matveev A.V. Comparison of characteristics and capabilities of modern Linux file systems: EXT4, XFS, BTRFS. E-Scio. 2022;11 (74):125–140. (In Russ).
7. Díaz A.F., Anguita M., Camacho H.E., Nieto E., Ortega Ju. Two-level hash/table approach for metadata management in distributed file systems. The Journal of Supercomputing. 2013; 64(1):144–155.
8. URL: https://www.unixtutorial.org/atime-ctime-mtime-in-unix-filesystems/
9. Chae M.S., Lee H.M., Lee K. A. Performance comparison of Linux containers and virtual machines using Docker and Kvm. Cluster Computing. 2019;22(Suppl.1):1765–1775.
10. Zakharchonok V.F., Bizyuk A.N. Containerization and deployment of applications using Docker and Docker-compose // In the collection: Proceedings of the 56th international scientific and technical conference of teachers and students. in two volumes. Vitebsk, 2023. pp. 80–82.
11. Gromov N.D., Platoshin A.I. Using Docker in software development. My professional career. 2024;2(. 60): 229–232.
12. Kiselev D.V., Kharlamov D.A. Work of the Nix package manager // In the collection: Youth and scientific and technological progress. Collection of reports of the XV international scientific and practical conference of students, graduate students, and young scientists. In 2 volumes. Comp.: E.N. Ivantsova, V.M. Uvarov [et al.]. Gubkin, 2022;139–142.
13. Nagaev M.T., Kozhevnikova A.V. Analysis of the efficiency of program implementation in golang // In the collection: New information technologies and systems (NITiS-2023). Collection of scientific articles based on the materials of the XX International scientific and technical conference dedicated to the 80th anniversary of Penza State University. Penza, 2023:160–168.
14. Korneev V.V. Linux Administration. Server equipment. St. Petersburg: BHV-Petersburg, 2021:560 p. ISBN 978-5-9775-6635-4.
15. Nemeth E., Snyder G., Hein T.R. Unix and Linux. System Administrator's Guide. 4th ed. Moscow: Williams, 2020:1312. ISBN 978-5-8459-2109-3.
16. Sobel M. Linux. Administration and system programming. Moscow: Williams, 2021; 1088. ISBN 978-58459-2108-6.
17. Rodriguez C., Fisher G., Smolka S. Python and data analysis. Moscow: DMK Press, 2021; 482. ISBN 9785-97060-799-4.
18. Robachevsky A.M. Operating system UNIX. 2nd ed. SPb.: BHV-Peterburg, 2020: 656 ISBN 978-5-97754099-6. (In Russ).
Review
For citations:
Popov A.D. Finding Unused Software in Linux Operating Systems. Herald of Dagestan State Technical University. Technical Sciences. 2025;52(4):118-125. (In Russ.) https://doi.org/10.21822/2073-6185-2025-52-4-118-125
JATS XML






























