Can I see why a package is installed?


A quick and short reasoning on why a certain package was installed can be found out by typing the following command in a terminal (Applications -> Accessories -> Terminal) :

aptitude why

Replace with the name of the package you are interested in. For example, typing aptitude why libgoo-canvas-perl outputs the following :

i shutter Suggests libgoo-canvas-perl

This basically means that the package shutter in this case has suggested libgoo-canvas-perl be installed. By then typing aptitude why shutter I can walk up the dependency chain.

However, there is a caveat. I often notice aptitude finds the most plausible explanation for the situation that may not be the actual case, but will nevertheless give you a clue to look further.

In my case, shutter suggests libgoo-canvas-perl - however, suggested packages are not automatically installed by default. Nevertheless, it jogs my memory of the "experience" with not being able to edit screenshots with shutter which...

0 0

There may be an easier way to do this, but it can be done if you use reverse-depends. You will need to install the ubuntu-dev-tools package by doing

apt-get install ubuntu-dev-tools

Or by clicking this button:

Once installed, you can then use reverse-depends to see what depends on a specific package. For example, if you try to install something that wants to install a bunch of extra packages and you want to see why "libsmpeg0" is being installed, you run

reverse-depends libsmpeg0

Which would output the following.

Reverse-Recommends ================== * sandboxgamemaker Reverse-Depends =============== * btanks * fenix-plugin-mpeg [armel armhf i386 powerpc] * fillets-ng * gltron [amd64 armel i386 powerpc] * libalien-sdl-perl * libsdl-perl [i386] * libsmpeg-dev * libtaoframework-sdl1.2-cil * python-pygame * ruby-sdl * sdlbrt * smpeg-gtv * smpeg-plaympeg * tdfsb Packages without architectures listed are reverse-dependencies in: amd64, armel, armhf, i386,...
0 0


INFO: gcc -o ctxhx -m64 -L/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -L/oracle/app/oracle/product/11.2.0/dbhome_1/lib/ -L/oracle/app/oracle/product/11.2.0/dbhome_1/lib/stubs/ /oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ctxhx.o -L/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -lm -lsc_fa -lsc_ex -lsc_da -lsc_ca -lz -lctxhx -Wl,-rpath,/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnl

INFO: s11 -lcore11 -lnls11 `cat /oracle/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist`

