Jump to content


 


Register a free account to unlock additional features at BleepingComputer.com
Welcome to BleepingComputer, a free community where people like yourself come together to discuss and learn how to use their computers. Using the site is easy and fun. As a guest, you can browse and view the various discussions in the forums, but can not create a new topic or reply to an existing one unless you are logged in. Other benefits of registering an account are subscribing to topics and forums, creating a blog, and having no ads shown anywhere on the site.


Click here to Register a free account now! or read our Welcome Guide to learn how to use this site.

[Discussion] Apt's Output Codes: Hit, Get, Ign


  • Please log in to reply
13 replies to this topic

#1 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 21 November 2015 - 04:31 PM

I've been trying to find official documentation explaining in detail the exact meaning of Apt's output codes: Hit, Get, Ign when running "apt-get update". I've had no luck, and postings on various other sites don't always seem to agree. I'm surprised that such an important thing is so hard to find official documentation on, or at least a concrete 3rd party answer. Answer's backed by proof are the next best thing to official documentation, so I've started this thread to discuss and share test results, in the hopes of establishing exactly what each of these 3 codes mean, and backing it up with supportive proof. I've been using APT long enough to know that none of these impede my ability to use the system, but it's time to dig a bit deeper. I'm not the first person to ask what these codes mean, but maybe I can be the last. :)

Related Links:
- http://askubuntu.com/questions/294525/what-does-ign-mean-when-running-an-apt-get-update/294532#294532
- http://ubuntuforums.org/showthread.php?t=231300
- http://superuser.com/questions/454867/how-do-ign-and-hit-affect-apt-get-update

 

My guess, at present, would be that:

Get = Package list is downloaded.

Hit = Package list is found, but not downloaded. Why? Perhaps because it's not newer than the currently downloaded version?

Ign = Package list is ignored. Why?



BC AdBot (Login to Remove)

 


#2 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 21 November 2015 - 05:05 PM

Here's an output that shows all three codes in use:

example1@example:~$ sudo apt-get update
[sudo] password for example1:
Get:1 http://security.ubuntu.com lucid-security Release.gpg [198B]             
Ign http://security.ubuntu.com/ubuntu/ lucid-security/main Translation-en_CA   
Ign http://security.ubuntu.com/ubuntu/ lucid-security/restricted Translation-en_CA
Ign http://security.ubuntu.com/ubuntu/ lucid-security/universe Translation-en_CA
Ign http://security.ubuntu.com/ubuntu/ lucid-security/multiverse Translation-en_CA
Hit http://ca.archive.ubuntu.com lucid Release.gpg
Hit http://ca.archive.ubuntu.com/ubuntu/ lucid/main Translation-en_CA
Hit http://ca.archive.ubuntu.com/ubuntu/ lucid/restricted Translation-en_CA
Hit http://ca.archive.ubuntu.com/ubuntu/ lucid/universe Translation-en_CA
Ign http://ca.archive.ubuntu.com/ubuntu/ lucid/multiverse Translation-en_CA
Get:2 http://ca.archive.ubuntu.com lucid-updates Release.gpg [198B]
Hit http://ca.archive.ubuntu.com/ubuntu/ lucid-updates/main Translation-en_CA
Ign http://ca.archive.ubuntu.com/ubuntu/ lucid-updates/restricted Translation-en_CA
Hit http://ca.archive.ubuntu.com/ubuntu/ lucid-updates/universe Translation-en_CA
Ign http://ca.archive.ubuntu.com/ubuntu/ lucid-updates/multiverse Translation-en_CA
Get:3 http://security.ubuntu.com lucid-security Release [58.7kB]
Hit http://ca.archive.ubuntu.com lucid Release       
Get:4 http://ca.archive.ubuntu.com lucid-updates Release [185kB]
Get:5 http://security.ubuntu.com lucid-security/main Packages [627kB]          
Hit http://ca.archive.ubuntu.com lucid/main Packages         
Hit http://ca.archive.ubuntu.com lucid/restricted Packages
Hit http://ca.archive.ubuntu.com lucid/main Sources   
Hit http://ca.archive.ubuntu.com lucid/restricted Sources
Hit http://ca.archive.ubuntu.com lucid/universe Packages
Hit http://ca.archive.ubuntu.com lucid/universe Sources
Hit http://ca.archive.ubuntu.com lucid/multiverse Packages
Hit http://ca.archive.ubuntu.com lucid/multiverse Sources
Get:6 http://ca.archive.ubuntu.com lucid-updates/main Packages [811kB]
Get:7 http://security.ubuntu.com lucid-security/restricted Packages [2,843B]   
Get:8 http://security.ubuntu.com lucid-security/main Sources [249kB]           
Get:9 http://ca.archive.ubuntu.com lucid-updates/restricted Packages [4,638B]  
Get:10 http://ca.archive.ubuntu.com lucid-updates/main Sources [340kB]         
Get:11 http://ca.archive.ubuntu.com lucid-updates/restricted Sources [2,210B]  
Get:12 http://ca.archive.ubuntu.com lucid-updates/universe Packages [357kB]    
Get:13 http://security.ubuntu.com lucid-security/restricted Sources [1,281B]  
Get:14 http://security.ubuntu.com lucid-security/universe Packages [221kB]     
Get:15 http://security.ubuntu.com lucid-security/universe Sources [46.7kB]     
Get:16 http://security.ubuntu.com lucid-security/multiverse Packages [5,381B]  
Get:17 http://ca.archive.ubuntu.com lucid-updates/universe Sources [110kB]     
Get:18 http://security.ubuntu.com lucid-security/multiverse Sources [2,361B]   
Get:19 http://ca.archive.ubuntu.com lucid-updates/multiverse Packages [11.5kB]
Get:20 http://ca.archive.ubuntu.com lucid-updates/multiverse Sources [5,829B]  
Fetched 3,042kB in 14s (213kB/s)                                               
Reading package lists... Done
example1@example:~$


