Is it safe to rename .deb file named by the standards?
Clash 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 namingmy-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
add a comment |Â
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 namingmy-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
add a comment |Â
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 namingmy-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
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 namingmy-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
debian ubuntu packaging deb
edited 2 hours ago
asked 3 hours ago
kefir500
1535
1535
add a comment |Â
add a comment |Â
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.
add a comment |Â
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.
add a comment |Â
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.
add a comment |Â
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.
add a comment |Â
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.
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.
edited 1 hour ago
answered 2 hours ago
Stephen Kitt
145k22318383
145k22318383
add a comment |Â
add a comment |Â
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.
add a comment |Â
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.
add a comment |Â
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.
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.
answered 6 mins ago
Simon Richter
2,3291112
2,3291112
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password