INFO: /usr/lib64/ undefined reference to `memcpy@GLIBC_2.14'
collect2: error: ld returned 1 exit status

INFO: make: *** [ctxhx] Error...

0 0

This is contents of my JavaCard :

GP::: gp -list AID: A000000151000000 (|....Q...|) ISD OP_READY: Security Domain, Card lock, Card terminate, Default selected, CVM (PIN) management AID: A0000001515350 (|....QSP|) ExM LOADED: (none) A000000151535041 (|....QSPA|)

In Eclipse I add 3 applets to a single package as below :


I converted this package to a .cap file and installed it successfully on my card using JCManager.

When I list the applets using gp, it returns :

GP::: gp -list AID: A000000151000000 (|....Q...|) ISD OP_READY: Security Domain, Card lock, Card terminate, Default selected, CVM (PIN) management AID: 0102030405060708090002 (|...........|) App SELECTABLE: (none) AID: A0000001515350 (|....QSP|) ExM LOADED: (none) A000000151535041 (|....QSPA|) AID: 01020304050607080900 (|..........|) ExM LOADED: (none) 0102030405060708090002 (|...........|) 0102030405060708090001 (|...........|) 0102030405060708090000...
0 0

There's no general answer. Sometimes you can find more information on a dependency in a package's description; this is more often true for "Recommends:" or "Suggests:" rather than full-blown "Depends:", to help users decide whether or not to install the weak dependency. Another source of information can be a package's changelog; that will sometimes indicate the reason for adding a dependency.

In mysql-client-5.5's case, the dependency itself gives a clue: it's debianutils (>= 1.6). Looking at debianutil's changelog indicates that version 1.6 introduced tempfile, sensible-editor and sensible-pager. Restricting the search to those three in mysql-client-5.5 reveals that the startup scripts use tempfile, which justifies the dependency on...

0 0
scorp123 wrote:

marcus0263 wrote:Anyway those with fiber here get 30-50 Meg DSL connections while those with Copper like myself are at around 6 Meg.

Oh man, here in Switzerland we can only dream about such speeds!!

Both our monopolies are holding back. Swisscom is in total control of the phone lines, the last mile and therefore also controls all the ADSL connections. And Cablecom controls the TV cables and the (TV) cable network. You want to watch TV without having to bother with your own antenna? Welcome to Cablecom.

So the max. we can get from ADSL is 6 Mbit/s, and via TV cable it's 10 Mbit/s. I recently switched from 3.5 Mbit/s ADSL to 10 Mbit/s TV cable connection, and it's still too slow for my purposes. 50 Mbit/s ADSL .... wow. Awesome....

0 0

Frontend package managers are varried between their approaches, and integral to how you set up your project. It's important that you are comfortable with their approach, as it may be hard to migrate a project off of one down the road.

You should consider where the packages come from. Some package managers have central registries of packages, in which case you should check that the registry has the packages you need. Others let you link directly from github, but those may be less dependable, and harder to manage versions. Some also let you fallback to local packages as well, or some combination of them all.

Another consideration is how the packages are called in code. The major paradigms are AMD (Asynchronous Module Definition) and CJS (Common JS). AMD's main advantage is that you can load in modules in parallel asynchronously. With CJS it's easier to create concatanated script packages, which has the benefit in cutting down the total number of requests. The way you...

0 0

I've been getting started with Nuget. Some of my projects allow me to Add Library Package Reference to a Nuget package, but then when I select "Installed Packages" I don't see any packages listed. Why not?

EDIT - I know the answer (see below), was going to answer this myself as a "community service" but can't for another 8hrs due to my lame rep score.

Answer will be: The project already had a packages.config file in the same directory as the csproj file, BUT the packages.config file was not added to the project. Fixed by "Add existing item" and selecting the packages.config file.

Note: in hindsight, the pink '"packages.config" already exists, Skipping' message in the nuget progress window should have alerted me to this.

Hope this helps someone.

(Pasted from the question, so this doesn't show up as unanswered)

The project already had a packages.config file in the same directory as the csproj file, BUT the packages.config file was not added...

0 0

It sounds like you're trying an import in two different installations of Python, or two different environments. Check sys.executable to see which Python and environment you're running in, and sys.path to see where it looks to import modules.

Python packages must be installed separately for each copy of Python you use, and if you are using virtualenvs or conda envs, packages must be installed into each environment where you need them. Either the package is not installed in one, or a different version of the package is installed.

To install packages to a particular Python installation or environment using pip, you can run it like this:

path/to/python -m pip install ... # Replace path/to/python with the path of the Python executable (sys.executable)

If you are using conda environments, you can install packages from conda like this:

source activate myenv # On Windows, just 'activate myenv' (no 'source') conda install ...

I have written this up as a blog post...

0 0


What is Arch Linux?

See the Arch Linux article.

Why would I not want to use Arch?

You may not want to use Arch, if:

you do not have the ability/time/desire for a 'do-it-yourself' GNU/Linux distribution. you require support for an architecture other than x86_64. you take a strong stand on using a distribution which only provides free software as defined by GNU. you believe an operating system should configure itself, run out of the box, and include a complete default set of software and desktop environment on the installation media. you do not want a rolling release GNU/Linux distribution. you are happy with your current OS.

What architectures does Arch support?

Arch only supports the x86_64 (sometimes called amd64) architecture. Support for i686 was dropped in November 2017[1]. If your machine still runs the i686 version of Arch but has a x86_64 CPU, see #Can I switch from i686 to x86_64 without reinstalling?. If your...

0 0

I use the package install attribute to ensure that given package X is installed.

However, even though the package is installed, puppet tries to install it over again and of course exits with an exception ("X already installed"). It does not happen when the package name matches a service name. I use local RPM and an RPM provider.

How do I avoid that exception?

I also implemented a workaround: if I succeed with the RPM installation, I create a file called /X_DONE. Then I install the dependencies based on that file, not the package.

What is the proper way to deal with that?

EDIT: Failing manifest:

file {"$tmp_dir/$php_pdo": ensure => present, source => "puppet:///files/services/$php_pdo" } package {"php_pdo": require => File["$tmp_dir/$php_pdo"], ensure => installed, provider => rpm, source => "$tmp_dir/$php_pdo" }

and exception:

err: /Stage[main]/Apache-php/Package[php_pdo]/ensure: change from absent to present failed: Execution of...
0 0