{"id":18029775,"url":"https://github.com/marguerite/diagnose","last_synced_at":"2025-03-27T03:31:11.763Z","repository":{"id":146214643,"uuid":"77243094","full_name":"marguerite/diagnose","owner":"marguerite","description":"Diagnose Tools for openSUSE","archived":false,"fork":false,"pushed_at":"2023-03-06T22:34:16.000Z","size":8799,"stargazers_count":6,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T00:51:18.791Z","etag":null,"topics":["debug","opensuse"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marguerite.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-23T18:15:30.000Z","updated_at":"2021-06-08T14:38:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"b4482517-1197-48a4-b88d-d573437598e2","html_url":"https://github.com/marguerite/diagnose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marguerite%2Fdiagnose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marguerite%2Fdiagnose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marguerite%2Fdiagnose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marguerite%2Fdiagnose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marguerite","download_url":"https://codeload.github.com/marguerite/diagnose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245778547,"owners_count":20670682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debug","opensuse"],"created_at":"2024-10-30T09:11:27.614Z","updated_at":"2025-03-27T03:31:11.757Z","avatar_url":"https://github.com/marguerite.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Diagnosis tools for openSUSE ##\n\nThis project aims to collect the diagnosis tools I wrote to help openSUSE freshmen to report issues on forum.\n\nIt includes:\n\n#### `instdpkg` AKA \"installed packages\" ####\n\nTell the user what packages were installed/removed on the specific `date`, since the `time`.\n\nCase:\n\nA user posted on forum saying \"I don't know what happened, I just installed some packages then problem occurs.\"\n\nTell him to download and run `sudo instdpkg -date=2020-10-20`. It will tell you what \"some packages\" are.\n\n    ====== Packages modified after 2020-10-20 00:00:00 ======\n    time               |action |name            |version     |arch  |repo\n    2020-10-20 10:06:43|install|libspiro1       |20200505-1.1|x86_64|repo-oss\n    2020-10-20 10:06:44|install|libuninameslist1|20200413-1.2|x86_64|repo-oss\n    2020-10-20 10:06:44|install|libwoff2enc1_0_2|1.0.2-3.10  |x86_64|repo-oss\n    2020-10-20 10:06:49|install|fontforge       |20200314-3.3|x86_64|repo-oss\n\nEven forgot the date? \"just two weeks ago\"? Run `sudo instdpkg -timeline` and find out the date.\n\n    2020-10-01 12:34:41 +0000 UTC\n    2020-10-02 11:26:26 +0000 UTC\n    2020-10-05 14:34:38 +0000 UTC\n    2020-10-15 11:48:06 +0000 UTC\n    2020-10-20 10:06:41 +0000 UTC\n    2020-11-03 11:31:21 +0000 UTC\n\n#### `pkmswitch100` AKA \"packman switch 100%?\"\n\nTell the user if related packages (ffmpeg, vlc and gstreamer) were 100% switched from oss to packman.\n\nCase:\n\nA user posted on forum saying \"I can cut videos using ffmpeg but can't put the cut into mp4 container\"\nor worse \"how to cut using ffmpeg???\" and attached many logs that're mostly useless unless you can find\na video that encoded using the same codecs.\n\nIn the previous case, `libavformat57` is oss while all others are from packman. If you have \"update\nfrom a different repository\" disabled which is default and switch packages one by one by yourself, you\nare exposed to such cases.\n\nTell him to download and run `pkmswitch100`, problem solved.\n\nNOTE: Always run \"sudo zypper ref\" first. And this is not a installation tool but a debug tool,\nit will not install the packages that you haven't installed.\n\nThere're 3 options: `-type=ffmpeg`, `-type=vlc`, `-type=gstreamer`. by default all of the three will be checked.\n\n    ====== Packages not installed ======\n    gstreamer-plugins-bad-chromaprint libgstplayer-1_0-0 gstreamer-plugins-bad-fluidsynth libgstcodecs-1_0-0 libgstvulkan-1_0-0 libgstinsertbin-1_0-0 gstreamer-transcoder vlc-codecs libgsttranscoder-1_0-0\n    FIX: sudo zypper in gstreamer-plugins-bad-chromaprint libgstplayer-1_0-0 gstreamer-plugins-bad-fluidsynth libgstcodecs-1_0-0 libgstvulkan-1_0-0 libgstinsertbin-1_0-0 gstreamer-transcoder vlc-codecs libgsttranscoder-1_0-0 --from packman\n    ====== Packages should be updated ASAP ======\n    libgstwebrtc-1_0-0 libswscale5 libgstisoff-1_0-0 gstreamer-plugins-ugly gstreamer-plugins-bad-orig-addon libgstbasecamerabinsrc-1_0-0 libavutil56 libavfilter7 libgsturidownloader-1_0-0 gstreamer-plugins-bad libswresample3 libgstcodecparsers-1_0-0 libgstadaptivedemux-1_0-0 libgstbadaudio-1_0-0 libgstsctp-1_0-0 gstreamer-plugins-libav libgstmpegts-1_0-0 libavdevice58 libpostproc55 libavresample4 gstreamer-plugins-ugly-orig-addon libgstwayland-1_0-0 libgstphotography-1_0-0 libavformat58 libavcodec58\n    FIX: sudo zypper up libgstwebrtc-1_0-0 libswscale5 libgstisoff-1_0-0 gstreamer-plugins-ugly gstreamer-plugins-bad-orig-addon libgstbasecamerabinsrc-1_0-0 libavutil56 libavfilter7 libgsturidownloader-1_0-0 gstreamer-plugins-bad libswresample3 libgstcodecparsers-1_0-0 libgstadaptivedemux-1_0-0 libgstbadaudio-1_0-0 libgstsctp-1_0-0 gstreamer-plugins-libav libgstmpegts-1_0-0 libavdevice58 libpostproc55 libavresample4 gstreamer-plugins-ugly-orig-addon libgstwayland-1_0-0 libgstphotography-1_0-0 libavformat58 libavcodec58\n\n#### rescue-network\n\nBring your network up in rescue mode. it can also fix your network when NetworkManager or wickedd is not available.\n\nCase 0: sometimes you need to run `zypper dup` in rescue mode. But you don't have any network connection under rescue mode.\n\nSo you connect to your wifi with a Phone and get the gateway, netmask.\n\nNow run `rescue-network -device=wifi -gateway=192.168.31.1 -netmask=255.255.255.0 -essid=MyHomeNetwork --password=12345678`.\n\nAnd you'll have a running network.\n\nThen do what you want.\n\nCase 1: sometimes your NM/wickedd is not working, but you need to browse the internet to find answers.\n\nYou can `sudo systemctl stop network` and run `rescue-network` as above.\n\nAvailable options:\n\n    -device \"wired\" or \"wifi\", when using wired, it will assign a static IP for you. when using wifi, it'll connect to the WIFI with wpa_supplicant first.\n    -gateway your router's IP address, usually it's 192.168.1.1\n    -netmask your router's netmask, usually it's 255.255.255.0\n    -essid your WIFI's name.\n    -password your WIFI's password\n\n## rpm-unowned\n\nCheck for file not owned by rpm:\n\n    rpm-unowned -dir /usr/lib64\n\nEverything printed are not owned by rpm.\n\n## consistent-repo\n\nCheck for packages not installed from a specific repository\n\n    consistent-repo -p \u003cpkg\u003e -r \u003crepo\u003e\n\nThe `pkg` is a string that can be separated by \",\", specifying the package or package list to be passed to `zypper se`.\n`consistent-repo` will search the terms via zypper and check every package returned against the repo.\n\nThe `repo` is your `local alias` of an openSUSE repo. eg, the upstream name maybe \"openSUSE-Leap-15.0-Oss\", but your local\nalias is just \"oss\", use \"oss\". You can get alias via \"zypper lr\".\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarguerite%2Fdiagnose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarguerite%2Fdiagnose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarguerite%2Fdiagnose/lists"}