#3 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 21 November 2015 - 09:08 PM

Using the instructions in file SHA-512:85acb237955f554c75f65b5866b9a97ff7160073fa51c0e09082a5cd4f24bc378e15b934a097187e6fd3d4b935739ee6f3dafafff5ee5ab09c96bee3d3119dc1 I've setup a local repo equipped with the DEBs required to install VLC. I then disabled all the other repos so they won't interfer. I figure this will be helpful in performing tests, because I can force the creation of various circumstances and see how APT reacts (eg: which codes it spits out).
 



#4 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 21 November 2015 - 09:14 PM

I believe Get means that a package list either isn't present on the system, or is newer than the one present on the system, so it has been downloaded. I want to do some tests to confirm this. If this is correct, then Get should appear when a package list is first downloaded, and when a package list has changed. It shouldn't appear if no package list is present, or if the package list is unchanged.

Test1:
The local repo is setup. VLC isn't installed. All other repos are disabled. "apt-get update" hasn't been run since the changes. I expect when I run "apt-get update" that Get will be displayed.

Output:

example1@example:~$ sudo apt-get update
Ign file: ./ Release.gpg
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Ign file: ./ Release
Ign file: ./ Packages
Ign file: ./ Packages
Reading package lists... Done
example1@example:~$ sudo apt-get update
Ign file: ./ Release.gpg
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Ign file: ./ Release
Ign file: ./ Packages
Ign file: ./ Packages
Reading package lists... Done
example1@example:~$

Okay, so that didn't go as expected. Ign was the code outputted. Same result when command was re-run. To make sure everything was working I installed VLC using the local repo.

Output:
example1@example:~$ sudo apt-get install vlc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  liba52-0.7.4 libass4 libaudio2 libavcodec52 libavformat52 libavutil49
  libcddb2 libdca0 libdvbpsi5 libdvdnav4 libdvdread4 libebml0 libenca0
  libfaad2 libgsm1 libiso9660-7 liblua5.1-0 libmad0 libmatroska0 libmng1
  libmodplug0c2 libmpcdec3 libmpeg2-4 libpostproc51 libqtcore4 libqtgui4
  libschroedinger-1.0-0 libsdl-image1.2 libswscale0 libtar libtwolame0
  libupnp3 libvcdinfo0 libvlc2 libvlccore2 libx264-85 libxcb-keysyms1 vlc-data
  vlc-nox vlc-plugin-pulse
Suggested packages:
  nas libdvdcss2 debhelper qt4-qtconfig mozilla-plugin-vlc videolan-doc
Recommended packages:
  head
The following NEW packages will be installed:
  liba52-0.7.4 libass4 libaudio2 libavcodec52 libavformat52 libavutil49
  libcddb2 libdca0 libdvbpsi5 libdvdnav4 libdvdread4 libebml0 libenca0
  libfaad2 libgsm1 libiso9660-7 liblua5.1-0 libmad0 libmatroska0 libmng1
  libmodplug0c2 libmpcdec3 libmpeg2-4 libpostproc51 libqtcore4 libqtgui4
  libschroedinger-1.0-0 libsdl-image1.2 libswscale0 libtar libtwolame0
  libupnp3 libvcdinfo0 libvlc2 libvlccore2 libx264-85 libxcb-keysyms1 vlc
  vlc-data vlc-nox vlc-plugin-pulse
