You are not logged in.
apt is said to be designed as a more interactive and user-friendly frontend to certain utilities such as apt-get, apt-cache, etc.
$ apt-file list apt | grep usr/bin
apt: /usr/bin/apt
apt: /usr/bin/apt-cache
apt: /usr/bin/apt-cdrom
apt: /usr/bin/apt-config
apt: /usr/bin/apt-get
apt: /usr/bin/apt-key
apt: /usr/bin/apt-mark
apt is optimized for interactive use, with user-friendly output and features.
In contrast, apt-get has a well-defined, stable interface, making it more suitable for scripting and automated tasks.apt is essentially a wrapper for the most common functionalities found in the underlying APT system.
Last edited by igorzwx (2025-09-12 15:27:54)
Offline
apt has a progress bar. Perfect for me, I am using apt since many years now, no complaints about it.
Offline
If you know what it really is, you can decide how to use it.
However, the users are not supposed to know what they are using.
Offline
Why not? If you desire have a look at the code. The sources are available.
Offline
Offline
@rolfie
Could you please read the code and enlighten us?
Offline
Another conspiracy theory about something being bad?
Could you please read the code and enlighten us?
I am no programmer. Do it yourself.
Offline
apt has undocumented options, for example: depends; build-dep; -s, --simulate
man apt | grep depends
$ apt depends wxmaxima
wxmaxima
Depends: libc6 (>= 2.34)
Depends: libgcc-s1 (>= 3.3.1)
Depends: libstdc++6 (>= 11)
Depends: libwxbase3.2-1 (>= 3.2.2+dfsg)
Depends: libwxgtk-webview3.2-1 (>= 3.2.2+dfsg)
Depends: libwxgtk3.2-1 (>= 3.2.1+dfsg-2)
Recommends: maxima
maxima-git
Recommends: fonts-inter
Recommends: fonts-inter-variable
Recommends: fonts-texgyre
Recommends: fonts-texgyre-math
Recommends: fonts-dejavu
Suggests: fonts-jsmath
Suggests: texlive-latex-extra
Suggests: ibus-gtk3
man apt | grep build-dep
$ apt build-dep wxmaxima -s
NOTE: This is only a simulation!
apt needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
There are, perhaps, other "secret" options.
Last edited by igorzwx (2025-09-12 21:02:54)
Offline
apt is a "work in progress" interactive tool, it has undocumented options (if you don't read the manual) since they may not be tested enough to have full documentation, for example for apt 2.9.6devuan1
edit-sources (work-in-progress)
edit-sources lets you edit your sources.list(5) files in your preferred text editor
while also providing basic sanity checks.
showsrc, depends, rdepends, policy (summarised in apt-cache(8))
source, build-dep, download, changelog, clean, distclean, autoclean (summarised in apt-
get(8))
SCRIPT USAGE AND DIFFERENCES FROM OTHER APT TOOLS
The apt(8) commandline is designed as an end-user tool and it may change behavior between
versions. While it tries not to break backward compatibility this is not guaranteed either
if a change seems beneficial for interactive use.
All features of apt(8) are available in dedicated APT tools like apt-get(8) and apt-cache(8)
as well. apt(8) just changes the default value of some options (see apt.conf(5) and
specifically the Binary scope). So you should prefer using these commands (potentially with
some additional options enabled) in your scripts as they keep backward compatibility as much
as possible.
SEE ALSO
apt-get(8), apt-cache(8), sources.list(5), apt.conf(5), apt-config(8), apt-patterns(7), The
APT User's guide in /usr/share/doc/apt-doc/, apt_preferences(5), the APT Howto.
Offline
I have Devuan5
$ inxi -b | grep Host -A1
Host: devuan Kernel: 6.1.0-39-amd64 arch: x86_64 bits: 64 Desktop: MATE
v: 1.26.0 Distro: Devuan GNU/Linux 5 (daedalus)
$ man apt | grep devuan1
APT 2.6.1devuan1 05 April 2020 APT(8)
It seems that "man" is "outdated in-progress".
$ apt --version
apt 2.6.1devuan1 (amd64)
man apt | grep depends
does not print anythings.
$ apt rdepends wxmaxima
wxmaxima
Reverse Depends:
Suggests: education-mathematics
Recommends: science-mathematics
The command:
man apt | grep rdepends
prints nothing.
apt is "work in progress", and, therefore,
apt full-upgrade
is recommended to use instead of
apt-get dist-upgrade
_https://www.debian.org/releases/trixie/release-notes/upgrading.html#upgrading-the-system
4.4.6. Upgrading the system
# apt full-upgrade
Linux Mint has own apt wrapper
_https://github.com/linuxmint/mintsystem/blob/master/usr/local/bin/apt
This is the Linux Mint "apt" command. This commands acts as a wrapper for the APT package manager and many other useful tools such as apt-get, apt-cache, apt-mark, dpkg, aptitude...etc. It is installed in /usr/local/bin/apt. To use the upstream apt command directly type /usr/bin/apt.
Last edited by igorzwx (2025-09-13 00:16:36)
Offline
yes, i've been thinking of rolling out my own apt wrapper, after all i already have apt-ui which uses fzf to provide a fuzzy ui for installing, uninstalling packages and also queriying package information: https://github.com/eylles/devuan-script … /apt-ui.sh
but i do want something more "complete" that also integrates some of the apt-fast capabilities which i may even lazy out and just build my apt wrapper with the ability to use apt-fast to perform the install operations.
that is not to say that debian's "apt" wrapper program is bad in on itself but one can notice it is very much a work in progress
Offline
Do you know why cybernetics has always been hated by Trotskyists and pseudo-Buddhists?
According to cybernetics, the control mechanism must possess sufficient complexity to match or exceed the complexity (or "variety") of the system and its environment to maintain control and achieve desired outcomes. If the controller is less complex, it cannot effectively manage the system's dynamics, according to Ashby's Law of Requisite Variety
_https://en.wikipedia.org/wiki/Variety_(cybernetics)
For a similar reason, a sophisticated system requires much more sophisticated technical documentation. That is why, perhaps, Debian documentation is a body of esoteric scriptures containing secret or inner knowledge intended for a select group of initiates, rather than the general public. Debian wiki and man pages have multiple layers of meaning that can only be grasped by the initiated who can read between the lines and understand the hidden or implicit meaning in something that is not explicitly stated.
systemd, pulseaudio, pipewire, user-friendly frontends (such as apt and the like) are unnecessarily (or even harmful) complications of the system.
Have you noticed that it is much easier to create a Debian package without the help of debhelper?
Examples:
_https://dev1galaxy.org/viewtopic.php?id=7214
_https://dev1galaxy.org/viewtopic.php?id=7224
Try to read _https://manpages.debian.org/testing/debhelper/debhelper.7.en.html
The question is, therefore, What does the word "helper" mean in this context?
The Hebrew word "ezer" (עֵזֶר - pronounced "ayzer") means a strong, powerful helper, an ally, a protector, or even a rescuer, not a weak or subordinate one. Often translated as "help" or "helper," it implies a necessary, superior aid. The word emphasizes strength and support and is most frequently used in the Bible to describe God as the ultimate ezer for humanity.
It is a symbolic statement of superiority. Debian users are treated as helpless and ignorant. The invocation of the archetypal symbol is misused to exercise symbolic violence (in terms of Pierre Bourdieu).
NOTE: Invoking archetypal symbols to exercise symbolic violence means using deeply ingrained, often unconscious, symbols to legitimize and perpetuate social hierarchies and power imbalances, making them seem natural rather than a product of specific social conditions. This misuse of symbols, which are presented as universal or self-evident, serves to obscure the true power dynamics, elicit "consent" from the dominated, and ultimately maintain the existing social order without overt physical force, according to Bourdieu.
_https://en.wikipedia.org/wiki/Pierre_Bourdieu
What is special about pseudo-Buddhists is that they often engage in a form of symbolic violence that may look rather primitive and unsophisticated.
Man's achievements rest upon the use of symbols.... we must consider ourselves as a symbolic, semantic class of life, and those who rule the symbols, rule us.
Alfred Korzybski, Science and Sanity. 1933; Lancaster (Penn.) 1941.
See also: _https://en.wikipedia.org/wiki/Alfred_Korzybski#Anecdotes
It might be obvious that power operates through symbols, meanings, and social constructs to influence and shape reality. What is not obvious is that it can effectively operate through seemingly neutral symbols and shared understandings. Pierre Bourdieu argued that symbolic power, exercised through language and culture, allows dominant groups to legitimize their authority by imposing meanings and classifications that are perceived as natural and legitimate by society, a process he termed symbolic violence. Language serves as a primary vehicle for this power, as dominant linguistic norms, accents, and styles are presented as legitimate, thereby reinforcing social hierarchies and marginalizing other forms of speech and culture. This power operates not through physical coercion but by shaping people's perceptions and behaviors, leading to the misrecognition and internalisation of existing power structures as normal or just.
_https://en.wikipedia.org/wiki/Pierre_Bourdieu
In plain words: debhelper belongs to the same category of crap as systemd, pulseaudio, and pipewire. The users are forced, by means of symbolic violence, to perceive this crap as natural, legitimate, and indispensable.
Last edited by igorzwx (Today 00:26:30)
Offline
yes, i've been thinking of rolling out my own apt wrapper, after all i already have apt-ui which uses fzf to provide a fuzzy ui for installing, uninstalling packages and also queriying package information: https://github.com/eylles/devuan-script … /apt-ui.sh
The comments! # if this is not your actual config dir then get rekt
Srsly tho, this put a bee in my bonnet on a small utility i've thought about in the past, a right-click context menu entry that offers to install a local .deb package when you select it in the file manager, little script + apt-get + some yad dialogs. I think that would be handy.
Probably easier to just use gdebi, it's nice.
Last edited by greenjeans (2025-09-13 19:14:01)
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded August 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
SparkyLinux had a nice lightweight GUI alternative to gdebi, maybe it could be packaged for Devuan as well?
https://sparkylinux.org/debitool/
https://github.com/sparkylinux/debi-tool
Last edited by ffp (2025-09-14 08:22:16)
Offline
another option would be to cobble a script with yad for the gui (lighter for setups that already use yad) and on the inside all it does is run apt-get commands to show the information of the .deb and installs it with apt-get install <full/path/to/package.deb>
Offline
Why do you need GUI for apt-get?
Offline
another option would be to cobble a script with yad for the gui (lighter for setups that already use yad) and on the inside all it does is run apt-get commands to show the information of the .deb and installs it with apt-get install <full/path/to/package.deb>
DebiTool is built on top of yad
Why do you need GUI for apt-get?
Personally, I don't need a GUI for APT but I'm thinking of setting up Devuan on my dad's PC and I know he's not going to bother using the terminal.
Last edited by ffp (2025-09-14 09:22:30)
Offline
To create a useful GUI, one may need a secret esoteric knowledge of ergonomics.
What Are Principles of Ergonomics in UI Design?
_https://www.flowmapp.com/blog/qa/principles-of-ergonomics-in-ui-design
The interface should be designed taking into account the individual characteristics of the user, starting from their physical and cognitive abilities, and ending with their needs and goals.
_https://www.flowmapp.com/blog/qa/principles-of-ergonomics-in-ui-design
Another approach is to explain the user that Linux terminal may help against dementia.
Linux Terminal and Cognitive Health
Recent discussions have emerged regarding the potential cognitive benefits of using the Linux terminal and similar computing environments. While there isn't direct evidence linking Linux terminal usage specifically to dementia prevention, engaging with technology, including command-line interfaces, may contribute positively to cognitive health.
Cognitive Engagement and Technology Use
Mental Stimulation: Using the Linux terminal requires problem-solving skills, critical thinking, and memory, which can help keep the brain active. Engaging in mentally stimulating activities is known to be beneficial for cognitive health.
Learning New Skills: Mastering the Linux terminal involves learning new commands and scripting, which can enhance cognitive flexibility and adaptability. Continuous learning is associated with a lower risk of cognitive decline.
Social Interaction: Many Linux users participate in online communities, forums, and collaborative projects. Social engagement is another factor that can help protect against dementia.
Related Research on Technology and Dementia
A study indicated that older adults who regularly used the internet had about half the risk of developing dementia compared to non-users. This suggests that regular engagement with technology, including potentially using the Linux terminal, could be beneficial for cognitive health.
Summary of Benefits
Aspect: Potential Benefits
Mental Stimulation: Enhances problem-solving and critical thinking
Learning Opportunities: Promotes cognitive flexibility and adaptability
Social Engagement: Builds connections and reduces isolationEngaging with the Linux terminal can be a part of a broader strategy to maintain cognitive health, especially when combined with other healthy lifestyle choices. While more specific research is needed to establish a direct link between Linux terminal use and dementia prevention, the cognitive engagement it fosters is undoubtedly valuable.
One of the Seven Steps to Protect Your Cognitive Vitality is to keep learning and stimulating your brain throughout life. The internet has become a major source of information and a convenient method of communication via email, social media, and virtual meetings. In a recent study, older people who regularly used the internet had approximately half the risk of dementia compared to non-regular users of the internet.
_https://www.alzdiscovery.org/cognitive-vitality/blog/can-using-the-internet-protect-from-dementia
_https://www.alzdiscovery.org/cognitive-vitality/first-steps
The Linux terminal invokes a certain mode of thinking that helps to solve problems. The command-line interface (CLI) promotes a more structured and logical problem-solving approach by requiring users to be explicit and understand cause-and-effect relationships between commands and their outputs. This text-based interaction encourages a deep understanding of system operations, fosters skills in breaking down complex tasks, and develops a powerful efficiency in performing intricate operations that might be slower in a graphical interface.
Last edited by igorzwx (2025-09-14 13:40:18)
Offline
another option would be to cobble a script with yad for the gui (lighter for setups that already use yad) and on the inside all it does is run apt-get commands to show the information of the .deb and installs it with apt-get install <full/path/to/package.deb>
That was my thought. gdebi is only about 1 mb so it's small, but i'm pretty sure a simple script for doing this with yad and apt-get would only be like 20-30k. Edit: Actually less than that the more I think about it, apt-get will do all the legwork checking for depends etc. Just need to use the right command, then a success dialog at the end, some error checks of course etc.
If you're just making a quick and dirty for yourself and don't need a safety net, you can do it as a right-click extension with just a .desktop, like maybe so (if you know for sure you already have all needed depends installed):
[Desktop Entry]
Type=Action
Comment=Install local .deb package
Name=Install Package
Icon=info
Profiles=on_file;
[X-Action-Profile on_file]
Exec=gksu.sh dpkg -i %f
MimeTypes=application/x-debian-package;
Before somebody asks again, gksu.sh is just my pkexec translator so I don't have to type a lot of extra crap when I make one of these.
Last edited by greenjeans (2025-09-14 15:52:09)
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded August 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
The standard solution:
1. bash script with one simple command inside
2. desktop launcher for it
Right click on a deb file and select "install deb".
It opens a terminal, and runs "sudo dpkg -i <your deb>" on it.
gksu is not needed.
"local .deb packages" can be installed with "dpkg" or with "apt" (together with dependencies, if available) similar to "gdebi".
Last edited by igorzwx (2025-09-14 19:07:16)
Offline
sudo, and here I thought you were suspicious of obvious security risks.
Vuu-do don't sudo.
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded August 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
Try "su" to root, then "apt" or "dpkg".
It seems that you do not know how to write a simple script.
Offline
Try "su" to root, then "apt" or "dpkg".
It seems that you do not know how to write a simple script.
Well I haven't taken a sip yet today from the waterfall of secret esoteric knowledge, so my dementia lacks the mystic sauce of enlightenment to keep it at bay, perhaps you need to wall-of-text me some more of that deep deep lore that ChatGPT has bestowed upon thee.
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded August 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
There are "security experts", who cannot write simple scripts, and cannot compile anything.
Offline
eh something like this for the script should cover almost all cases so that the .desktop file can have a simple exec line like:
Exec=deb-installer %f
and this would be the base of the deb-installer that is pretty much a glorified yad confirmation dialog
#!/bin/sh
###############################################################################
# yes these variables for the dialog are empty, whoever does take the time to #
# build this thing proper ought to fill them, maybe even use gettext for #
# internationalization and stuff #
###############################################################################
# action image
act_image=""
# action title
text_title=""
# action message
text_msg=""
# window title in taskbar/titlebar
title_var=""
# action button text
btn_act=""
# message on success
success_msg=""
# message on cancel
cancel_msg=""
u_true=0
u_false=1
# return type: unix command boolean
# return values:
# True : u_true
# False: u_false
# usage: yad_confirm_dialog
yad_confirm_dialog () {
# function's return value
# defaulting to false just to be safe
retval="$u_false"
text="
<span><big><b>${text_title}</b></big></span>
${text_msg}
"
btn_cancel="$(gettext "$myname" "$btn_cancel")"
cancel_img="gnome-info"
yad \
--image "$act_image" \
--text "$text" \
--buttons-layout=center \
--skip-taskbar \
--sticky \
--undecorated \
--title="$title_var" \
--on-top \
--button="$btn_act" \
--button="${btn_cancel}:1" \
--center
ret=$?
case "$ret" in
0|70)
notify-send -i "$act_image" "$title_var" "$success_msg"
retval="$u_true"
;;
1|252)
notify-send -i "$cancel_img" "$title_var" "$cancel_msg"
retval="$u_false""
;;
esac
return "$retval"
}
main () {
yad_confirm_dialog
ret=$?
if [ "$ret" -eq "$u_true" ]; then
$0 "install" "$1"
fi
}
install_software () {
apt update
apt install "$1" -y
ret=$?
return "$ret"
}
case "$1" in
install)
shift
# are we root?
if [ ! "$( id -u )" -eq 0 ]; then
install_software "$1"
else
has_tty=""
if tty | grep -qF -e "dev/tty" -e "dev/pts"; then
has_tty=1
fi
if [ -n "$has_tty" ]; then
sudo "$0" "install" "$1"
else
# prefer sudo with sudo_askpass over pkexec
if [ -n "$SUDO_ASKPASS" ]; then
sudo -A "$0" "install" "$1"
else
pkexec sudo "$0" "install" "$1"
fi
fi
fi
;;
*)
main "$@"
;;
esac
Offline