Is it safe to rename .deb file named by the standards?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
7
down vote

favorite












The established structure of the .deb file name is package_version_architecture.deb.

According to this paragraph:




Some packages don't follow the name structure
package_version_architecture.deb. Packages renamed by dpkg-name will
follow this structure. Generally this will have no impact on how
packages are installed by dselect/dpkg, but other installation
tools might depend on this naming structure.




Question:



However, are there any real situations when renaming the .deb package file is highly unrecommended? Is it a normal practice to provide a custom .deb file name for my software?



Example:




  • My Program for Linux v1.0.0 (Pro).deb — the custom naming


  • my-program_1.0.0-1_amd64.deb — the proper official naming

Note:



I'm not planning to create a repo, I'm just hosting the .deb package of my software on my website for direct download.










share|improve this question



























    up vote
    7
    down vote

    favorite












    The established structure of the .deb file name is package_version_architecture.deb.

    According to this paragraph:




    Some packages don't follow the name structure
    package_version_architecture.deb. Packages renamed by dpkg-name will
    follow this structure. Generally this will have no impact on how
    packages are installed by dselect/dpkg, but other installation
    tools might depend on this naming structure.




    Question:



    However, are there any real situations when renaming the .deb package file is highly unrecommended? Is it a normal practice to provide a custom .deb file name for my software?



    Example:




    • My Program for Linux v1.0.0 (Pro).deb — the custom naming


    • my-program_1.0.0-1_amd64.deb — the proper official naming

    Note:



    I'm not planning to create a repo, I'm just hosting the .deb package of my software on my website for direct download.










    share|improve this question

























      up vote
      7
      down vote

      favorite









      up vote
      7
      down vote

      favorite











      The established structure of the .deb file name is package_version_architecture.deb.

      According to this paragraph:




      Some packages don't follow the name structure
      package_version_architecture.deb. Packages renamed by dpkg-name will
      follow this structure. Generally this will have no impact on how
      packages are installed by dselect/dpkg, but other installation
      tools might depend on this naming structure.




      Question:



      However, are there any real situations when renaming the .deb package file is highly unrecommended? Is it a normal practice to provide a custom .deb file name for my software?



      Example:




      • My Program for Linux v1.0.0 (Pro).deb — the custom naming


      • my-program_1.0.0-1_amd64.deb — the proper official naming

      Note:



      I'm not planning to create a repo, I'm just hosting the .deb package of my software on my website for direct download.










      share|improve this question















      The established structure of the .deb file name is package_version_architecture.deb.

      According to this paragraph:




      Some packages don't follow the name structure
      package_version_architecture.deb. Packages renamed by dpkg-name will
      follow this structure. Generally this will have no impact on how
      packages are installed by dselect/dpkg, but other installation
      tools might depend on this naming structure.




      Question:



      However, are there any real situations when renaming the .deb package file is highly unrecommended? Is it a normal practice to provide a custom .deb file name for my software?



      Example:




      • My Program for Linux v1.0.0 (Pro).deb — the custom naming


      • my-program_1.0.0-1_amd64.deb — the proper official naming

      Note:



      I'm not planning to create a repo, I'm just hosting the .deb package of my software on my website for direct download.







      debian ubuntu packaging deb






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 2 hours ago

























      asked 3 hours ago









      kefir500

      1535




      1535




















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          10
          down vote













          Over the years, I’ve accumulated a large number of .deb packages with non-standard names, and I don’t remember running into any problems. “Famous” packages with non-standard names that people might come across nowadays include google-chrome-stable_current_amd64.deb and steam.deb. (In both cases, the fixed, versionless name ensures that a stable URL can be used for downloads.)



          However I don’t remember running across any with spaces in their names; that shouldn’t cause issues with tools either, but it might cause confusion for your users (since they’ll need to quote the filename or escape the spaces if they’re using shell-based tools).



          Another point to note is that using a non-standard name which isn’t the same as your package name (as stored in the control file) could also cause confusion, e.g. when attempting to remove the package (since the package name won’t be the same as the name used to install it).



          As a result of all this, if you don’t want to stick to the canonical name I would recommend something like my-program.deb or my-program_amd64.deb (depending on whether you want to support multiple architectures). You can make that a symlink to the versioned filename too if you want to allow older versions to be downloaded.






          share|improve this answer





























            up vote
            0
            down vote













            The file names are standardized mainly for the benefit of the archive maintenance software and the local cache.



            In the old days, before the m68k architecture was added to Debian, file names used "package_version.deb", with no issues. The architecture name was added to the file name when the archive software needed to store i386 and m68k packages of the same package and version in the same directory. As the package list has always contained both long and 8.3 file names, that could be implemented without breaking clients.



            Dpkg does not generally care about the file names of packages at all. During installation runs, APT generates a directory with all package files for this installation run, and each file will have the number in the current run prepended to the file name (i.e. if you install package foo version 1, and package bar version 2, which foo depends on, apt will pass 0-bar_2_all.deb and 1-foo_1_amd64.deb to dpkg).



            APT generally assumes that names are unique for caching purposes. If you reuse a name, users that have this file in their cache already will attempt to resume the download if the new file is larger, which will leave them with an invalid file that is subsequently discarded as it fails the checksum test. This error is however shown to the user, and they have to restart the installation run.





            share




















              Your Answer







              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "106"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              convertImagesToLinks: false,
              noModals: false,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













               

              draft saved


              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f469537%2fis-it-safe-to-rename-deb-file-named-by-the-standards%23new-answer', 'question_page');

              );

              Post as a guest






























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes








              up vote
              10
              down vote













              Over the years, I’ve accumulated a large number of .deb packages with non-standard names, and I don’t remember running into any problems. “Famous” packages with non-standard names that people might come across nowadays include google-chrome-stable_current_amd64.deb and steam.deb. (In both cases, the fixed, versionless name ensures that a stable URL can be used for downloads.)



              However I don’t remember running across any with spaces in their names; that shouldn’t cause issues with tools either, but it might cause confusion for your users (since they’ll need to quote the filename or escape the spaces if they’re using shell-based tools).



              Another point to note is that using a non-standard name which isn’t the same as your package name (as stored in the control file) could also cause confusion, e.g. when attempting to remove the package (since the package name won’t be the same as the name used to install it).



              As a result of all this, if you don’t want to stick to the canonical name I would recommend something like my-program.deb or my-program_amd64.deb (depending on whether you want to support multiple architectures). You can make that a symlink to the versioned filename too if you want to allow older versions to be downloaded.






              share|improve this answer


























                up vote
                10
                down vote













                Over the years, I’ve accumulated a large number of .deb packages with non-standard names, and I don’t remember running into any problems. “Famous” packages with non-standard names that people might come across nowadays include google-chrome-stable_current_amd64.deb and steam.deb. (In both cases, the fixed, versionless name ensures that a stable URL can be used for downloads.)



                However I don’t remember running across any with spaces in their names; that shouldn’t cause issues with tools either, but it might cause confusion for your users (since they’ll need to quote the filename or escape the spaces if they’re using shell-based tools).



                Another point to note is that using a non-standard name which isn’t the same as your package name (as stored in the control file) could also cause confusion, e.g. when attempting to remove the package (since the package name won’t be the same as the name used to install it).



                As a result of all this, if you don’t want to stick to the canonical name I would recommend something like my-program.deb or my-program_amd64.deb (depending on whether you want to support multiple architectures). You can make that a symlink to the versioned filename too if you want to allow older versions to be downloaded.






                share|improve this answer
























                  up vote
                  10
                  down vote










                  up vote
                  10
                  down vote









                  Over the years, I’ve accumulated a large number of .deb packages with non-standard names, and I don’t remember running into any problems. “Famous” packages with non-standard names that people might come across nowadays include google-chrome-stable_current_amd64.deb and steam.deb. (In both cases, the fixed, versionless name ensures that a stable URL can be used for downloads.)



                  However I don’t remember running across any with spaces in their names; that shouldn’t cause issues with tools either, but it might cause confusion for your users (since they’ll need to quote the filename or escape the spaces if they’re using shell-based tools).



                  Another point to note is that using a non-standard name which isn’t the same as your package name (as stored in the control file) could also cause confusion, e.g. when attempting to remove the package (since the package name won’t be the same as the name used to install it).



                  As a result of all this, if you don’t want to stick to the canonical name I would recommend something like my-program.deb or my-program_amd64.deb (depending on whether you want to support multiple architectures). You can make that a symlink to the versioned filename too if you want to allow older versions to be downloaded.






                  share|improve this answer














                  Over the years, I’ve accumulated a large number of .deb packages with non-standard names, and I don’t remember running into any problems. “Famous” packages with non-standard names that people might come across nowadays include google-chrome-stable_current_amd64.deb and steam.deb. (In both cases, the fixed, versionless name ensures that a stable URL can be used for downloads.)



                  However I don’t remember running across any with spaces in their names; that shouldn’t cause issues with tools either, but it might cause confusion for your users (since they’ll need to quote the filename or escape the spaces if they’re using shell-based tools).



                  Another point to note is that using a non-standard name which isn’t the same as your package name (as stored in the control file) could also cause confusion, e.g. when attempting to remove the package (since the package name won’t be the same as the name used to install it).



                  As a result of all this, if you don’t want to stick to the canonical name I would recommend something like my-program.deb or my-program_amd64.deb (depending on whether you want to support multiple architectures). You can make that a symlink to the versioned filename too if you want to allow older versions to be downloaded.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 1 hour ago

























                  answered 2 hours ago









                  Stephen Kitt

                  145k22318383




                  145k22318383






















                      up vote
                      0
                      down vote













                      The file names are standardized mainly for the benefit of the archive maintenance software and the local cache.



                      In the old days, before the m68k architecture was added to Debian, file names used "package_version.deb", with no issues. The architecture name was added to the file name when the archive software needed to store i386 and m68k packages of the same package and version in the same directory. As the package list has always contained both long and 8.3 file names, that could be implemented without breaking clients.



                      Dpkg does not generally care about the file names of packages at all. During installation runs, APT generates a directory with all package files for this installation run, and each file will have the number in the current run prepended to the file name (i.e. if you install package foo version 1, and package bar version 2, which foo depends on, apt will pass 0-bar_2_all.deb and 1-foo_1_amd64.deb to dpkg).



                      APT generally assumes that names are unique for caching purposes. If you reuse a name, users that have this file in their cache already will attempt to resume the download if the new file is larger, which will leave them with an invalid file that is subsequently discarded as it fails the checksum test. This error is however shown to the user, and they have to restart the installation run.





                      share
























                        up vote
                        0
                        down vote













                        The file names are standardized mainly for the benefit of the archive maintenance software and the local cache.



                        In the old days, before the m68k architecture was added to Debian, file names used "package_version.deb", with no issues. The architecture name was added to the file name when the archive software needed to store i386 and m68k packages of the same package and version in the same directory. As the package list has always contained both long and 8.3 file names, that could be implemented without breaking clients.



                        Dpkg does not generally care about the file names of packages at all. During installation runs, APT generates a directory with all package files for this installation run, and each file will have the number in the current run prepended to the file name (i.e. if you install package foo version 1, and package bar version 2, which foo depends on, apt will pass 0-bar_2_all.deb and 1-foo_1_amd64.deb to dpkg).



                        APT generally assumes that names are unique for caching purposes. If you reuse a name, users that have this file in their cache already will attempt to resume the download if the new file is larger, which will leave them with an invalid file that is subsequently discarded as it fails the checksum test. This error is however shown to the user, and they have to restart the installation run.





                        share






















                          up vote
                          0
                          down vote










                          up vote
                          0
                          down vote









                          The file names are standardized mainly for the benefit of the archive maintenance software and the local cache.



                          In the old days, before the m68k architecture was added to Debian, file names used "package_version.deb", with no issues. The architecture name was added to the file name when the archive software needed to store i386 and m68k packages of the same package and version in the same directory. As the package list has always contained both long and 8.3 file names, that could be implemented without breaking clients.



                          Dpkg does not generally care about the file names of packages at all. During installation runs, APT generates a directory with all package files for this installation run, and each file will have the number in the current run prepended to the file name (i.e. if you install package foo version 1, and package bar version 2, which foo depends on, apt will pass 0-bar_2_all.deb and 1-foo_1_amd64.deb to dpkg).



                          APT generally assumes that names are unique for caching purposes. If you reuse a name, users that have this file in their cache already will attempt to resume the download if the new file is larger, which will leave them with an invalid file that is subsequently discarded as it fails the checksum test. This error is however shown to the user, and they have to restart the installation run.





                          share












                          The file names are standardized mainly for the benefit of the archive maintenance software and the local cache.



                          In the old days, before the m68k architecture was added to Debian, file names used "package_version.deb", with no issues. The architecture name was added to the file name when the archive software needed to store i386 and m68k packages of the same package and version in the same directory. As the package list has always contained both long and 8.3 file names, that could be implemented without breaking clients.



                          Dpkg does not generally care about the file names of packages at all. During installation runs, APT generates a directory with all package files for this installation run, and each file will have the number in the current run prepended to the file name (i.e. if you install package foo version 1, and package bar version 2, which foo depends on, apt will pass 0-bar_2_all.deb and 1-foo_1_amd64.deb to dpkg).



                          APT generally assumes that names are unique for caching purposes. If you reuse a name, users that have this file in their cache already will attempt to resume the download if the new file is larger, which will leave them with an invalid file that is subsequently discarded as it fails the checksum test. This error is however shown to the user, and they have to restart the installation run.






                          share











                          share


                          share










                          answered 6 mins ago









                          Simon Richter

                          2,3291112




                          2,3291112



























                               

                              draft saved


                              draft discarded















































                               


                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f469537%2fis-it-safe-to-rename-deb-file-named-by-the-standards%23new-answer', 'question_page');

                              );

                              Post as a guest













































































                              Comments

                              Popular posts from this blog

                              What does second last employer means? [closed]

                              List of Gilmore Girls characters

                              One-line joke