[SOLVED]Pacman systemd missing file

Everytime when I run pacman I get this error:
error: could not open file /var/lib/pacman/local/systemd-217-8/desc: No such file or directory
I think i messed up something when upgrading system.
Can you help me to solve this issue?
Thanks
Last edited by Arch3R (2014-11-29 19:14:08)

Just reinstall systemd:
pacman -S systemd
select yes if it prompts due to it already being installed.
You might also want to run `pacman -Qk` to see if any other packages have been damaged.
EDIT: I just did some silly trial and error and deleted that file from my system (probably would have been smarter to move/rename it).  Reinstalling systemd failed due to a conflicting file error as all the files for the package are there, but the pacman database doesn't realize they belong to that package.  In this case I used --force with the single specific package:
pacman -S --force systemd
Note that this use of --force is an apparent necessity to fix this specific problem.  This does not support using it when uncertain why something fails - I knew why it was failing.
Last edited by Trilby (2014-11-29 19:01:55)

Similar Messages

  • [solved] writing systemd service file to run script

    i have completely migrated to systemd. now, i am trying to write a service file to run a startup script (~/.startup.sh). one of the functions of the script is to set the brightness of the screen:
    echo "95" > /sys/class/backlight/intel_backlight/brightness
    i created /etc/systemd/system/startup.service:
    [Unit]
    Description=Run startup script
    [Service]
    Type=oneshot
    ExecStart=~/.startup.sh
    [Install]
    WantedBy=multi-user.target
    but i get the following error:
    Failed to issue method call: Unit startup.service failed to load: Invalid argument. See system logs and 'systemctl status startup.service' for details.
    i have two questions:
    1. what am i missing?
    2. how can i avoid permission issues associated with modifying the brightness file (e.g., permission denied errors, the need to put in the password, etc.)?
    thanks.
    Last edited by anti-destin (2012-08-01 22:26:04)

    thanks for the replies.
    just a note: using an absolute path didn't fix the issue.
    but i went ahead and created the file /etc/tmpfiles.d/backlight.conf:
    w /sys/class/backlight/intel_backlight/brightness - - - - 95
    and that worked.
    is there a reason for recommending using a tmpfile rather than a service?
    in any case, i'm marking this as solved.

  • [SOLVED] Pacman failed retrieving file 'core.db' after removing KDE

    Hey, I had to remove KDE and foolishly used the -Rsc flag. Now, trying to update yields:
    [root@Gal-PC2 gal]# pacman -Sy
    :: Synchronizing package databases...
    error: failed retrieving file 'core.db' from mirror.isoc.org.il : Resolving timed out after 10524 milliseconds
    error: failed retrieving file 'core.db' from mirror.us.leaseweb.net : Resolving timed out after 10523 milliseconds
    I tryed using the -Sy and -Syy flags to update the database, and made sure I am not using ipv6. I think the -Rsc flag might deleted an importent package. I can connect to the net, and I can acess mirrors using http and I can ping the mirrors. The error persists on a large number of mirrors. Any help will be appriciated.
    Last edited by Greenstuff (2015-02-08 20:49:24)

    Sorry, will do!
    The debug printed a lot of the first errors, so I cut them. This is what pacman --Syu --debug show:
    debug: adding new server URL to database 'multilib': [url]http://ftp.nluug.nl/pub/os/Linux/distr/archlinux/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://ftp.ds.hj.se/pub/os/linux/archlinux/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://ftp.uni-kl.de/pub/linux/archlinux/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://ftp.tu-chemnitz.de/pub/linux/archlinux/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://mirror.lnx.sk/pub/linux/archlinux/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://mirrors.st.uz/archlinux/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://mirrors.mithril.org.ua/linux/archlinux/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://ftp.uni-bayreuth.de/linux/archlinux/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://artfiles.org/archlinux.org/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://repo.ukdw.ac.id/archlinux/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://linux.cs.nctu.edu.tw/archlinux/multilib/os/x86_64[/url]
    debug: adding new server URL to database 'multilib': [url]http://ftp.kaist.ac.kr/ArchLinux/multilib/os/x86_64[/url]
    debug: config: new section '(null)'
    debug: config: finished parsing /etc/pacman.conf
    :: Synchronizing package databases...
    debug: url: [url]http://mirror.isoc.org.il/pub/archlinux/core/os/x86_64/core.db[/url]
    debug: maxsize: 26214400
    debug: using time condition: 1422991262
    debug: opened tempfile for download: /var/lib/pacman/sync/core.db.part (wb)
    debug: curl returned error 28 from transfer
    error: failed retrieving file 'core.db' from mirror.isoc.org.il : Resolving timed out after 10523 milliseconds
    debug: url: [url]http://mirror.us.leaseweb.net/archlinux/core/os/x86_64/core.db[/url]
    debug: maxsize: 26214400
    debug: using time condition: 1422991262
    debug: opened tempfile for download: /var/lib/pacman/sync/core.db.part (wb)
    EDIT: SOLVED!
    Ok, so I did indeed disable ipv6 as I promised, but turns out I put in the GRUB kernel line "ipv6.disable_ipv6=1". Upon re-reading the wiki, turns out this means ipv6 is disabled but tunnels with ipv6 may be opened by programs. I changed to "ipv6.disable=1" and pacman updates away! I hope others will find this usefull. Be careful!
    Last edited by Greenstuff (2015-02-08 20:52:45)

  • [solved] Writing systemd service file - forking no pidfile

    Hey all,
    I am trying to write .service files for TORQUE, but am having some difficulty and quite can't understand the docs.  Here's what I have so far for the server
    [Unit]
    Description=TORQUE server
    Wants=basic.target
    After=basic.target network.target
    [Service]
    Type=forking
    PIDFile=/run/torque-server.pid
    ExecStart=/usr/sbin/pbs_server
    [Install]
    WantedBy=multi-user.target
    The problem I'm having is with the PIDFile - pbs_server doesn't provide an option (as far as I can see) to specify a pid file... is this something that systemd can generate on its own, or what's the normal solution here?
    Without the PIDFile specified systemctl start returns immediately and no process exists, with the PIDFile systemctl start stalls for a while and then has an error saying it couldn't find the pid file (surprise), but pbs_server is left running.
    Thanks for any help
    Last edited by dandaman0061 (2012-12-13 19:58:36)

    Nevermind - it appears that pbs_server creates a pid file at $TORQUE_HOME/server_priv/server.lock where using torque from the AUR is /var/spool/torque
    Chaging the pidfile setting in the service file to this now works.

  • [Solved] Overriding systemd Unit Files Isn't Working

    I'm trying to set up some custom dependencies for various services, some of which are supported packages, some are custom packages I've developed. I am running into problems following the procedure described here - specifically, service files in /etc/systemd/system are ignored, and the only way to override them is to edit the files in /usr/lib/systemd/system. I have verified this issue on both a VPS instance and my desktop. Both systems were originally built well before systemd and have been converted to pure systemd systems. Does anyone else see these issues, or know of any reason this would be happening and/or how to resolve it?
    Steps to reproduce. This example uses httpd and mysql, but I've tested it with several other services, always with the same results:
    Enable the service unit and create a new override:
    systemctl enable httpd.service
    rm /etc/systemd/system/multi-user.target.wants/httpd.service
    cp /usr/lib/systemd/system/httpd.service /etc/systemd/system/multi-user.target.wants/httpd.service
    Edit /etc/systemd/system/multi-user.target.wants/httpd.service, adding a line 'Wants=mysqld.service' to the [Unit] section.
    Make systemd changes effective, and verify them. The first command results in an error that says "Failed to issue method call: Invalid argument". The final command will show an empty list  ("Wants="), when it should list mysqld. Running systemd-delta also shows no override.
    systemctl reenable httpd
    systemctl daemon-reload
    systemctl show -p "Wants" httpd.service
    Change the replacement unit file to .include the packaged unit file:
    cat > /etc/systemd/system/multi-user.target.wants/httpd.service << __EOF
    .include /usr/lib/systemd/system/httpd.service
    [Unit]
    Wants=mysqld.service
    __EOF
    Repeat step #3, with the same results
    Reenable the package's unit:
    rm /etc/systemd/system/multi-user.target.wants/httpd.service
    systemctl enable httpd.service
    Edit the original unit file in /usr/lib/systemd/system/httpd.service, adding the 'Wants=myslqd.service' to the Unit section
    Repeat step 3
    Result is the correct and expected one this time ("Wants=myslqd.service")
    Last edited by dwheeler (2012-11-14 19:53:10)

    Well...
    I'm still having problems with .service custom files!
    I want to customize the ExecStart from original cronie.service file, like this:
    # cat /etc/systemd/system/cronie.service                                                                                         
    .include /usr/lib/systemd/system/cronie.service                                                                                               
    [Service]                                                                                                                                     
    ExecStart=/usr/sbin/crond -n -s -m off
    ==============================
    # systemctl restart cronie.service                                                       
    Failed to issue method call: Unit cronie.service failed to load: Invalid argument. See system logs and 'systemctl status cronie.service' for details.
    ==============================
    # systemd-delta                                                                                             
    [OVERRIDDEN] /etc/systemd/system/cronie.service → /usr/lib/systemd/system/cronie.service
    --- /usr/lib/systemd/system/cronie.service      2012-11-22 20:04:00.000000000 -0200
    +++ /etc/systemd/system/cronie.service  2012-11-27 16:09:49.944085437 -0200
    @@ -1,10 +1,3 @@
    -[Unit]
    -Description=Periodic Command Scheduler
    +.include /usr/lib/systemd/system/cronie.service
    [Service]
    -ExecStart=/usr/sbin/crond -n
    -ExecReload=/bin/kill -HUP $MAINPID
    -Restart=always
    -[Install]
    -WantedBy=multi-user.target
    +ExecStart=/usr/sbin/crond -n -s -m off
    ==============================
    # systemctl status cronie.service
    cronie.service - Periodic Command Scheduler                                                                                                   
              Loaded: error (Reason: Invalid argument)
              Active: inactive (dead)
              CGroup: name=systemd:/system/cronie.service
    Nov 27 13:52:59 xpto systemd[1]: Starting Periodic Command Scheduler...
    Nov 27 13:52:59 xpto systemd[1]: Started Periodic Command Scheduler.
    Nov 27 13:52:59 xpto /usr/sbin/crond[309]: (CRON) INFO (running with inotify support)
    Nov 27 14:01:01 xpto /usr/sbin/crond[8216]: pam_unix(crond:session): session opened for user root by (uid=0)
    Nov 27 14:01:01 xpto /USR/SBIN/CROND[8217]: (root) CMD (run-parts /etc/cron.hourly)
    ==============================
    What am I doing wrong?
    Thanks in advance.

  • [SOLVED] Pacman "config file could not be read" error during Arch ins

    I've been attempting to get Arch setup for a while now, and after having some trouble with partitions, my wireless connecting, and setting up repos and mirrors, which the Wiki helped me solve, I've hit a bigger bump.  While updating the system using pacman as the Beginners Guide says to do, I get errors when I try to continue the update process as follows :
    btw: I'm typing this on a laptop next to my computer
    [root@McArch~]# pacman -Syu
    error: config file /etc/pacman.d/core could not be read
    error: config file /etc/pacman.d/extra could not be read
    error: config file /etc/pacman.d/community could not be read
    :: Synchronizing package databases . . .
    error: failed to updated core (unexpected error)
    error: failed to updated extra (unexpected error)
    error: failed to updated community (unexpected error)
    error: failed to synchronize any databases
    Any tips as to whats going on?  I've tried to created said files, and even insert mirrors into the file, like in the /etc/pacman.d/mirrorlist file but this doesn't seem to help
    Last edited by Windfinder (2008-09-29 20:43:29)

    Glad you got it working.
    I'm not sure what happened in your install but I just finished using an old 2007.08 iso and pacman first starts out with /etc/pacman.d/core, etc/pacman.d/extra, /etc/pacman.d/community ... etc., but I never had your problem when I did the #pacman -Syu after initial install reboot.  The pacman update removes the above mentioned repos and replaces them with a single /etc/pacman.d/mirrorlist.  You must have messed up an initial config file somehow as I couldn't get the same errors you got.  It looks like you had your /etc/pacman.conf file messed up somehow and when you pointed it to the mirrorlist it could finally work properly.  I'll just include my /etc/pacman.conf file and /etc/pacman.d/mirrorlist so you can compare.  NB*  these are from my x86_64 so for 32 bit machines i686 would replace x86_64 in the files.
    # /etc/pacman.conf
    # See the pacman.conf(5) manpage for option and repository directives
    # GENERAL OPTIONS
    [options]
    # The following paths are commented out with their default values listed.
    # If you wish to use different paths, uncomment and update the paths.
    #RootDir = /
    #DBPath = /var/lib/pacman/
    #CacheDir = /var/cache/pacman/pkg/
    #LogFile = /var/log/pacman.log
    HoldPkg = pacman glibc
    # If upgrades are available for these packages they will be asked for first
    SyncFirst = pacman
    #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
    #XferCommand = /usr/bin/curl %u > %o
    # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
    #IgnorePkg =
    #IgnoreGroup =
    #NoUpgrade =
    #NoExtract =
    # Misc options (all disabled by default)
    #NoPassiveFtp
    #UseSyslog
    #ShowSize
    #UseDelta
    #TotalDownload
    # REPOSITORIES
    # - can be defined here or included from another file
    # - pacman will search repositories in the order defined here
    # - local/custom mirrors can be added here or in separate files
    # - repositories listed first will take precedence when packages
    # have identical names, regardless of version number
    # - URLs will have $repo replaced by the name of the current repo
    # Repository entries are of the format:
    # [repo-name]
    # Server = ServerName
    # Include = IncludePath
    # The header [repo-name] is crucial - it must be present and
    # uncommented to enable the repo.
    # Testing is disabled by default. To enable, uncomment the following
    # two lines. You can add preferred servers immediately after the header,
    # and they will be used before the default mirrors.
    #[testing]
    #Include = /etc/pacman.d/mirrorlist
    [core]
    # Add your preferred servers here, they will be used first
    Include = /etc/pacman.d/mirrorlist
    [extra]
    # Add your preferred servers here, they will be used first
    Include = /etc/pacman.d/mirrorlist
    [community]
    # Add your preferred servers here, they will be used first
    Include = /etc/pacman.d/mirrorlist
    # An example of a custom package repository. See the pacman manpage for
    # tips on creating your own repositories.
    #[custom]
    #Server = file:///home/custompkgs
    /etc/pacman.d/mirrorlist
    # Arch Linux repository mirrorlist
    # North America
    # - United States
    Server = http://mirror.neotuli.net/arch/$repo/os/x86_64
    Server = http://holmes.umflint.edu/archlinux/$repo/os/x86_64
    Server = http://archlinux.unixheads.org/$repo/os/x86_64
    Server = ftp://ftp.archlinux.org/$repo/os/x86_64
    Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/x86_64
    Server = ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/x86_64
    Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/x86_64
    Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/x86_64
    Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/x86_64
    Server = http://mirror.rit.edu/archlinux/$repo/os/x86_64
    Server = http://mirror.umoss.org/archlinux/$repo/os/x86_64
    # - Canada
    Server = ftp://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/@carch
    Well it was an interesting way to kill 30+ minutes.

  • [solved] systemd service files don't allow quotes

    Why is it not possible to use quotes in
    ExecStart=
    section of systemd service files?
    For example, I can't use service file like this
    [Unit]
    Description=Pacman mirrorlist update
    [Service]
    Type=oneshot
    ExecStart=wget -O /etc/pacman.d/mirrorlist.backup "https://www.archlinux.org/mirrorlist/?country=DE&country=NL&country=PL&protocol=http&ip_version=4" && cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist && reflector --verbose -l 50 -p http --sort rate --save /etc/pacman.d/mirrorlist
    because systemd will not run it because of presence of quotes:
    Feb 26 08:48:36 nanoBox systemd[1]: [/etc/systemd/system/reflector.service:7] Executable path is not absolute, ignoring: wget -O /etc/pacman.d/mirrorlist.backup "URL=http...
    Feb 26 08:48:36 nanoBox systemd[1]: reflector.service lacks both ExecStart= and ExecStop= setting. Refusing.
    I can remove quotes and then the service will run, but the URL parsed to the command will be cut in half, ie it will stop on the first "&" sign and only DE mirrors will be probed.
    Is there some way around it other than creating a separate executable file and calling it from the service? I don't want to multiply unnecessary files if there's way around it.
    Last edited by Lockheed (2015-02-26 09:37:25)

    Lockheed wrote:
    Raynman wrote:"from command line" is you feeding a (command) string to a shell. Your assumption is that systemd will treat whatever you put in ExecStart exactly the same as your shell would.
    Not "is" but "was". Disappearance of that assumption was precisely the reason of starting this thread.
    I had to read this a few times, but I think you mean it as follows. You assumed you could copy from the shell to the service file and it would work the same way. Then you got an error (about the abolute path) so that assumption "disappeared". So far so good. But you didn't exactly figure out what was different, you formed a new assumption and based your thread on that:
    "systemd service files don't allow quotes" (title)
    "Why is it not possible to use quotes in ExecStart= section of systemd service files"
    "because systemd will not run it because of presence of quotes:"
    Like frank604 says, quotes were never the issue (in fact, they are one of the few things with special meaning for both the shell and systemd), yet you still seem to think they were:
    Lockheed wrote wrote:The actual wrong assumption on my part was that this command would run without quotes as service. It does not.
    It is a shame you only quote the first part of my last reply and ignore the questions in the second part. You did almost the same thing with my reply before that and I suspect you also didn't read the man page I mentioned the first time. You basically give me the impression that you think you have it all figured out (even though you come here looking for help) and my follow-up questions aren't worth your time. That usually makes me "move along" pretty quickly, but I'm trying one last time, because even though "The service now works", I'd like to see that you actually understand why it didn't work before.
    The only thing you really answered was "Changing paths to absolute made no difference.", but that shouldn't be, so when you mentioned empirical evidence, I basically repeated the question asking for some of this evidence (as in exact error messages for one or more modified ExecStart lines).
    When I take your service file and give wget an absolute path, systemd happily executes wget, but then wget complains because it gets "&&" and "cp" and "--save" etc. as arguments. Those errors are what I see in systemctl status/journal, no longer anything about an absolute path. This is because "&&" has no special meaning. You can use semicolons (";") to separate commands instead (explained in the man page section on command lines) or multiple ExecStart lines like frank604 used (which is cleaner IMO).

  • [SOLVED] pacman replies - No such file

    i cant install amarok right now.
    pacman -S amarok
    No such file “amarok-2.4.1-1-x86_64.pkg.tar.xz”.
    warning: failed to retrieve some files from extra
    error: failed to commit transaction (error invoking external downloader)
    Errors occurred, no packages were upgraded.
    i have tried various transfer commands as well in the pacman.conf
    #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
    #MY EDIT
    #XferCommand = /usr/bin/wget -c --passive-ftp -c %u
    #XferCommand = /usr/bin/curl %u > %o
    i tried about 15 different mirrors as well. 
    what am i doing wrong?
    Last edited by wolfdogg (2011-07-05 23:04:17)

    thank you for the replies.
    falconindy wrote:If you switch mirrors, you need to forcefully update your sync DBs with 'pacman -Syy'. Failing to do this will lead to attempts to download the same missing files.
    your right, thanks its working now! i forgot about this, (to re sync pacman -Syy after switching mirrors)
    first i received a message that the file doesnt exist, thats understandable if its using the old pacman database before the -Syy resync
    Connecting to mirror.rit.edu|129.21.171.98|:21... connected.
    Logging in as anonymous ... Logged in!
    ==> SYST ... done.    ==> PWD ... done.
    ==> TYPE I ... done.  ==> CWD (1) /archlinux/extra/os/x86_64 ... done.
    ==> SIZE amarok-2.4.1-1-x86_64.pkg.tar.xz ... done.
    ==> PASV ... done.    ==> RETR amarok-2.4.1-1-x86_64.pkg.tar.xz ...
    No such file “amarok-2.4.1-1-x86_64.pkg.tar.xz”.
    why is it if i switch mirrors, even though i can see the machine its connecting to is the new mirror, the file isnt found, it must be because the old database list from the old mirror tells it that it doesnt exist, so it doesnt even bother looking right? 
    but for some reason the next time i tried i got a 404 error, which is confusing to me because when you see a 404, that means that the server responded that the file doesnt exist.  i think this is the one i was going off off to make my assumption.  i didnt notice the first one until i detailed this out.  i only noticed the 404.
    Connecting to mirrors.kernel.org|149.20.20.135|:80... connected.
    HTTP request sent, awaiting response... 404 Not Found
    2011-07-02 13:20:52 ERROR 404: Not Found.
    Last edited by wolfdogg (2011-07-02 20:51:23)

  • [SOLVED] Trying to write HLDS systemd service file

    Hey,
    I want to write a systemd service file for my HLDS AUR package: https://aur.archlinux.org/packages/hlds/
    My environment file looks like this:
    HLDS_USER=root
    HLDS_WORKINGDIR=/opt/hlds
    HLDS_PARAMS="-game cstrike"
    HLDS_LOGFILE=/var/log/hlds_cstrike
    The service file like this:
    After=network.target
    [Service]
    #EnvironmentFile=/etc/conf.d/hlds
    #User=${HLDS_USER}
    #WorkingDirectory=${HLDS_WORKINGDIR}
    ExecStart=/opt/hlds/hlds_run -game cstrike
    ExecStop=/bin/kill $MAINPID
    [Install]
    WantedBy=multi-user.target
    But systemd fails to start the service:
    hlds.service - Half-Life Dedicated Server
              Loaded: loaded (/usr/lib/systemd/system/hlds.service; disabled)
              Active: failed (Result: exit-code) since Thu, 2013-01-03 06:20:49 CET; 2s ago
             Process: 567 ExecStop=/bin/kill $MAINPID (code=exited, status=1/FAILURE)
             Process: 564 ExecStart=/opt/hlds/hlds_run -game cstrike (code=killed, signal=INT)
              CGroup: name=systemd:/system/hlds.service
    Jan 03 06:20:49 playground systemd[1]: Starting Half-Life Dedicated Server...
    Jan 03 06:20:49 playground systemd[1]: Started Half-Life Dedicated Server.
    Jan 03 06:20:49 playground hlds_run[564]: Invalid game type 'cstrike' sepecified.
    Jan 03 06:20:49 playground hlds_run[564]: Thu Jan  3 06:20:49 CET 2013: Server Failed
    Jan 03 06:20:49 playground kill[567]: usage: kill [ -s signal | -p ] [ -a ] pid ...
    Jan 03 06:20:49 playground kill[567]: kill -l [ signal ]
    Jan 03 06:20:49 playground systemd[1]: Unit hlds.service entered failed state
    Running
    /opt/hlds/hlds_run -game cstrike
    manually works quote well
    Someone knows how to proceed? Thanks
    Last edited by onny (2013-01-03 05:43:49)

    Solved. It didn't recognized the workingdir correctly ...

  • Getting sasc-ng to work properly with systemd service files [SOLVED]

    This thread is intended for getting the following AUR packages to work with each other with systemd service scripts:
    https://aur.archlinux.org/packages/open-sasc-ng-dkms/
    https://aur.archlinux.org/packages/open-sasc-ng/
    https://aur.archlinux.org/packages/oscam-svn/   (this is a related package as it must properly execute prior to sasc-ng)
    So my server is now on a fresh Arch install with systemd. All is well (& very fast) except I cannot get sasc-ng to function with systemd service init files. Prior to systemd the system worked fine with the rc initscripts & was very stable with the following setup:
    rc.local
    /etc/rc.d/oscam start
    sleep 15
    /etc/rc.d/sasc-ng start
    sleep 4
    /etc/rc.d/mythbackend start
    /etc/conf.d/sasc-ng.conf
    SASCNG_ARGS="-j 0:3 -j 1:4 -j 2:5" -b 16M --sid-allpid --sid-nocache --cam-budget"
    DVBLOOPBACK_ARGS="num_adapters=3"
    LOGDIR="/home/mythtv/logs/"
    CAMDIR="/etc/camdir"
    /etc/camdir/cardclient.conf
    camd35:localhost:15050:1/0000/0000:mythtv:mythtv
    I'll leave out the oscam stuff as that loads fine and doesn't appear to be a part of the problem
    I've tried this with the systemd service file that comes with the open-sasc-ng-dkms package and when it was not sucessful I tried a bunch of variants including using "Type=simple" ect. "Type=Forked" seems to be only option that actually tries to start the processes. I also "hardcoded" the service files for the 2 sasc-ng components to find a few issues with the EnvironmentFile variables. The log variable has been removed for now as this seems to cause a fatal error but the rest of the variables load fine now. I also tested spliting up the DVB loopback module from the sasc-ng binary but this also gives similar results as the following script stands now. Running them manually with systemctl start commands doesn't make a difference but that is not surprising. The service file I'm fiddling with now which I feel has the best potential become working is:
    sasc-ng.service
    [Unit]
    Description=Sasc-ng
    After=oscam.service
    [Service]
    Type=forking
    EnvironmentFile=/etc/conf.d/sasc-ng
    ExecStartPre=/sbin/modprobe dvbloopback $DVBLOOPBACK_ARGS
    TimeoutSec=2
    ExecStart=/usr/sbin/sasc-ng -D $SASCNG_ARGS --cam-dir=$CAMDIR
    TimeoutSec=4
    [Install]
    WantedBy=multi-user.target
    Mythbackend always runs fine (even without DTV via sasc-ng) with the following mythbackend.service:
    [Unit]
    Description=MythTV_backend
    After=sasc-ng.service
    [Service]
    Type=simple
    Environment=MYTHCONFDIR=/etc/conf.d/mythbackend
    Environment=HOME=/usr/share/mythtv
    User=mythtv
    ExecStart=/usr/bin/mythbackend --logpath /var/log/mythtv
    [Install]
    WantedBy=multi-user.target
    oscam.service taken mostly from AUR package also seems fine. I added the TimeoutSec=15 to give time for oscam to load the SC and client protocol before moving on or else sasc-ng fails
    Unit]
    Description=An Open Source Conditional Access Module software
    After=network.target
    [Service]
    Type=forking
    EnvironmentFile=/etc/conf.d/oscam
    ExecStart=/usr/bin/oscam $OSCAM_ARGS
    TimeoutSec=15
    [Install]
    WantedBy=multi-user.target
    Below is the output of the systemctl status commands. Despite the noise in the sasc-ng binary status, it is the loopback module that is " inactive (dead)" and there are no virtual DVB devices being created:
    [mythtv@server ~]$ sudo systemctl status oscam.service
    oscam.service - An Open Source Conditional Access Module software
    Loaded: loaded (/usr/lib/systemd/system/oscam.service; enabled)
    Active: active (running) since Tue, 2012-11-27 21:10:17 CET; 1min 7s ago
    Process: 338 ExecStart=/usr/bin/oscam $OSCAM_ARGS (code=exited, status=0/SUCCESS)
    Main PID: 377 (oscam)
    CGroup: name=systemd:/system/oscam.service
    ├ 377 /usr/bin/oscam -b -c /etc/oscam
    └ 378 /usr/bin/oscam -b -c /etc/oscam
    Nov 27 21:10:17 server systemd[1]: Started An Open Source Conditional Acces...e.
    [mythtv@server ~]$ sudo systemctl status loopback.service
    loopback.service - Sasc-ng DVB Loopback Module
    Loaded: loaded (/etc/systemd/system/loopback.service; enabled)
    Active: inactive (dead) since Tue, 2012-11-27 21:10:28 CET; 1min 27s ago
    Process: 907 ExecStart=/sbin/modprobe dvbloopback num_adapters=3 (code=exited, status=0/SUCCESS)
    CGroup: name=systemd:/system/loopback.service
    Nov 27 21:10:28 server systemd[1]: Started Sasc-ng DVB Loopback Module.
    [mythtv@server ~]$ sudo systemctl status sasc-ng.service
    sasc-ng.service - Sasc-ng
    Loaded: loaded (/etc/systemd/system/sasc-ng.service; enabled)
    Active: failed (Result: exit-code) since Tue, 2012-11-27 21:10:47 CET; 1min 45s ago
    Process: 913 ExecStart=/usr/sbin/sasc-ng -D -j 0:3 -j 1:4 -j 2:5" -b 16M --sid-allpid --sid-nocache --cam-budget --cam-dir=/etc/camdir -l /home/mythtv/logs/sasc-ng.log (code=exited, status=0/SUCCESS)
    Main PID: 921 (code=exited, status=255)
    CGroup: name=systemd:/system/sasc-ng.service
    Nov 27 21:10:39 server sasc-ng[921]: [921] [general.error] failed open /etc...ry
    Nov 27 21:10:40 server sasc-ng[921]: [921] [general.error] failed open /etc...ry
    Nov 27 21:10:40 server sasc-ng[921]: [921] [general.error] failed open /etc...ry
    Nov 27 21:10:40 server sasc-ng[921]: [921] [general.info] loading cardclien...nf
    Nov 27 21:10:42 server sasc-ng[921]: [1062] Netwatcher thread started (pid=...6)
    Nov 27 21:10:42 server sasc-ng[921]: [921] [general.error] no keys loaded f...m!
    Nov 27 21:10:46 server sasc-ng[921]: [1098] SC housekeeper thread started (...2)
    Nov 27 21:10:47 server sasc-ng[921]: [1062] Netwatcher thread ended (pid=92...6)
    Nov 27 21:10:47 server systemd[1]: sasc-ng.service: main process exited, co.../a
    Nov 27 21:10:47 server systemd[1]: Unit sasc-ng.service entered failed state
    [mythtv@server ~]$ sudo systemctl status sasc-ng.service
    sasc-ng.service - Sasc-ng
    Loaded: loaded (/etc/systemd/system/sasc-ng.service; enabled)
    Active: failed (Result: exit-code) since Tue, 2012-11-27 21:10:47 CET; 2min 9s ago
    Process: 913 ExecStart=/usr/sbin/sasc-ng -D -j 0:3 -j 1:4 -j 2:5" -b 16M --sid-allpid --sid-nocache --cam-budget --cam-dir=/etc/camdir -l /home/mythtv/logs/sasc-ng.log (code=exited, status=0/SUCCESS)
    Main PID: 921 (code=exited, status=255)
    CGroup: name=systemd:/system/sasc-ng.service
    Nov 27 21:10:39 server sasc-ng[921]: [921] [general.error] failed open /etc/camdir/smartcard.conf: No such file or directory
    Nov 27 21:10:40 server sasc-ng[921]: [921] [general.error] failed open /etc/camdir/cardslot.conf: No such file or directory
    Nov 27 21:10:40 server sasc-ng[921]: [921] [general.error] failed open /etc/camdir/SoftCam.Key: No such file or directory
    Nov 27 21:10:40 server sasc-ng[921]: [921] [general.info] loading cardclient config from /etc/camdir/cardclient.conf
    Nov 27 21:10:42 server sasc-ng[921]: [1062] Netwatcher thread started (pid=921, tid=140074379712256)
    Nov 27 21:10:42 server sasc-ng[921]: [921] [general.error] no keys loaded for softcam!
    Nov 27 21:10:46 server sasc-ng[921]: [1098] SC housekeeper thread started (pid=921, tid=140074371319552)
    Nov 27 21:10:47 server sasc-ng[921]: [1062] Netwatcher thread ended (pid=921, tid=140074379712256)
    Nov 27 21:10:47 server systemd[1]: sasc-ng.service: main process exited, code=exited, status=255/n/a
    Nov 27 21:10:47 server systemd[1]: Unit sasc-ng.service entered failed state
    [mythtv@server ~]$
    Any ideas?
    Last edited by wdirksen (2012-12-10 19:54:43)

    After some head scratching it seems to be all good now. Considering there have been no replies to this I've come to wonder if I might be the only one with this issue. I could get it working somewhat using service files but never ideal, ex. sasc-ng only using a few of the entitlements from oscam because it started too quick etc. Anyway this might help a few and I'm hoping the linux savvy who find what I'm writing here painfully newbie like or flawed will reply and educate me a bit if what's provided here needs some sharpening up:
    1) Systemd was confusing the sasc-ng binary shorthand arguments with Linux init arguments and a few were misinterpreted if they were not nested into the environment specifiers. So the -l (log) was causing problems and -b (buffer) wasn't loading. To be safe I'm using only the sasc-ng longhand specifiers from now on (two "--" and more verbose) so that they can never be confused even if safely nested in an environment parameter. That means that /etc/conf.d/sasc-ng will also need to be changed to reflect this. I also decided to simplify the LOGFILE parameter to include the whole argument syntax.
    2) Oscam.service needs to be initiated with oneshot and RemainAfterExit=yes to make sure the delay (15 seconds in my config) gets counted out before sasc-ng initiates.
    [EDIT 12/12/2012: Initially I had a second TimeoutSec=2 after ExecStart in sasc-ng.service but this had no function. Turns out that it almost always does work without this delay but not always with my setup. Adding TimeoutSec=2 to mythbackend.service prior to ExecStart command does function and makes things init more consistant]
    sasc-ng.service
    [Unit]
    Description=Sasc-ng
    After=oscam.service
    [Service]
    Type=simple
    EnvironmentFile=/etc/conf.d/sasc-ng
    ExecStartPre=/sbin/modprobe dvbloopback $DVBLOOPBACK_ARGS
    TimeoutSec=2
    ExecStart=/usr/sbin/sasc-ng $SASCNG_ARGS --cam-dir $CAMDIR --log $LOGFILE
    [Install]
    WantedBy=multi-user.target
    /etc/conf.d/sasc-ng
    SASCNG_ARGS="--join 0:3 --join 1:4 --join 2:5 --buffer 16M --sid-allpid --sid-nocache --cam-budget"
    DVBLOOPBACK_ARGS="num_adapters=3"
    LOGFILE="/home/mythtv/logs/sasc-ng.log"
    CAMDIR="/etc/camdir"
    oscam.service
    [Unit]
    Description=An Open Source Conditional Access Module software
    After=network.target
    [Service]
    Type=oneshot
    EnvironmentFile=/etc/conf.d/oscam
    ExecStart=/usr/bin/oscam $OSCAM_ARGS
    TimeoutSec=15
    RemainAfterExit=yes
    [Install]
    WantedBy=multi-user.target
    mythbackend.service
    [Unit]
    Description=MythTV_backend
    After=sasc-ng.service
    [Service]
    Type=simple
    TimeoutSec=2
    Environment=MYTHCONFDIR=/etc/conf.d/mythbackend
    Environment=HOME=/usr/share/mythtv
    User=mythtv
    ExecStart=/usr/bin/mythbackend --logpath /var/log/mythtv
    [Install]
    WantedBy=multi-user.target
    I will make the related changes to the open-sasc-ng AUR package which I currently maintain
    Last edited by wdirksen (2012-12-23 14:40:43)

  • CS 6 CAN'T LOCATE INSTALLER TO SOLVE MISSING FILE PROBLEM

    when ever I open my photoshop  get a message missing files open installer. can not locate installer?

    Hello, mdougl10.
    Here is the article that shows you how to remove iTunes and all of it's components when receiving the error "The feature you are trying to use is on a network resource that is unavailable".  Once all components are uninstalled as outlined in the second article, you should be able to install iTunes again. 
    "The feature you are trying to use is on a network resource that is unavailable" alert when removing Apple software in Windows
    http://support.apple.com/kb/TS3704
    Removing and Reinstalling iTunes, QuickTime, and other software components for Windows XP
    http://support.apple.com/kb/HT1925
    Cheers,
    Jason H. 

  • [SOLVED] Systemd service files: sourcing other service files?

    Is there a way to "source" one systemd service file from another, so that the service inherits all settings from the other file? The purpose would be to override or append select fields as a quasi-patch of the other file, e.g.
    <source foo.service>
    [section]
    key=new_value
    I was sure that I had seen this somewhere, but I can't find it. Did I make this up, or is my search-fu simply weak?

    I don't know that it is actually documented at this point in time.  At least I haven't seen any.  The only reason I know about it is beacuse I subscribe to [systemd-devel].  But it was briefly touched on in the announcement when it was first introduced. 
    I know that the .include method is documented very briefly in one of the man pages, but it doesn't really go into depth about how to use it.  I do seem to recall a nice write up about it on Lennart's blog though.  But it seems as though the intent of the systemd.unit.d (what they are calling "drop-in" modifications/replacements) is intended to replace the .include way.  Though I am basing that statement off of the general attitude toward each on the mailing list, and I have seen no official word on this.
    The nice thing about using .include is that you can use systemd-delta to see the changes made using that method.  And while the systemd.unit.d changes are noted in that output, it is nothing more than simply indicating that there has been modification.  The .include stuff actually has a full "diff -u" style output.

  • [SOLVED] systemd .service file for ruby rainbows server

    I am trying to create a systemd .service file for a ruby rainbows server.
    http://rainbows.rubyforge.org/
    does anybody have experience with a forking deamon under systemd?
    Mine immediatley terminates after starting.
    Last edited by wabi (2013-01-03 11:11:02)

    This is a .service file that will work:
    [Unit]
    Description=Redmine Rainbows Rails server
    [Service]
    Type=forking
    SyslogIdentifier=redmine
    User=http
    PIDFile=/var/www/redmine/tmp/pids/rainbows.pid
    WorkingDirectory=/var/www/redmine
    ExecStart=/usr/bin/bundle exec rainbows --host 127.0.0.1 --port 8001 --env production --daemonize --config-file /var/www/redmine/config/rainbows.rb
    ExecReload=/bin/kill -HUP $MAINPID
    ExecStop=/bin/kill -QUIT $MAINPID
    [Install]
    WantedBy=multi-user.target
    Last edited by wabi (2013-01-03 11:11:38)

  • [solved] How does Pacman handle config files?

    Hi,
    I've read that Pacman handles config files by comparing their hashes in 3 different statuses.
    (which are in current status, new status, and original status)
    The current config file's hash is easily obtained, and so does the new ones'.
    But how does Pacman get the original one's hash?
    Can someone tell me, please?
    Thank you, and happy new year,
    bsdson
    Last edited by bsdson.tw (2008-12-26 07:37:41)

    It is stored in the pacman database.  e.g. look at /var/lib/pacman/local/pacman-3.2.1-2/files

  • Spotlight Indexing, Systemstats, Missing File, All After Mavericks Upgrade

    Dear Mac Support Communities,
    The upgrade to OS X 10.9.4 has crippled my computer.
    My main question is: should I reformat, or should I wait for a patch to come out to solve whatever is wrong with Mavericks? I explain below.
    Spotlight is constantly indexing. The mdworker is all over the place on the Activity Monitor—4% and then it explodes to 85% of CPU usage. Systemstats kicks in randomly (connected to spotlight perhaps?) and eats up 90% of my CPU and 3gigs of RAM. Time Machine takes AGES to backup.
    I have not been able to stop Spotlight's endless indexing. I have moved my hard drive and my Time Machine backup into the 'private' filter in 'Spotlight Preferences.' I have also tried the "sudo mdutil -a -i off" trick to stop indexing altogether. But Spotlight Indexing goes "off" and then automatically turns "on" in Terminal. Spotlight carries on, and the computer performance is choppy.
    I've run disk repair. First, I repaired permissions. Then I verified and attempted to repair the the hard drive. There is a missing file apparently, and I therefore must reformat. This is very first issue I've ever had with the hard drive since I bought the computer. Considering how awful Mavericks has been—I have been reading other Support Communities posts—I'm nervous about something going wrong, or that all these problems will persist after the reformat.
    All of this has occurred three days after my upgrade to to OS X 10.9.4. I have heard of numerous people having problems with Mavericks. All similar problems concerning missing files, haywire spotlight, systemstats devouring any remaining CPU power and memory space, and slow Time Machine back-ups.
    Anyone with the same problems? Care to theorize some solutions?
    I have a late 2008, 15inch MacBook Pro., 2.53 GHz Intel Core 2 Duo, 8 GB 1067 MHz DDR3, running OS X 10.9.4 (13E28).
    Cheers! I appreciate the help.

    Older Macs have more troubles under Mavericks. Considering the age of your Mac, it's not uncommon to start have hardware issues like drive failure.
    To repair the drive you must boot from the Recovery Drive.
    Boot into the Recovery Drive by holding down Command R when restarting.
    Run Repair Drive and Repair Permissions using Disk Utility in Recovery.***
    Next Reset Home Directory Permissions and ACLs following directions here This will serve two purposes. It will reset YOUR permissions. Not the same as Disk Utility reset permissions and it will cause Spotlight to re-index your drive when restarting.
    Restart
    Download and run the combo updater to refresh your OS X files.
    OS X Mavericks 10.9.4 Update (Combo)
    http://support.apple.com/kb/DL1755
    MORE INFO ON WHY RUNNING COMBO FIXES ISSUES
    Apple updates available from the Software Update application are incremental updates. Delta updates are also incremental updates and are available from Apple Downloads (software updates are generally smaller than delta updates). The Combo updates contain all incremental updates and will update files that could have become corrupted.
    Combo updaters will install on the same version as they're applying--no need to roll back or do a clean install.
    "Delta" updaters can only take you from one version to the next. For example: 10.9.3 to 10.9.4. If somehow the 10.9.3 is missing something it should have, and that something isn't changed between 10.9.3 and 10.9.4 it will still be stale after the delta update.
    ***If Disk Utility is unable to repair you will have to copy your data to an external drive first. Reformatting will erase the drive. You should have a backup regardless, if your data is important to you. Just like a seat belt and an air bag protect you in different ways when driving, you need both Time Machine and a clone for full protection. If you don't have an external drive for backup, I can give you some suggestions to get you started.
    Both of these applications can be used to create a clone.
    SuperDuper! http://www.shirt-pocket.com/
    CCC http://www.bombich.com/download.html

Maybe you are looking for