0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/23.4MB of archives.
After this operation, 69.2MB of additional disk space will be used.
Do you want to continue [Y/n]? y
WARNING: The following packages cannot be authenticated!
  liba52-0.7.4 libaudio2 libavutil49 libgsm1 libschroedinger-1.0-0
  libavcodec52 libavformat52 libcddb2 libdca0 libdvbpsi5 libdvdread4
  libdvdnav4 libebml0 libenca0 libfaad2 libiso9660-7 liblua5.1-0 libmad0
  libmatroska0 libmng1 libmodplug0c2 libmpcdec3 libmpeg2-4 libpostproc51
  libqtcore4 libqtgui4 libsdl-image1.2 libswscale0 libtar libtwolame0
  libvcdinfo0 vlc-data libvlccore2 libvlc2 libass4 libupnp3 libx264-85 vlc-nox
  libxcb-keysyms1 vlc vlc-plugin-pulse
Install these packages without verification [y/N]? y
Extracting templates from packages: 100%
Selecting previously deselected package liba52-0.7.4.
(Reading database ... 123152 files and directories currently installed.)
Unpacking liba52-0.7.4 (from .../liba52-0.7.4_0.7.4-13ubuntu1_amd64.deb) ...
Selecting previously deselected package libaudio2.
Unpacking libaudio2 (from ..././/libaudio2_1.9.2-3_amd64.deb) ...
Selecting previously deselected package libavutil49.
Unpacking libavutil49 (from .../libavutil49_4%3a0.5.9-0ubuntu0.10.04.3_amd64.deb) ...
Selecting previously deselected package libgsm1.
Unpacking libgsm1 (from ..././/libgsm1_1.0.13-3_amd64.deb) ...
Selecting previously deselected package libschroedinger-1.0-0.
Unpacking libschroedinger-1.0-0 (from .../libschroedinger-1.0-0_1.0.9.is.1.0.8-0ubuntu1_amd64.deb) ...
Selecting previously deselected package libavcodec52.
Unpacking libavcodec52 (from .../libavcodec52_4%3a0.5.9-0ubuntu0.10.04.3_amd64.deb) ...
Selecting previously deselected package libavformat52.
Unpacking libavformat52 (from .../libavformat52_4%3a0.5.9-0ubuntu0.10.04.3_amd64.deb) ...
Selecting previously deselected package libcddb2.
Unpacking libcddb2 (from .../libcddb2_1.3.2-0ubuntu1_amd64.deb) ...
Selecting previously deselected package libdca0.
Unpacking libdca0 (from ..././/libdca0_0.0.5-3_amd64.deb) ...
Selecting previously deselected package libdvbpsi5.
Unpacking libdvbpsi5 (from ...//libdvbpsi5_0.1.6-1_amd64.deb) ...
Selecting previously deselected package libdvdread4.
Unpacking libdvdread4 (from .../libdvdread4_4.1.3-8ubuntu1_amd64.deb) ...
Selecting previously deselected package libdvdnav4.
Unpacking libdvdnav4 (from ...//libdvdnav4_4.1.3-6_amd64.deb) ...
Selecting previously deselected package libebml0.
Unpacking libebml0 (from ...//libebml0_0.7.7-3.1_amd64.deb) ...
Selecting previously deselected package libenca0.
Unpacking libenca0 (from ..././/libenca0_1.12-1_amd64.deb) ...
Selecting previously deselected package libfaad2.
Unpacking libfaad2 (from ..././/libfaad2_2.7-4_amd64.deb) ...
Selecting previously deselected package libiso9660-7.
Unpacking libiso9660-7 (from ...//libiso9660-7_0.81-4_amd64.deb) ...
Selecting previously deselected package liblua5.1-0.
Unpacking liblua5.1-0 (from ...//liblua5.1-0_5.1.4-5_amd64.deb) ...
Selecting previously deselected package libmad0.
Unpacking libmad0 (from .../libmad0_0.15.1b-4ubuntu1_amd64.deb) ...
Selecting previously deselected package libmatroska0.
Unpacking libmatroska0 (from .../libmatroska0_0.8.1-1.1_amd64.deb) ...
Selecting previously deselected package libmng1.
Unpacking libmng1 (from .../libmng1_1.0.9-1ubuntu1_amd64.deb) ...
Selecting previously deselected package libmodplug0c2.
Unpacking libmodplug0c2 (from .../libmodplug0c2_1%3a0.8.7-1ubuntu0.3_amd64.deb) ...
Selecting previously deselected package libmpcdec3.
Unpacking libmpcdec3 (from .../libmpcdec3_1%3a1.2.2-2.1ubuntu1_amd64.deb) ...
Selecting previously deselected package libmpeg2-4.
Unpacking libmpeg2-4 (from ...//libmpeg2-4_0.4.1-3_amd64.deb) ...
Selecting previously deselected package libpostproc51.
Unpacking libpostproc51 (from .../libpostproc51_4%3a0.5.9-0ubuntu0.10.04.3_amd64.deb) ...
Selecting previously deselected package libqtcore4.
Unpacking libqtcore4 (from .../libqtcore4_4%3a4.6.2-0ubuntu5.6_amd64.deb) ...
Selecting previously deselected package libqtgui4.
Unpacking libqtgui4 (from .../libqtgui4_4%3a4.6.2-0ubuntu5.6_amd64.deb) ...
Selecting previously deselected package libsdl-image1.2.
Unpacking libsdl-image1.2 (from .../libsdl-image1.2_1.2.10-1_amd64.deb) ...
Selecting previously deselected package libswscale0.
Unpacking libswscale0 (from .../libswscale0_4%3a0.5.9-0ubuntu0.10.04.3_amd64.deb) ...
Selecting previously deselected package libtar.
Unpacking libtar (from ..././/libtar_1.2.11-6_amd64.deb) ...
Selecting previously deselected package libtwolame0.
Unpacking libtwolame0 (from .../libtwolame0_0.3.12-1_amd64.deb) ...
Selecting previously deselected package libvcdinfo0.
Unpacking libvcdinfo0 (from .../libvcdinfo0_0.7.23-4ubuntu2_amd64.deb) ...
Selecting previously deselected package vlc-data.
Unpacking vlc-data (from .../vlc-data_1.0.6-1ubuntu1.8_all.deb) ...
Selecting previously deselected package libvlccore2.
Unpacking libvlccore2 (from .../libvlccore2_1.0.6-1ubuntu1.8_amd64.deb) ...
Selecting previously deselected package libvlc2.
Unpacking libvlc2 (from .../libvlc2_1.0.6-1ubuntu1.8_amd64.deb) ...
Selecting previously deselected package libass4.
Unpacking libass4 (from .../libass4_0.9.9-0ubuntu1_amd64.deb) ...
Selecting previously deselected package libupnp3.
Unpacking libupnp3 (from .../libupnp3_1%3a1.6.6-4ubuntu0.1_amd64.deb) ...
Selecting previously deselected package libx264-85.
Unpacking libx264-85 (from .../libx264-85_2%3a0.85.1448+git1a6d32-4_amd64.deb) ...
Selecting previously deselected package vlc-nox.
Unpacking vlc-nox (from .../vlc-nox_1.0.6-1ubuntu1.8_amd64.deb) ...
Selecting previously deselected package libxcb-keysyms1.
Unpacking libxcb-keysyms1 (from .../libxcb-keysyms1_0.3.6-1build1_amd64.deb) ...
Selecting previously deselected package vlc.
Unpacking vlc (from .../vlc_1.0.6-1ubuntu1.8_amd64.deb) ...
Selecting previously deselected package vlc-plugin-pulse.
Unpacking vlc-plugin-pulse (from .../vlc-plugin-pulse_1.0.6-1ubuntu1.8_amd64.deb) ...
Processing triggers for hicolor-icon-theme ...
Processing triggers for man-db ...
Processing triggers for desktop-file-utils ...
Processing triggers for python-gmenu ...
Rebuilding /usr/share/applications/desktop.en_CA.utf8.cache...
Processing triggers for python-support ...
Setting up liba52-0.7.4 (0.7.4-13ubuntu1) ...

Setting up libaudio2 (1.9.2-3) ...

Setting up libavutil49 (4:0.5.9-0ubuntu0.10.04.3) ...

Setting up libgsm1 (1.0.13-3) ...

Setting up libschroedinger-1.0-0 (1.0.9.is.1.0.8-0ubuntu1) ...

Setting up libavcodec52 (4:0.5.9-0ubuntu0.10.04.3) ...

Setting up libavformat52 (4:0.5.9-0ubuntu0.10.04.3) ...

Setting up libcddb2 (1.3.2-0ubuntu1) ...

Setting up libdca0 (0.0.5-3) ...

Setting up libdvbpsi5 (0.1.6-1) ...

Setting up libdvdread4 (4.1.3-8ubuntu1) ...

Setting up libdvdnav4 (4.1.3-6) ...

Setting up libebml0 (0.7.7-3.1) ...

Setting up libenca0 (1.12-1) ...

Setting up libfaad2 (2.7-4) ...

Setting up libiso9660-7 (0.81-4) ...

Setting up liblua5.1-0 (5.1.4-5) ...

Setting up libmad0 (0.15.1b-4ubuntu1) ...

Setting up libmatroska0 (0.8.1-1.1) ...

Setting up libmng1 (1.0.9-1ubuntu1) ...

Setting up libmodplug0c2 (1:0.8.7-1ubuntu0.3) ...

Setting up libmpcdec3 (1:1.2.2-2.1ubuntu1) ...

Setting up libmpeg2-4 (0.4.1-3) ...

Setting up libpostproc51 (4:0.5.9-0ubuntu0.10.04.3) ...

Setting up libqtcore4 (4:4.6.2-0ubuntu5.6) ...

Setting up libqtgui4 (4:4.6.2-0ubuntu5.6) ...

Setting up libsdl-image1.2 (1.2.10-1) ...

Setting up libswscale0 (4:0.5.9-0ubuntu0.10.04.3) ...

Setting up libtar (1.2.11-6) ...

Setting up libtwolame0 (0.3.12-1) ...

Setting up libvcdinfo0 (0.7.23-4ubuntu2) ...

Setting up vlc-data (1.0.6-1ubuntu1.8) ...
Setting up libvlccore2 (1.0.6-1ubuntu1.8) ...

Setting up libvlc2 (1.0.6-1ubuntu1.8) ...

Setting up libass4 (0.9.9-0ubuntu1) ...

Setting up libupnp3 (1:1.6.6-4ubuntu0.1) ...

Setting up libx264-85 (2:0.85.1448+git1a6d32-4) ...

Setting up vlc-nox (1.0.6-1ubuntu1.8) ...
Setting up libxcb-keysyms1 (0.3.6-1build1) ...

Setting up vlc (1.0.6-1ubuntu1.8) ...

Setting up vlc-plugin-pulse (1.0.6-1ubuntu1.8) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
example1@example:~$

 

Based on this test it would appear that Ign means something other than Ignore, and Get clearly doesn't mean what I thought at all. More testing needs to be done, but it will take some time as Windows 10 is way slower at launching non-default programs than Windows 8 was. Luckily I run most of my stuff in SWV which seems unaffected, unfortunately VMware Workstation Player is not one of those applications and it takes a long time to launch, and each time I close it it gets harder and harder to re-launch it. :( Suppose I deserve as much for running Windows :P.



#5 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 21 November 2015 - 09:26 PM

Maybe Ign doesn't mean ignore? According to Wikipedia Ign can be an abbreviation for the word ignotus which is latin for unknown. According to AcronymFinder it can mean "I got nothing". So perhaps I got Ign because of the type of repo I'm using?

 

According to Tshepang, APT may refuse to perform a check, if it has recently done an update, and therefore output Ign. Before setting up my local repo I had done so. However I don't think in this case that makes any sense, given that I was able to install VLC from a repo that APT wasn't previously aware of, and had no package list for.



#6 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 21 November 2015 - 09:37 PM

example1@example:~$ sudo apt-get update
Ign file: ./ Release.gpg
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Ign file: ./ Release
Ign file: ./ Packages
Ign file: ./ Packages
Reading package lists... Done
Ign http://security.ubuntu.com/ubuntu/ lucid-security/main Translation-en_CA 

The address on each line in my repo are addresses that wouldn't exist. For example I have no Release.gpg file so "I Got Nothing" would make sense her. Since these files aren't required I suppose "Ignore" would also make sense. Perhaps Ign does mean Ignore, and indicates that a file isn't present in a repo, but because it's not a required file this has been ignored, rather than aborting, or outputting an error? Not sure how to test for this, but this inidicates the same.


Edited by hollowface, 21 November 2015 - 09:45 PM.


#7 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 22 November 2015 - 01:25 AM

Test2:
For this test what I've done is created a gpg key for my repo using the instructions from SHA-512:990f42ea6467d92958c05cbcfde5aa79b35827fbee2571150450c52cd8ebf6d72f344b056bf76b04f86513c1b5e7933b71fe136aedc57f3633b23b7ced0f9591 This way I can see if I still get "Ign file: ./ Release.gpg" in the output. If I don't it will help confirm that Ign means an unrequired file isn't present in the repo.

Output:

example1@example:~$ sudo apt-get update
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Get:1 file: ./ Release.gpg [3,076B]
Ign file: ./ Release            
Ign file: ./ Packages
Ign file: ./ Packages
Reading package lists... Done
example1@example:~$ sudo apt-get install --reinstall vlc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0B/1,612kB of archives.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]? y
WARNING: The following packages cannot be authenticated!
  vlc
Install these packages without verification [y/N]? y
(Reading database ... 124238 files and directories currently installed.)
Preparing to replace vlc 1.0.6-1ubuntu1.8 (using .../vlc_1.0.6-1ubuntu1.8_amd64.deb) ...
Unpacking replacement vlc ...
Processing triggers for man-db ...
Processing triggers for desktop-file-utils ...
Processing triggers for python-gmenu ...
Rebuilding /usr/share/applications/desktop.en_CA.utf8.cache...
Processing triggers for python-support ...
Setting up vlc (1.0.6-1ubuntu1.8) ...

example1@example:~$

Awesome. It worked. So Ign will occur if an unrequired file isn't present. It's possible there may be other senarios that could trigger an Ign code too though.

#8 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 22 November 2015 - 02:09 AM

update is used to resynchronize the package index files from their sources.
-REF:http://manpages.ubuntu.com/manpages/utopic/man8/apt-get.8.html

This suggests there is, or can be more than 1 file that APT needs to retrieve per repo when running "apt-get update". The package list is the obvious one, but based on my previously discussed terminal outputs I suspect "Translation-en_CA", "Release.gpg", and "Release" are the others that APT looks for. According to this, it sounds like a "Contents" index file could also be present, and that "Translation-en_CA" is dependent on the system locale.

 


InRelease files are signed in-line while Release files should have an accompanying Release.gpg file.

-REF:https://wiki.debian.org/RepositoryFormat


The file "dists/$DIST/InRelease" shall contain meta-information about the distribution and checksums for the indices

-REF:https://wiki.debian.org/RepositoryFormat

Indices is the plural of index. So the Release (or InRelease) file contains information about the index files.

 


A Translation index is like a Packages index

-REF:https://wiki.debian.org/RepositoryFormat

apt ignores uncompressed  Packages  files  except  on  local  access  (i.e. file:// sources).
-REF:http://manpages.ubuntu.com/manpages/natty/man1/dpkg-scanpackages.1.html

This is a bit confusing. I have a package list, so why am I still getting Ign messages about it? I tried ungzipping the Packages.gz file to rule out the issue being that it's compressed in a gzip archive, and my repo still worked, but I also still got the Ign code for Packages. More importantly, why does it come up twice (same with previous outputs)? Output is below.

Output:
example1@example:~$ sudo mv /etc/localrepositories/repository1/Packages.gz /home/example1/Packages.gz
[sudo] password for example1:
example1@example:~$ sudo mv /home/example1/Packages /etc/localrepositories/repository1/Packages
example1@example:~$ sudo apt-get update
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Get:1 file: ./ Release.gpg [3,076B]
Ign file: ./ Release            
Ign file: ./ Packages
Ign file: ./ Packages
Reading package lists... Done
example1@example:~$ sudo apt-get install --reinstall vlc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0B/1,612kB of archives.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]? y
WARNING: The following packages cannot be authenticated!
  vlc
Install these packages without verification [y/N]? y
(Reading database ... 124238 files and directories currently installed.)
Preparing to replace vlc 1.0.6-1ubuntu1.8 (using .../vlc_1.0.6-1ubuntu1.8_amd64.deb) ...
Unpacking replacement vlc ...
Processing triggers for man-db ...
Processing triggers for desktop-file-utils ...
Processing triggers for python-gmenu ...
Rebuilding /usr/share/applications/desktop.en_CA.utf8.cache...
Processing triggers for python-support ...
Setting up vlc (1.0.6-1ubuntu1.8) ...

example1@example:~$

The other weird thing is that I still get a Get code for the GPG key everytime I run apt-get update, but the key file hasn't changed.

 

To summarize this thread so far. Lots of good information has been brought up, but Ign, Hit, and Get are getting less clear by the minute.



#9 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 22 November 2015 - 03:40 PM

I created a fake "Release" file using Nano, and ran "apt-get update" to see if I'd still get an Ign code for it.

 

Output:

example1@example:~$ sudo nano /etc/localrepositories/repository1/Release
example1@example:~$ sudo apt-get update
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Get:1 file: ./ Release.gpg [3,076B]
Get:2 file: ./ Release [5B]     
Ign file: ./ Release   
Ign file: ./ Packages  
Ign file: ./ Packages
Reading package lists... Done
W: GPG error: file: ./ Release: Unknown error executing gpgv
example1@example:~$ sudo apt-get update
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Get:1 file: ./ Release.gpg [3,076B]
Get:2 file: ./ Release [5B]     
Ign file: ./ Release      
Ign file: ./ Packages  
Ign file: ./ Packages
Reading package lists... Done
W: GPG error: file: ./ Release: Unknown error executing gpgv
example1@example:~$ sudo rm /etc/localrepositories/repository1/Release
example1@example:~$

I've now removed the fake Release file since it's no longer needed.

 

Based on the tests so far it seems that:

1. "Ign" means "I Got Nothing", and results from an index file being absent in a repo, preventing it from being downloaded.

(But if this is true, it's unclear why I'm getting this code for my Package list, which is present, and working.)

2. "Get" means "Getting", and results from an index file present in the repo needing to be downloaded.

(It's still unclear under what circumstances an index file must be downloaded, because I seem to get a Get code everytime.)

3. "Hit" means ???

(I haven't be able to cause a Hit code yet using my local repository.)



#10 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 22 November 2015 - 04:07 PM

I've been reading lots of other postings on various sites where people are asking about these codes. Most end with something like "I don't know, but here's what I think", or just have a copy/paste of what was said on another site. I stumbled upon http://bandshed.net/forum/index.php?topic=3367.0 which reminded me that there is also an "Err" code to consider in all of this.



#11 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 22 November 2015 - 04:24 PM

After reading this posting, I decided to try to cause an "Err" code. I deleted my "Packages.gz" (the package list), ran "sudo apt-get update", deleted my "Release.gpg" file, and re-ran "sudo apt-get update".

 

Output:

example1@example:~$ sudo rm /etc/localrepositories/repository1/Packages.gz
[sudo] password for example1:
example1@example:~$ sudo apt-get update
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Get:1 file: ./ Release.gpg [3,076B]
Ign file: ./ Release            
Ign file: ./ Packages
Ign file: ./ Packages
Err file: ./ Packages
  File not found
W: Failed to fetch file:/etc/localrepositories/repository1/./Packages.gz  File not found

E: Some index files failed to download, they have been ignored, or old ones used instead.
example1@example:~$ sudo rm /etc/localrepositories/repository1/Release.gpg
example1@example:~$ sudo apt-get update
Ign file: ./ Release.gpg
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Ign file: ./ Release
Ign file: ./ Packages
Ign file: ./ Packages
Err file: ./ Packages
  File not found
W: Failed to fetch file:/etc/localrepositories/repository1/./Packages.gz  File not found

E: Some index files failed to download, they have been ignored, or old ones used instead.
example1@example:~$

 

As can be seen in the output, I was able to trigger an "Err" code for my package list, but not for my "Release.gpg" file.

 

Based on tests so far it seems:

1. "Ign" means "I Got Nothing", and results from an unrequired index file being absent in a repo, preventing it from being downloaded.

(But if this is true, it's unclear why I'm getting this code for my Package list, which is present, and working.)

2. "Get" means "Getting", and results from an index file present in the repo needing to be downloaded.

(It's still unclear under what circumstances an index file must be downloaded, because I seem to get a Get code everytime.)

3. "Hit" means ???

(I haven't be able to cause a Hit code yet using my local repository.)

4. "Err" means "Error", and results from a required index file being absent from the repo, and therefore undownloadable.

(It seems "Packages.gz", the package list, is the only required index file.)

 

Another interesting thing to take note of from this most recent test is that there are now 3 Package list lines instead of only 2.

Ign file: ./ Packages
Ign file: ./ Packages
Err file: ./ Packages

The first two still get "Ign", but the 3rd gets an "Err" code.



#12 NickAu

NickAu

    Bleepin' Fish Doctor


  • Moderator
  • 13,397 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:127.0.0.1 Australia

Posted 22 November 2015 - 04:35 PM

Got no idea, following.



#13 Guest_hollowface_*

Guest_hollowface_*

  • Guests
  • OFFLINE
  •  

Posted 22 November 2015 - 05:21 PM

I re-added my "Package.gz" and "Release.gpg" files, and re-ran "sudo apt-get update". I re-enabled the default Ubuntu repos, and then download and installed Leafpad. Then I re-disabled the default repos, and re-ran "sudo apt-get update". Then I added the Leafpad DEBs to a new second local repo, and generated a package list. I added the new repo to my sources.list, and then I re-ran "sudo apt-get update". This wasn't intended to be a test, I just wanted to create a second repo for use in tests to come, but I decided to make this post discussing it because I noticed something.

Output:

example1@example:~$ sudo apt-get update
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Ign file: ./ Release.gpg
Ign file:/etc/localrepositories/repository2/ ./ Translation-en_CA
Ign file: ./ Release
Ign file: ./ Packages
Ign file: ./ Packages
Get:1 file: ./ Release.gpg [3,076B]
Ign file: ./ Release
Ign file: ./ Packages
Ign file: ./ Packages
Reading package lists... Done
example1@example:~$

I then duplicated repo 1 to a new repo, repo 3, updated it's package list, and ran "sudo apt-get update".

Output:
example1@example:~$ sudo apt-get update
Ign file:/etc/localrepositories/repository1/ ./ Translation-en_CA
Ign file: ./ Release.gpg
Ign file:/etc/localrepositories/repository2/ ./ Translation-en_CA
Ign file:/etc/localrepositories/repository3/ ./ Translation-en_CA
Ign file: ./ Release
Ign file: ./ Packages
Ign file: ./ Packages
Get:1 file: ./ Release.gpg [3,076B]
Ign file: ./ Release            
Ign file: ./ Packages
Ign file: ./ Packages
Get:2 file: ./ Release.gpg [3,076B]
Ign file: ./ Release            
Ign file: ./ Packages
Ign file: ./ Packages
Reading package lists... Done
example1@example:~$

As mentioned, I was setting these up for future tests, this itself wasn't intended to be a test, but I noticed in my outputs that APT doesn't output it's messages in order. I can't see any sense to it. In my sources list my repos are added in numberical order at the end of the file.

#14 nuna

nuna

  • Members
  • 155 posts
  • OFFLINE
  •  
  • Gender:Not Telling

Posted 28 November 2015 - 04:37 PM

Interesting thread.  :thumbup2: 
To give some light or throw more shadows here are some excerpts/conclusions from the source code and different manuals.
 
"Get:"

The lines starting with Get are printed out when APT begins to fetch a file


"Hit "

hit: i.e., it has not changed since the last time it was downloaded.


"Ign "

Ignore certain kinds of transient failures (bad code)


 
Acquire Text Status:
  • MediaChange
    • Media need to be swapped
  • IMSHit (If-Modified-Since checking for index files)
    • Called when an item got a HIT response.
    • The already existing item is valid.
    • The file has not changed.
    • Invoked when an item is confirmed to be up-to-date. For instance, when an HTTP download is informed that the file on the server was not modified.
    • Hide 'hits' for local only sources - we also manage to hide gets.
  • Fetch (Get)
    • Invoked when some of an item's data is fetched.
    • An item has started to download.
    • The item is currently being downloaded.
  • Done
    • Invoked when an item is successfully and completely fetched.
    • Completed a download. We don't display anything...
    • The item has been successfully downloaded.
    • Done is often used to switch from one stage of the processing to the next (e.g. fetching, unpacking, copying). It is one branch of the continuation of the fetch process.
  • Fail (Ign, Err)
    • Called when an item fails to download. We print out the error text.
    • Idle
      • The item is waiting to be downloaded.
      • Ign - Ignore certain kinds of transient failures (bad code).
    • Fail
      • Invoked when the process of fetching an item encounters a fatal error.
      • A fetch has failed. Undetermined Error.
    • Error
      • An error was encountered while downloading this item.
    • AuthError
      • The item was downloaded but its authenticity could not be verified.
    • TransientNetworkError
      • The item could not be downloaded because of a transient network error (e.g. network down)
 

rNa35eU.png


 
Translation Files
  • The Translation file is added to the queue. Silence failure messages for missing files.
  • class pkgAcqIndexTrans - is responsible for fetching a translated index file. The only difference from pkgAcqIndex is that transient failures are suppressed: no error occurs if the translated index file is missing.
Acquire MetaSig
  • File was already in place. It needs to be re-downloaded/verified because Release might have changed, we do give it a different name than DestFile because otherwise the http method will send If-Range requests and there are too many broken servers out there that do not understand them.
Acquire MetaIndex
  • MetaIndexes are done in two passes: one to download the metaindex with an appropriate method, and a second to verify it with the gpgv method.
 
Sources:
debian reference
debian apt guide
debian aptitude manual
APT Method Interface
apt-private/acqprogress.h
apt-private/acqprogress.cc
apt-pkg/acquire-item.h
apt-pkg/acquire-item.cc
apt-pkg/acquire.h
apt-pkg/acquire-method.cc
apt-pkg/acquire-worker.cc
methods/server.h
methods/server.cc




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users